vellum-ai 1.1.2__py3-none-any.whl → 1.1.4__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.
Files changed (693) hide show
  1. vellum/__init__.py +18 -0
  2. vellum/client/README.md +77 -0
  3. vellum/client/__init__.py +149 -600
  4. vellum/client/core/__init__.py +2 -0
  5. vellum/client/core/api_error.py +13 -5
  6. vellum/client/core/client_wrapper.py +16 -4
  7. vellum/client/core/force_multipart.py +16 -0
  8. vellum/client/core/http_client.py +70 -24
  9. vellum/client/core/http_response.py +19 -11
  10. vellum/client/core/pydantic_utilities.py +71 -114
  11. vellum/client/core/serialization.py +6 -1
  12. vellum/client/errors/__init__.py +2 -0
  13. vellum/client/errors/bad_request_error.py +4 -3
  14. vellum/client/errors/forbidden_error.py +4 -3
  15. vellum/client/errors/internal_server_error.py +4 -3
  16. vellum/client/errors/not_found_error.py +4 -3
  17. vellum/client/raw_client.py +1041 -128
  18. vellum/client/reference.md +692 -19
  19. vellum/client/resources/__init__.py +2 -0
  20. vellum/client/resources/ad_hoc/__init__.py +2 -0
  21. vellum/client/resources/ad_hoc/client.py +37 -195
  22. vellum/client/resources/ad_hoc/raw_client.py +322 -31
  23. vellum/client/resources/container_images/__init__.py +2 -0
  24. vellum/client/resources/container_images/client.py +26 -49
  25. vellum/client/resources/container_images/raw_client.py +23 -24
  26. vellum/client/resources/deployments/__init__.py +2 -0
  27. vellum/client/resources/deployments/client.py +55 -102
  28. vellum/client/resources/deployments/raw_client.py +73 -66
  29. vellum/client/resources/deployments/types/__init__.py +2 -0
  30. vellum/client/resources/document_indexes/__init__.py +2 -0
  31. vellum/client/resources/document_indexes/client.py +43 -100
  32. vellum/client/resources/document_indexes/raw_client.py +42 -43
  33. vellum/client/resources/document_indexes/types/__init__.py +2 -0
  34. vellum/client/resources/documents/__init__.py +2 -0
  35. vellum/client/resources/documents/client.py +29 -52
  36. vellum/client/resources/documents/raw_client.py +51 -44
  37. vellum/client/resources/folder_entities/__init__.py +2 -0
  38. vellum/client/resources/folder_entities/client.py +16 -21
  39. vellum/client/resources/folder_entities/raw_client.py +15 -16
  40. vellum/client/resources/folder_entities/types/__init__.py +2 -0
  41. vellum/client/resources/metric_definitions/__init__.py +2 -0
  42. vellum/client/resources/metric_definitions/client.py +16 -27
  43. vellum/client/resources/metric_definitions/raw_client.py +17 -18
  44. vellum/client/resources/ml_models/__init__.py +2 -0
  45. vellum/client/resources/ml_models/client.py +7 -14
  46. vellum/client/resources/ml_models/raw_client.py +11 -12
  47. vellum/client/resources/organizations/__init__.py +2 -0
  48. vellum/client/resources/organizations/client.py +7 -12
  49. vellum/client/resources/organizations/raw_client.py +10 -11
  50. vellum/client/resources/prompts/__init__.py +2 -0
  51. vellum/client/resources/prompts/client.py +12 -19
  52. vellum/client/resources/prompts/raw_client.py +40 -33
  53. vellum/client/resources/sandboxes/__init__.py +2 -0
  54. vellum/client/resources/sandboxes/client.py +17 -34
  55. vellum/client/resources/sandboxes/raw_client.py +20 -21
  56. vellum/client/resources/test_suite_runs/__init__.py +2 -0
  57. vellum/client/resources/test_suite_runs/client.py +19 -34
  58. vellum/client/resources/test_suite_runs/raw_client.py +20 -21
  59. vellum/client/resources/test_suites/__init__.py +2 -0
  60. vellum/client/resources/test_suites/client.py +26 -100
  61. vellum/client/resources/test_suites/raw_client.py +172 -21
  62. vellum/client/resources/workflow_deployments/__init__.py +2 -0
  63. vellum/client/resources/workflow_deployments/client.py +61 -120
  64. vellum/client/resources/workflow_deployments/raw_client.py +48 -49
  65. vellum/client/resources/workflow_deployments/types/__init__.py +2 -0
  66. vellum/client/resources/workflow_executions/__init__.py +2 -0
  67. vellum/client/resources/workflow_executions/client.py +8 -13
  68. vellum/client/resources/workflow_executions/raw_client.py +11 -12
  69. vellum/client/resources/workflow_sandboxes/__init__.py +2 -0
  70. vellum/client/resources/workflow_sandboxes/client.py +14 -23
  71. vellum/client/resources/workflow_sandboxes/raw_client.py +16 -17
  72. vellum/client/resources/workflow_sandboxes/types/__init__.py +2 -0
  73. vellum/client/resources/workflows/__init__.py +2 -0
  74. vellum/client/resources/workflows/client.py +16 -16
  75. vellum/client/resources/workflows/raw_client.py +75 -57
  76. vellum/client/resources/workspace_secrets/__init__.py +2 -0
  77. vellum/client/resources/workspace_secrets/client.py +11 -28
  78. vellum/client/resources/workspace_secrets/raw_client.py +15 -16
  79. vellum/client/resources/workspaces/__init__.py +2 -0
  80. vellum/client/resources/workspaces/client.py +7 -12
  81. vellum/client/resources/workspaces/raw_client.py +10 -11
  82. vellum/client/types/__init__.py +18 -0
  83. vellum/client/types/ad_hoc_execute_prompt_event.py +3 -2
  84. vellum/client/types/ad_hoc_expand_meta.py +2 -2
  85. vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py +3 -3
  86. vellum/client/types/ad_hoc_initiated_prompt_execution_meta.py +2 -2
  87. vellum/client/types/ad_hoc_rejected_prompt_execution_meta.py +3 -3
  88. vellum/client/types/ad_hoc_streaming_prompt_execution_meta.py +2 -2
  89. vellum/client/types/api_node_result.py +3 -3
  90. vellum/client/types/api_node_result_data.py +4 -4
  91. vellum/client/types/api_request_parent_context.py +11 -11
  92. vellum/client/types/array_chat_message_content.py +3 -3
  93. vellum/client/types/array_chat_message_content_item.py +7 -4
  94. vellum/client/types/array_chat_message_content_item_request.py +7 -4
  95. vellum/client/types/array_chat_message_content_request.py +3 -3
  96. vellum/client/types/array_input.py +12 -6
  97. vellum/client/types/array_vellum_value.py +4 -4
  98. vellum/client/types/array_vellum_value_request.py +4 -4
  99. vellum/client/types/audio_chat_message_content.py +3 -3
  100. vellum/client/types/audio_chat_message_content_request.py +3 -3
  101. vellum/client/types/audio_prompt_block.py +4 -4
  102. vellum/client/types/audio_vellum_value.py +3 -3
  103. vellum/client/types/audio_vellum_value_request.py +3 -3
  104. vellum/client/types/base_output.py +2 -2
  105. vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large.py +2 -2
  106. vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py +2 -2
  107. vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py +2 -2
  108. vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py +2 -2
  109. vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py +2 -2
  110. vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py +2 -2
  111. vellum/client/types/chat_history_input.py +3 -3
  112. vellum/client/types/chat_history_input_request.py +3 -3
  113. vellum/client/types/chat_history_vellum_value.py +3 -3
  114. vellum/client/types/chat_history_vellum_value_request.py +3 -3
  115. vellum/client/types/chat_message.py +4 -4
  116. vellum/client/types/chat_message_content.py +7 -4
  117. vellum/client/types/chat_message_content_request.py +7 -4
  118. vellum/client/types/chat_message_prompt_block.py +7 -7
  119. vellum/client/types/chat_message_request.py +4 -4
  120. vellum/client/types/code_execution_node_array_result.py +11 -5
  121. vellum/client/types/code_execution_node_chat_history_result.py +3 -3
  122. vellum/client/types/code_execution_node_error_result.py +3 -3
  123. vellum/client/types/code_execution_node_function_call_result.py +3 -3
  124. vellum/client/types/code_execution_node_json_result.py +2 -2
  125. vellum/client/types/code_execution_node_number_result.py +2 -2
  126. vellum/client/types/code_execution_node_result.py +10 -4
  127. vellum/client/types/code_execution_node_result_data.py +10 -4
  128. vellum/client/types/code_execution_node_result_output.py +6 -5
  129. vellum/client/types/code_execution_node_search_results_result.py +3 -3
  130. vellum/client/types/code_execution_node_string_result.py +2 -2
  131. vellum/client/types/code_execution_package.py +2 -2
  132. vellum/client/types/code_executor_input.py +7 -6
  133. vellum/client/types/code_executor_response.py +11 -5
  134. vellum/client/types/code_executor_secret_input.py +3 -3
  135. vellum/client/types/code_resource_definition.py +3 -3
  136. vellum/client/types/compile_prompt_deployment_expand_meta_request.py +2 -2
  137. vellum/client/types/compile_prompt_meta.py +2 -2
  138. vellum/client/types/conditional_node_result.py +3 -3
  139. vellum/client/types/conditional_node_result_data.py +2 -2
  140. vellum/client/types/container_image_build_config.py +3 -3
  141. vellum/client/types/container_image_container_image_tag.py +2 -2
  142. vellum/client/types/container_image_read.py +5 -5
  143. vellum/client/types/create_test_suite_test_case_request.py +9 -3
  144. vellum/client/types/deployment_history_item.py +10 -4
  145. vellum/client/types/deployment_provider_payload_response.py +4 -4
  146. vellum/client/types/deployment_read.py +10 -4
  147. vellum/client/types/deployment_release_tag_deployment_history_item.py +2 -2
  148. vellum/client/types/deployment_release_tag_read.py +4 -4
  149. vellum/client/types/docker_service_token.py +2 -2
  150. vellum/client/types/document_chat_message_content.py +3 -3
  151. vellum/client/types/document_chat_message_content_request.py +3 -3
  152. vellum/client/types/document_document_to_document_index.py +3 -3
  153. vellum/client/types/document_index_chunking.py +1 -0
  154. vellum/client/types/document_index_chunking_request.py +1 -0
  155. vellum/client/types/document_index_indexing_config.py +4 -4
  156. vellum/client/types/document_index_indexing_config_request.py +4 -4
  157. vellum/client/types/document_index_read.py +4 -4
  158. vellum/client/types/document_prompt_block.py +4 -4
  159. vellum/client/types/document_read.py +4 -4
  160. vellum/client/types/document_vellum_value.py +3 -3
  161. vellum/client/types/document_vellum_value_request.py +3 -3
  162. vellum/client/types/enriched_normalized_completion.py +3 -3
  163. vellum/client/types/ephemeral_prompt_cache_config.py +3 -3
  164. vellum/client/types/error_input.py +3 -3
  165. vellum/client/types/error_vellum_value.py +3 -3
  166. vellum/client/types/error_vellum_value_request.py +3 -3
  167. vellum/client/types/execute_api_request_bearer_token.py +1 -0
  168. vellum/client/types/execute_api_request_headers_value.py +1 -0
  169. vellum/client/types/execute_api_response.py +5 -5
  170. vellum/client/types/execute_prompt_event.py +3 -2
  171. vellum/client/types/execute_prompt_response.py +1 -0
  172. vellum/client/types/execute_workflow_response.py +10 -4
  173. vellum/client/types/execute_workflow_workflow_result_event.py +1 -0
  174. vellum/client/types/execution_array_vellum_value.py +12 -6
  175. vellum/client/types/execution_chat_history_vellum_value.py +3 -3
  176. vellum/client/types/execution_error_vellum_value.py +3 -3
  177. vellum/client/types/execution_function_call_vellum_value.py +3 -3
  178. vellum/client/types/execution_json_vellum_value.py +3 -3
  179. vellum/client/types/execution_number_vellum_value.py +3 -3
  180. vellum/client/types/execution_search_results_vellum_value.py +3 -3
  181. vellum/client/types/execution_string_vellum_value.py +3 -3
  182. vellum/client/types/execution_thinking_vellum_value.py +3 -3
  183. vellum/client/types/execution_vellum_value.py +6 -5
  184. vellum/client/types/external_input_descriptor.py +3 -3
  185. vellum/client/types/external_parent_context.py +11 -11
  186. vellum/client/types/external_test_case_execution.py +10 -4
  187. vellum/client/types/external_test_case_execution_request.py +10 -4
  188. vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py +2 -2
  189. vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py +2 -2
  190. vellum/client/types/folder_entity.py +4 -3
  191. vellum/client/types/folder_entity_dataset.py +3 -3
  192. vellum/client/types/folder_entity_dataset_data.py +3 -3
  193. vellum/client/types/folder_entity_document_index.py +3 -3
  194. vellum/client/types/folder_entity_document_index_data.py +4 -4
  195. vellum/client/types/folder_entity_folder.py +3 -3
  196. vellum/client/types/folder_entity_folder_data.py +2 -2
  197. vellum/client/types/folder_entity_prompt_sandbox.py +3 -3
  198. vellum/client/types/folder_entity_prompt_sandbox_data.py +3 -3
  199. vellum/client/types/folder_entity_test_suite.py +3 -3
  200. vellum/client/types/folder_entity_test_suite_data.py +3 -3
  201. vellum/client/types/folder_entity_workflow_sandbox.py +3 -3
  202. vellum/client/types/folder_entity_workflow_sandbox_data.py +3 -3
  203. vellum/client/types/fulfilled_ad_hoc_execute_prompt_event.py +4 -4
  204. vellum/client/types/fulfilled_execute_prompt_event.py +4 -4
  205. vellum/client/types/fulfilled_execute_prompt_response.py +3 -3
  206. vellum/client/types/fulfilled_execute_workflow_workflow_result_event.py +11 -5
  207. vellum/client/types/fulfilled_prompt_execution_meta.py +3 -3
  208. vellum/client/types/fulfilled_workflow_node_result_event.py +12 -6
  209. vellum/client/types/function_call.py +2 -2
  210. vellum/client/types/function_call_chat_message_content.py +3 -3
  211. vellum/client/types/function_call_chat_message_content_request.py +3 -3
  212. vellum/client/types/function_call_chat_message_content_value.py +2 -2
  213. vellum/client/types/function_call_chat_message_content_value_request.py +2 -2
  214. vellum/client/types/function_call_input.py +3 -3
  215. vellum/client/types/function_call_prompt_block.py +4 -4
  216. vellum/client/types/function_call_request.py +2 -2
  217. vellum/client/types/function_call_vellum_value.py +3 -3
  218. vellum/client/types/function_call_vellum_value_request.py +3 -3
  219. vellum/client/types/function_definition.py +4 -4
  220. vellum/client/types/generate_options_request.py +3 -3
  221. vellum/client/types/generate_request.py +2 -2
  222. vellum/client/types/generate_response.py +3 -3
  223. vellum/client/types/generate_result.py +3 -3
  224. vellum/client/types/generate_result_data.py +3 -3
  225. vellum/client/types/generate_result_error.py +3 -3
  226. vellum/client/types/generate_stream_response.py +3 -3
  227. vellum/client/types/generate_stream_result.py +4 -4
  228. vellum/client/types/generate_stream_result_data.py +3 -3
  229. vellum/client/types/google_vertex_ai_vectorizer_config.py +2 -2
  230. vellum/client/types/google_vertex_ai_vectorizer_config_request.py +2 -2
  231. vellum/client/types/google_vertex_ai_vectorizer_gemini_embedding_001.py +3 -3
  232. vellum/client/types/google_vertex_ai_vectorizer_gemini_embedding_001_request.py +3 -3
  233. vellum/client/types/google_vertex_ai_vectorizer_text_embedding_004.py +3 -3
  234. vellum/client/types/google_vertex_ai_vectorizer_text_embedding_004_request.py +3 -3
  235. vellum/client/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002.py +3 -3
  236. vellum/client/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002_request.py +3 -3
  237. vellum/client/types/hkunlp_instructor_xl_vectorizer.py +3 -3
  238. vellum/client/types/hkunlp_instructor_xl_vectorizer_request.py +3 -3
  239. vellum/client/types/image_chat_message_content.py +3 -3
  240. vellum/client/types/image_chat_message_content_request.py +3 -3
  241. vellum/client/types/image_prompt_block.py +4 -4
  242. vellum/client/types/image_vellum_value.py +3 -3
  243. vellum/client/types/image_vellum_value_request.py +3 -3
  244. vellum/client/types/indexing_config_vectorizer.py +7 -6
  245. vellum/client/types/indexing_config_vectorizer_request.py +7 -6
  246. vellum/client/types/initiated_ad_hoc_execute_prompt_event.py +3 -3
  247. vellum/client/types/initiated_execute_prompt_event.py +3 -3
  248. vellum/client/types/initiated_prompt_execution_meta.py +2 -2
  249. vellum/client/types/initiated_workflow_node_result_event.py +12 -6
  250. vellum/client/types/instructor_vectorizer_config.py +2 -2
  251. vellum/client/types/instructor_vectorizer_config_request.py +2 -2
  252. vellum/client/types/invoked_port.py +2 -2
  253. vellum/client/types/jinja_prompt_block.py +4 -4
  254. vellum/client/types/json_input.py +3 -3
  255. vellum/client/types/json_input_request.py +3 -3
  256. vellum/client/types/json_vellum_value.py +2 -2
  257. vellum/client/types/json_vellum_value_request.py +2 -2
  258. vellum/client/types/map_node_result.py +3 -3
  259. vellum/client/types/map_node_result_data.py +3 -3
  260. vellum/client/types/merge_node_result.py +3 -3
  261. vellum/client/types/merge_node_result_data.py +2 -2
  262. vellum/client/types/metadata_filter_config_request.py +12 -6
  263. vellum/client/types/metadata_filter_rule_request.py +5 -5
  264. vellum/client/types/metadata_filters_request.py +1 -0
  265. vellum/client/types/metric_definition_execution.py +10 -4
  266. vellum/client/types/metric_definition_history_item.py +10 -4
  267. vellum/client/types/metric_definition_input.py +3 -2
  268. vellum/client/types/metric_node_result.py +2 -2
  269. vellum/client/types/ml_model_read.py +6 -3
  270. vellum/client/types/ml_model_usage.py +2 -2
  271. vellum/client/types/ml_model_usage_wrapper.py +3 -3
  272. vellum/client/types/named_scenario_input_chat_history_variable_value_request.py +3 -3
  273. vellum/client/types/named_scenario_input_json_variable_value_request.py +2 -2
  274. vellum/client/types/named_scenario_input_request.py +3 -2
  275. vellum/client/types/named_scenario_input_string_variable_value_request.py +2 -2
  276. vellum/client/types/named_test_case_array_variable_value.py +11 -5
  277. vellum/client/types/named_test_case_array_variable_value_request.py +11 -5
  278. vellum/client/types/named_test_case_chat_history_variable_value.py +3 -3
  279. vellum/client/types/named_test_case_chat_history_variable_value_request.py +3 -3
  280. vellum/client/types/named_test_case_error_variable_value.py +3 -3
  281. vellum/client/types/named_test_case_error_variable_value_request.py +3 -3
  282. vellum/client/types/named_test_case_function_call_variable_value.py +3 -3
  283. vellum/client/types/named_test_case_function_call_variable_value_request.py +3 -3
  284. vellum/client/types/named_test_case_json_variable_value.py +2 -2
  285. vellum/client/types/named_test_case_json_variable_value_request.py +2 -2
  286. vellum/client/types/named_test_case_number_variable_value.py +2 -2
  287. vellum/client/types/named_test_case_number_variable_value_request.py +2 -2
  288. vellum/client/types/named_test_case_search_results_variable_value.py +3 -3
  289. vellum/client/types/named_test_case_search_results_variable_value_request.py +3 -3
  290. vellum/client/types/named_test_case_string_variable_value.py +2 -2
  291. vellum/client/types/named_test_case_string_variable_value_request.py +2 -2
  292. vellum/client/types/named_test_case_variable_value.py +6 -5
  293. vellum/client/types/named_test_case_variable_value_request.py +6 -5
  294. vellum/client/types/node_execution_fulfilled_body.py +4 -4
  295. vellum/client/types/node_execution_fulfilled_event.py +22 -16
  296. vellum/client/types/node_execution_initiated_body.py +3 -3
  297. vellum/client/types/node_execution_initiated_event.py +22 -16
  298. vellum/client/types/node_execution_paused_body.py +3 -3
  299. vellum/client/types/node_execution_paused_event.py +22 -16
  300. vellum/client/types/node_execution_rejected_body.py +4 -4
  301. vellum/client/types/node_execution_rejected_event.py +22 -16
  302. vellum/client/types/node_execution_resumed_body.py +3 -3
  303. vellum/client/types/node_execution_resumed_event.py +22 -16
  304. vellum/client/types/node_execution_span.py +21 -13
  305. vellum/client/types/node_execution_span_attributes.py +2 -2
  306. vellum/client/types/node_execution_streaming_body.py +4 -4
  307. vellum/client/types/node_execution_streaming_event.py +22 -16
  308. vellum/client/types/node_input_compiled_array_value.py +11 -5
  309. vellum/client/types/node_input_compiled_chat_history_value.py +3 -3
  310. vellum/client/types/node_input_compiled_error_value.py +3 -3
  311. vellum/client/types/node_input_compiled_function_call_value.py +3 -3
  312. vellum/client/types/node_input_compiled_json_value.py +2 -2
  313. vellum/client/types/node_input_compiled_number_value.py +2 -2
  314. vellum/client/types/node_input_compiled_search_results_value.py +3 -3
  315. vellum/client/types/node_input_compiled_secret_value.py +3 -3
  316. vellum/client/types/node_input_compiled_string_value.py +2 -2
  317. vellum/client/types/node_input_variable_compiled_value.py +6 -5
  318. vellum/client/types/node_output_compiled_array_value.py +12 -6
  319. vellum/client/types/node_output_compiled_chat_history_value.py +3 -3
  320. vellum/client/types/node_output_compiled_error_value.py +3 -3
  321. vellum/client/types/node_output_compiled_function_call_value.py +3 -3
  322. vellum/client/types/node_output_compiled_json_value.py +3 -3
  323. vellum/client/types/node_output_compiled_number_value.py +3 -3
  324. vellum/client/types/node_output_compiled_search_results_value.py +3 -3
  325. vellum/client/types/node_output_compiled_string_value.py +3 -3
  326. vellum/client/types/node_output_compiled_thinking_value.py +3 -3
  327. vellum/client/types/node_output_compiled_value.py +6 -5
  328. vellum/client/types/node_parent_context.py +12 -12
  329. vellum/client/types/normalized_log_probs.py +3 -3
  330. vellum/client/types/normalized_token_log_probs.py +2 -2
  331. vellum/client/types/number_input.py +3 -3
  332. vellum/client/types/number_vellum_value.py +2 -2
  333. vellum/client/types/number_vellum_value_request.py +2 -2
  334. vellum/client/types/open_ai_vectorizer_config.py +3 -3
  335. vellum/client/types/open_ai_vectorizer_config_request.py +3 -3
  336. vellum/client/types/open_ai_vectorizer_text_embedding_3_large.py +3 -3
  337. vellum/client/types/open_ai_vectorizer_text_embedding_3_large_request.py +3 -3
  338. vellum/client/types/open_ai_vectorizer_text_embedding_3_small.py +3 -3
  339. vellum/client/types/open_ai_vectorizer_text_embedding_3_small_request.py +3 -3
  340. vellum/client/types/open_ai_vectorizer_text_embedding_ada_002.py +3 -3
  341. vellum/client/types/open_ai_vectorizer_text_embedding_ada_002_request.py +3 -3
  342. vellum/client/types/organization_read.py +4 -4
  343. vellum/client/types/paginated_container_image_read_list.py +3 -3
  344. vellum/client/types/paginated_deployment_release_tag_read_list.py +3 -3
  345. vellum/client/types/paginated_document_index_read_list.py +3 -3
  346. vellum/client/types/paginated_folder_entity_list.py +3 -3
  347. vellum/client/types/paginated_slim_deployment_read_list.py +10 -4
  348. vellum/client/types/paginated_slim_document_list.py +3 -3
  349. vellum/client/types/paginated_slim_workflow_deployment_list.py +10 -4
  350. vellum/client/types/paginated_test_suite_run_execution_list.py +10 -4
  351. vellum/client/types/paginated_test_suite_test_case_list.py +10 -4
  352. vellum/client/types/paginated_workflow_release_tag_read_list.py +3 -3
  353. vellum/client/types/paginated_workflow_sandbox_example_list.py +3 -3
  354. vellum/client/types/parent_context.py +5 -5
  355. vellum/client/types/pdf_search_result_meta_source.py +2 -2
  356. vellum/client/types/pdf_search_result_meta_source_request.py +2 -2
  357. vellum/client/types/plain_text_prompt_block.py +4 -4
  358. vellum/client/types/price.py +3 -3
  359. vellum/client/types/prompt_block.py +9 -6
  360. vellum/client/types/prompt_deployment_expand_meta_request.py +2 -2
  361. vellum/client/types/prompt_deployment_input_request.py +3 -2
  362. vellum/client/types/prompt_deployment_parent_context.py +11 -11
  363. vellum/client/types/prompt_deployment_release.py +6 -6
  364. vellum/client/types/prompt_deployment_release_prompt_deployment.py +2 -2
  365. vellum/client/types/prompt_deployment_release_prompt_version.py +4 -4
  366. vellum/client/types/prompt_exec_config.py +15 -9
  367. vellum/client/types/prompt_execution_meta.py +3 -3
  368. vellum/client/types/prompt_node_execution_meta.py +3 -3
  369. vellum/client/types/prompt_node_result.py +3 -3
  370. vellum/client/types/prompt_node_result_data.py +3 -3
  371. vellum/client/types/prompt_output.py +3 -2
  372. vellum/client/types/prompt_parameters.py +2 -2
  373. vellum/client/types/prompt_push_response.py +2 -2
  374. vellum/client/types/prompt_request_chat_history_input.py +3 -3
  375. vellum/client/types/prompt_request_input.py +3 -2
  376. vellum/client/types/prompt_request_json_input.py +3 -3
  377. vellum/client/types/prompt_request_string_input.py +3 -3
  378. vellum/client/types/prompt_settings.py +2 -2
  379. vellum/client/types/prompt_version_build_config_sandbox.py +2 -2
  380. vellum/client/types/raw_prompt_execution_overrides_request.py +2 -2
  381. vellum/client/types/reducto_chunker_config.py +2 -2
  382. vellum/client/types/reducto_chunker_config_request.py +2 -2
  383. vellum/client/types/reducto_chunking.py +3 -3
  384. vellum/client/types/reducto_chunking_request.py +3 -3
  385. vellum/client/types/rejected_ad_hoc_execute_prompt_event.py +4 -4
  386. vellum/client/types/rejected_execute_prompt_event.py +4 -4
  387. vellum/client/types/rejected_execute_prompt_response.py +3 -3
  388. vellum/client/types/rejected_execute_workflow_workflow_result_event.py +4 -4
  389. vellum/client/types/rejected_prompt_execution_meta.py +3 -3
  390. vellum/client/types/rejected_workflow_node_result_event.py +12 -6
  391. vellum/client/types/release_created_by.py +2 -2
  392. vellum/client/types/release_environment.py +2 -2
  393. vellum/client/types/release_release_tag.py +3 -3
  394. vellum/client/types/release_review_reviewer.py +2 -2
  395. vellum/client/types/release_tag_release.py +2 -2
  396. vellum/client/types/replace_test_suite_test_case_request.py +9 -3
  397. vellum/client/types/rich_text_child_block.py +2 -1
  398. vellum/client/types/rich_text_prompt_block.py +4 -4
  399. vellum/client/types/sandbox_scenario.py +3 -3
  400. vellum/client/types/scenario_input.py +3 -2
  401. vellum/client/types/scenario_input_chat_history_variable_value.py +3 -3
  402. vellum/client/types/scenario_input_json_variable_value.py +2 -2
  403. vellum/client/types/scenario_input_string_variable_value.py +2 -2
  404. vellum/client/types/search_filters_request.py +11 -5
  405. vellum/client/types/search_node_result.py +3 -3
  406. vellum/client/types/search_node_result_data.py +3 -3
  407. vellum/client/types/search_request_options_request.py +13 -7
  408. vellum/client/types/search_response.py +3 -3
  409. vellum/client/types/search_result.py +3 -3
  410. vellum/client/types/search_result_document.py +2 -2
  411. vellum/client/types/search_result_document_request.py +2 -2
  412. vellum/client/types/search_result_merging_request.py +2 -2
  413. vellum/client/types/search_result_meta.py +3 -3
  414. vellum/client/types/search_result_meta_request.py +3 -3
  415. vellum/client/types/search_result_request.py +3 -3
  416. vellum/client/types/search_results_input.py +3 -3
  417. vellum/client/types/search_results_vellum_value.py +3 -3
  418. vellum/client/types/search_results_vellum_value_request.py +3 -3
  419. vellum/client/types/search_weights_request.py +2 -2
  420. vellum/client/types/sentence_chunker_config.py +2 -2
  421. vellum/client/types/sentence_chunker_config_request.py +2 -2
  422. vellum/client/types/sentence_chunking.py +3 -3
  423. vellum/client/types/sentence_chunking_request.py +3 -3
  424. vellum/client/types/slim_deployment_read.py +10 -4
  425. vellum/client/types/slim_document.py +5 -5
  426. vellum/client/types/slim_document_document_to_document_index.py +3 -3
  427. vellum/client/types/slim_release_review.py +4 -4
  428. vellum/client/types/slim_workflow_deployment.py +11 -5
  429. vellum/client/types/slim_workflow_execution_read.py +21 -15
  430. vellum/client/types/span_link.py +12 -12
  431. vellum/client/types/streaming_ad_hoc_execute_prompt_event.py +4 -4
  432. vellum/client/types/streaming_execute_prompt_event.py +3 -3
  433. vellum/client/types/streaming_prompt_execution_meta.py +2 -2
  434. vellum/client/types/streaming_workflow_node_result_event.py +12 -6
  435. vellum/client/types/string_chat_message_content.py +2 -2
  436. vellum/client/types/string_chat_message_content_request.py +2 -2
  437. vellum/client/types/string_input.py +3 -3
  438. vellum/client/types/string_input_request.py +3 -3
  439. vellum/client/types/string_vellum_value.py +2 -2
  440. vellum/client/types/string_vellum_value_request.py +2 -2
  441. vellum/client/types/submit_completion_actual_request.py +3 -3
  442. vellum/client/types/submit_workflow_execution_actual_request.py +3 -2
  443. vellum/client/types/subworkflow_node_result.py +3 -3
  444. vellum/client/types/subworkflow_node_result_data.py +2 -2
  445. vellum/client/types/templating_node_array_result.py +11 -5
  446. vellum/client/types/templating_node_chat_history_result.py +3 -3
  447. vellum/client/types/templating_node_error_result.py +3 -3
  448. vellum/client/types/templating_node_function_call_result.py +3 -3
  449. vellum/client/types/templating_node_json_result.py +2 -2
  450. vellum/client/types/templating_node_number_result.py +2 -2
  451. vellum/client/types/templating_node_result.py +10 -4
  452. vellum/client/types/templating_node_result_data.py +10 -4
  453. vellum/client/types/templating_node_result_output.py +6 -5
  454. vellum/client/types/templating_node_search_results_result.py +3 -3
  455. vellum/client/types/templating_node_string_result.py +2 -2
  456. vellum/client/types/terminal_node_array_result.py +11 -5
  457. vellum/client/types/terminal_node_chat_history_result.py +2 -2
  458. vellum/client/types/terminal_node_error_result.py +2 -2
  459. vellum/client/types/terminal_node_function_call_result.py +2 -2
  460. vellum/client/types/terminal_node_json_result.py +2 -2
  461. vellum/client/types/terminal_node_number_result.py +2 -2
  462. vellum/client/types/terminal_node_result.py +10 -4
  463. vellum/client/types/terminal_node_result_data.py +10 -4
  464. vellum/client/types/terminal_node_result_output.py +6 -5
  465. vellum/client/types/terminal_node_search_results_result.py +2 -2
  466. vellum/client/types/terminal_node_string_result.py +2 -2
  467. vellum/client/types/test_case_array_variable_value.py +11 -5
  468. vellum/client/types/test_case_chat_history_variable_value.py +3 -3
  469. vellum/client/types/test_case_error_variable_value.py +3 -3
  470. vellum/client/types/test_case_function_call_variable_value.py +3 -3
  471. vellum/client/types/test_case_json_variable_value.py +2 -2
  472. vellum/client/types/test_case_number_variable_value.py +2 -2
  473. vellum/client/types/test_case_search_results_variable_value.py +3 -3
  474. vellum/client/types/test_case_string_variable_value.py +2 -2
  475. vellum/client/types/test_case_variable_value.py +6 -5
  476. vellum/client/types/test_suite_run_deployment_release_tag_exec_config.py +3 -3
  477. vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data.py +3 -3
  478. vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data_request.py +3 -3
  479. vellum/client/types/test_suite_run_deployment_release_tag_exec_config_request.py +3 -3
  480. vellum/client/types/test_suite_run_exec_config.py +2 -1
  481. vellum/client/types/test_suite_run_exec_config_request.py +2 -1
  482. vellum/client/types/test_suite_run_execution.py +11 -5
  483. vellum/client/types/test_suite_run_execution_array_output.py +11 -5
  484. vellum/client/types/test_suite_run_execution_chat_history_output.py +3 -3
  485. vellum/client/types/test_suite_run_execution_error_output.py +3 -3
  486. vellum/client/types/test_suite_run_execution_function_call_output.py +3 -3
  487. vellum/client/types/test_suite_run_execution_json_output.py +2 -2
  488. vellum/client/types/test_suite_run_execution_metric_definition.py +2 -2
  489. vellum/client/types/test_suite_run_execution_metric_result.py +11 -5
  490. vellum/client/types/test_suite_run_execution_number_output.py +2 -2
  491. vellum/client/types/test_suite_run_execution_output.py +6 -5
  492. vellum/client/types/test_suite_run_execution_search_results_output.py +3 -3
  493. vellum/client/types/test_suite_run_execution_string_output.py +2 -2
  494. vellum/client/types/test_suite_run_external_exec_config.py +10 -4
  495. vellum/client/types/test_suite_run_external_exec_config_data.py +10 -4
  496. vellum/client/types/test_suite_run_external_exec_config_data_request.py +10 -4
  497. vellum/client/types/test_suite_run_external_exec_config_request.py +10 -4
  498. vellum/client/types/test_suite_run_metric_array_output.py +11 -5
  499. vellum/client/types/test_suite_run_metric_error_output.py +3 -3
  500. vellum/client/types/test_suite_run_metric_json_output.py +2 -2
  501. vellum/client/types/test_suite_run_metric_number_output.py +2 -2
  502. vellum/client/types/test_suite_run_metric_output.py +5 -4
  503. vellum/client/types/test_suite_run_metric_string_output.py +2 -2
  504. vellum/client/types/test_suite_run_progress.py +2 -2
  505. vellum/client/types/test_suite_run_prompt_sandbox_exec_config_data_request.py +3 -3
  506. vellum/client/types/test_suite_run_prompt_sandbox_exec_config_request.py +3 -3
  507. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py +3 -3
  508. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py +3 -3
  509. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py +3 -3
  510. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py +3 -3
  511. vellum/client/types/test_suite_run_read.py +12 -6
  512. vellum/client/types/test_suite_run_test_suite.py +2 -2
  513. vellum/client/types/test_suite_run_workflow_release_tag_exec_config.py +3 -3
  514. vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data.py +3 -3
  515. vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data_request.py +3 -3
  516. vellum/client/types/test_suite_run_workflow_release_tag_exec_config_request.py +3 -3
  517. vellum/client/types/test_suite_run_workflow_sandbox_exec_config_data_request.py +3 -3
  518. vellum/client/types/test_suite_run_workflow_sandbox_exec_config_request.py +3 -3
  519. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config.py +3 -3
  520. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py +3 -3
  521. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py +3 -3
  522. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py +3 -3
  523. vellum/client/types/test_suite_test_case.py +10 -4
  524. vellum/client/types/test_suite_test_case_bulk_operation_request.py +2 -1
  525. vellum/client/types/test_suite_test_case_bulk_result.py +2 -1
  526. vellum/client/types/test_suite_test_case_create_bulk_operation_request.py +10 -4
  527. vellum/client/types/test_suite_test_case_created_bulk_result.py +3 -3
  528. vellum/client/types/test_suite_test_case_created_bulk_result_data.py +2 -2
  529. vellum/client/types/test_suite_test_case_delete_bulk_operation_data_request.py +2 -2
  530. vellum/client/types/test_suite_test_case_delete_bulk_operation_request.py +3 -3
  531. vellum/client/types/test_suite_test_case_deleted_bulk_result.py +3 -3
  532. vellum/client/types/test_suite_test_case_deleted_bulk_result_data.py +2 -2
  533. vellum/client/types/test_suite_test_case_rejected_bulk_result.py +2 -2
  534. vellum/client/types/test_suite_test_case_replace_bulk_operation_request.py +10 -4
  535. vellum/client/types/test_suite_test_case_replaced_bulk_result.py +3 -3
  536. vellum/client/types/test_suite_test_case_replaced_bulk_result_data.py +2 -2
  537. vellum/client/types/test_suite_test_case_upsert_bulk_operation_request.py +10 -4
  538. vellum/client/types/thinking_vellum_value.py +3 -3
  539. vellum/client/types/thinking_vellum_value_request.py +3 -3
  540. vellum/client/types/token_overlapping_window_chunker_config.py +2 -2
  541. vellum/client/types/token_overlapping_window_chunker_config_request.py +2 -2
  542. vellum/client/types/token_overlapping_window_chunking.py +3 -3
  543. vellum/client/types/token_overlapping_window_chunking_request.py +3 -3
  544. vellum/client/types/upload_document_response.py +3 -3
  545. vellum/client/types/upsert_test_suite_test_case_request.py +9 -3
  546. vellum/client/types/variable_prompt_block.py +4 -4
  547. vellum/client/types/vellum_audio.py +3 -3
  548. vellum/client/types/vellum_audio_request.py +3 -3
  549. vellum/client/types/vellum_code_resource_definition.py +2 -2
  550. vellum/client/types/vellum_document.py +2 -2
  551. vellum/client/types/vellum_document_request.py +2 -2
  552. vellum/client/types/vellum_error.py +3 -3
  553. vellum/client/types/vellum_error_request.py +3 -3
  554. vellum/client/types/vellum_image.py +2 -2
  555. vellum/client/types/vellum_image_request.py +2 -2
  556. vellum/client/types/vellum_node_execution_event.py +4 -3
  557. vellum/client/types/vellum_sdk_error.py +3 -3
  558. vellum/client/types/vellum_secret.py +2 -2
  559. vellum/client/types/vellum_span.py +2 -1
  560. vellum/client/types/vellum_value.py +11 -8
  561. vellum/client/types/vellum_value_logical_condition_group_request.py +6 -6
  562. vellum/client/types/vellum_value_logical_condition_request.py +13 -7
  563. vellum/client/types/vellum_value_logical_expression_request.py +2 -1
  564. vellum/client/types/vellum_value_request.py +11 -8
  565. vellum/client/types/vellum_variable.py +13 -7
  566. vellum/client/types/vellum_variable_extensions.py +2 -2
  567. vellum/client/types/vellum_variable_type.py +2 -1
  568. vellum/client/types/vellum_video.py +24 -0
  569. vellum/client/types/vellum_video_request.py +24 -0
  570. vellum/client/types/vellum_workflow_execution_event.py +4 -3
  571. vellum/client/types/video_chat_message_content.py +25 -0
  572. vellum/client/types/video_chat_message_content_request.py +25 -0
  573. vellum/client/types/video_prompt_block.py +29 -0
  574. vellum/client/types/video_vellum_value.py +25 -0
  575. vellum/client/types/video_vellum_value_request.py +25 -0
  576. vellum/client/types/workflow_deployment_event_executions_response.py +18 -12
  577. vellum/client/types/workflow_deployment_history_item.py +10 -4
  578. vellum/client/types/workflow_deployment_parent_context.py +11 -11
  579. vellum/client/types/workflow_deployment_read.py +11 -5
  580. vellum/client/types/workflow_deployment_release.py +13 -7
  581. vellum/client/types/workflow_deployment_release_workflow_deployment.py +2 -2
  582. vellum/client/types/workflow_deployment_release_workflow_version.py +10 -4
  583. vellum/client/types/workflow_error.py +1 -0
  584. vellum/client/types/workflow_event_error.py +3 -3
  585. vellum/client/types/workflow_event_execution_read.py +22 -16
  586. vellum/client/types/workflow_execution_actual.py +10 -4
  587. vellum/client/types/workflow_execution_actual_chat_history_request.py +2 -2
  588. vellum/client/types/workflow_execution_actual_json_request.py +2 -2
  589. vellum/client/types/workflow_execution_actual_string_request.py +2 -2
  590. vellum/client/types/workflow_execution_detail.py +22 -16
  591. vellum/client/types/workflow_execution_fulfilled_body.py +3 -3
  592. vellum/client/types/workflow_execution_fulfilled_event.py +22 -16
  593. vellum/client/types/workflow_execution_initiated_body.py +3 -3
  594. vellum/client/types/workflow_execution_initiated_event.py +22 -16
  595. vellum/client/types/workflow_execution_node_result_event.py +10 -4
  596. vellum/client/types/workflow_execution_paused_body.py +4 -4
  597. vellum/client/types/workflow_execution_paused_event.py +22 -16
  598. vellum/client/types/workflow_execution_rejected_body.py +4 -4
  599. vellum/client/types/workflow_execution_rejected_event.py +22 -16
  600. vellum/client/types/workflow_execution_resumed_body.py +3 -3
  601. vellum/client/types/workflow_execution_resumed_event.py +22 -16
  602. vellum/client/types/workflow_execution_snapshotted_body.py +3 -3
  603. vellum/client/types/workflow_execution_snapshotted_event.py +22 -16
  604. vellum/client/types/workflow_execution_span.py +20 -12
  605. vellum/client/types/workflow_execution_span_attributes.py +2 -2
  606. vellum/client/types/workflow_execution_streaming_body.py +4 -4
  607. vellum/client/types/workflow_execution_streaming_event.py +22 -16
  608. vellum/client/types/workflow_execution_usage_calculation_error.py +3 -3
  609. vellum/client/types/workflow_execution_usage_calculation_fulfilled_body.py +22 -0
  610. vellum/client/types/workflow_execution_usage_result.py +3 -3
  611. vellum/client/types/workflow_execution_view_online_eval_metric_result.py +10 -4
  612. vellum/client/types/workflow_execution_workflow_result_event.py +10 -4
  613. vellum/client/types/workflow_expand_meta_request.py +2 -2
  614. vellum/client/types/workflow_initialization_error.py +2 -2
  615. vellum/client/types/workflow_node_result_data.py +8 -7
  616. vellum/client/types/workflow_node_result_event.py +3 -2
  617. vellum/client/types/workflow_output.py +6 -5
  618. vellum/client/types/workflow_output_array.py +12 -6
  619. vellum/client/types/workflow_output_chat_history.py +3 -3
  620. vellum/client/types/workflow_output_error.py +3 -3
  621. vellum/client/types/workflow_output_function_call.py +3 -3
  622. vellum/client/types/workflow_output_image.py +3 -3
  623. vellum/client/types/workflow_output_json.py +3 -3
  624. vellum/client/types/workflow_output_number.py +3 -3
  625. vellum/client/types/workflow_output_search_results.py +3 -3
  626. vellum/client/types/workflow_output_string.py +3 -3
  627. vellum/client/types/workflow_parent_context.py +12 -12
  628. vellum/client/types/workflow_push_deployment_config_request.py +2 -2
  629. vellum/client/types/workflow_push_response.py +2 -2
  630. vellum/client/types/workflow_release_tag_read.py +4 -4
  631. vellum/client/types/workflow_release_tag_workflow_deployment_history_item.py +2 -2
  632. vellum/client/types/workflow_request_chat_history_input_request.py +3 -3
  633. vellum/client/types/workflow_request_input_request.py +3 -2
  634. vellum/client/types/workflow_request_json_input_request.py +3 -3
  635. vellum/client/types/workflow_request_number_input_request.py +3 -3
  636. vellum/client/types/workflow_request_string_input_request.py +3 -3
  637. vellum/client/types/workflow_result_event.py +13 -7
  638. vellum/client/types/workflow_result_event_output_data.py +7 -6
  639. vellum/client/types/workflow_result_event_output_data_array.py +12 -6
  640. vellum/client/types/workflow_result_event_output_data_chat_history.py +3 -3
  641. vellum/client/types/workflow_result_event_output_data_error.py +3 -3
  642. vellum/client/types/workflow_result_event_output_data_function_call.py +3 -3
  643. vellum/client/types/workflow_result_event_output_data_json.py +3 -3
  644. vellum/client/types/workflow_result_event_output_data_number.py +3 -3
  645. vellum/client/types/workflow_result_event_output_data_search_results.py +3 -3
  646. vellum/client/types/workflow_result_event_output_data_string.py +3 -3
  647. vellum/client/types/workflow_sandbox_example.py +2 -2
  648. vellum/client/types/workflow_sandbox_parent_context.py +11 -11
  649. vellum/client/types/workflow_stream_event.py +2 -1
  650. vellum/client/types/workspace_read.py +3 -3
  651. vellum/client/types/workspace_secret_read.py +3 -3
  652. vellum/core/force_multipart.py +3 -0
  653. vellum/prompts/blocks/compilation.py +22 -10
  654. vellum/types/vellum_video.py +3 -0
  655. vellum/types/vellum_video_request.py +3 -0
  656. vellum/types/video_chat_message_content.py +3 -0
  657. vellum/types/video_chat_message_content_request.py +3 -0
  658. vellum/types/video_prompt_block.py +3 -0
  659. vellum/types/video_vellum_value.py +3 -0
  660. vellum/types/video_vellum_value_request.py +3 -0
  661. vellum/types/workflow_execution_usage_calculation_fulfilled_body.py +3 -0
  662. vellum/workflows/events/node.py +25 -10
  663. vellum/workflows/events/tests/test_event.py +19 -19
  664. vellum/workflows/events/workflow.py +11 -0
  665. vellum/workflows/graph/graph.py +103 -1
  666. vellum/workflows/graph/tests/test_graph.py +99 -0
  667. vellum/workflows/nodes/bases/base.py +9 -1
  668. vellum/workflows/nodes/displayable/bases/utils.py +4 -2
  669. vellum/workflows/nodes/displayable/tool_calling_node/node.py +19 -18
  670. vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py +17 -7
  671. vellum/workflows/nodes/displayable/tool_calling_node/tests/test_utils.py +7 -7
  672. vellum/workflows/nodes/displayable/tool_calling_node/utils.py +47 -80
  673. vellum/workflows/references/environment_variable.py +10 -0
  674. vellum/workflows/runner/runner.py +18 -2
  675. vellum/workflows/state/context.py +101 -12
  676. vellum/workflows/state/encoder.py +2 -4
  677. vellum/workflows/types/definition.py +11 -1
  678. vellum/workflows/types/tests/test_definition.py +19 -0
  679. vellum/workflows/utils/functions.py +1 -1
  680. vellum/workflows/utils/vellum_variables.py +9 -5
  681. vellum/workflows/workflows/base.py +12 -5
  682. {vellum_ai-1.1.2.dist-info → vellum_ai-1.1.4.dist-info}/METADATA +2 -2
  683. {vellum_ai-1.1.2.dist-info → vellum_ai-1.1.4.dist-info}/RECORD +693 -675
  684. vellum_ee/workflows/display/nodes/vellum/code_execution_node.py +1 -1
  685. vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py +55 -1
  686. vellum_ee/workflows/display/nodes/vellum/tests/test_tool_calling_node.py +164 -47
  687. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_mcp_serialization.py +15 -49
  688. vellum_ee/workflows/display/types.py +14 -1
  689. vellum_ee/workflows/display/utils/expressions.py +13 -4
  690. vellum_ee/workflows/display/workflows/base_workflow_display.py +6 -19
  691. {vellum_ai-1.1.2.dist-info → vellum_ai-1.1.4.dist-info}/LICENSE +0 -0
  692. {vellum_ai-1.1.2.dist-info → vellum_ai-1.1.4.dist-info}/WHEEL +0 -0
  693. {vellum_ai-1.1.2.dist-info → vellum_ai-1.1.4.dist-info}/entry_points.txt +0 -0
@@ -1,26 +1,27 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ import contextlib
4
+ import json
3
5
  import typing
4
- from ...core.client_wrapper import SyncClientWrapper
5
- from ...types.prompt_request_input import PromptRequestInput
6
- from ...types.vellum_variable import VellumVariable
7
- from ...types.prompt_parameters import PromptParameters
8
- from ...types.prompt_block import PromptBlock
9
- from ...types.prompt_settings import PromptSettings
10
- from ...types.function_definition import FunctionDefinition
11
- from ...types.ad_hoc_expand_meta import AdHocExpandMeta
6
+ from json.decoder import JSONDecodeError
7
+
8
+ from ...core.api_error import ApiError
9
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
10
+ from ...core.http_response import AsyncHttpResponse, HttpResponse
11
+ from ...core.pydantic_utilities import parse_obj_as
12
12
  from ...core.request_options import RequestOptions
13
- from ...core.http_response import HttpResponse
14
- from ...types.ad_hoc_execute_prompt_event import AdHocExecutePromptEvent
15
13
  from ...core.serialization import convert_and_respect_annotation_metadata
16
- from ...core.pydantic_utilities import parse_obj_as
17
14
  from ...errors.bad_request_error import BadRequestError
18
15
  from ...errors.forbidden_error import ForbiddenError
19
16
  from ...errors.internal_server_error import InternalServerError
20
- from json.decoder import JSONDecodeError
21
- from ...core.api_error import ApiError
22
- from ...core.client_wrapper import AsyncClientWrapper
23
- from ...core.http_response import AsyncHttpResponse
17
+ from ...types.ad_hoc_execute_prompt_event import AdHocExecutePromptEvent
18
+ from ...types.ad_hoc_expand_meta import AdHocExpandMeta
19
+ from ...types.function_definition import FunctionDefinition
20
+ from ...types.prompt_block import PromptBlock
21
+ from ...types.prompt_parameters import PromptParameters
22
+ from ...types.prompt_request_input import PromptRequestInput
23
+ from ...types.prompt_settings import PromptSettings
24
+ from ...types.vellum_variable import VellumVariable
24
25
 
25
26
  # this is used as the default value for optional parameters
26
27
  OMIT = typing.cast(typing.Any, ...)
@@ -118,38 +119,183 @@ class RawAdHocClient:
118
119
  return HttpResponse(response=_response, data=_data)
119
120
  if _response.status_code == 400:
120
121
  raise BadRequestError(
121
- typing.cast(
122
+ headers=dict(_response.headers),
123
+ body=typing.cast(
122
124
  typing.Optional[typing.Any],
123
125
  parse_obj_as(
124
126
  type_=typing.Optional[typing.Any], # type: ignore
125
127
  object_=_response.json(),
126
128
  ),
127
- )
129
+ ),
128
130
  )
129
131
  if _response.status_code == 403:
130
132
  raise ForbiddenError(
131
- typing.cast(
133
+ headers=dict(_response.headers),
134
+ body=typing.cast(
132
135
  typing.Optional[typing.Any],
133
136
  parse_obj_as(
134
137
  type_=typing.Optional[typing.Any], # type: ignore
135
138
  object_=_response.json(),
136
139
  ),
137
- )
140
+ ),
138
141
  )
139
142
  if _response.status_code == 500:
140
143
  raise InternalServerError(
141
- typing.cast(
144
+ headers=dict(_response.headers),
145
+ body=typing.cast(
142
146
  typing.Optional[typing.Any],
143
147
  parse_obj_as(
144
148
  type_=typing.Optional[typing.Any], # type: ignore
145
149
  object_=_response.json(),
146
150
  ),
147
- )
151
+ ),
148
152
  )
149
153
  _response_json = _response.json()
150
154
  except JSONDecodeError:
151
- raise ApiError(status_code=_response.status_code, body=_response.text)
152
- raise ApiError(status_code=_response.status_code, body=_response_json)
155
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
156
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
157
+
158
+ @contextlib.contextmanager
159
+ def adhoc_execute_prompt_stream(
160
+ self,
161
+ *,
162
+ ml_model: str,
163
+ input_values: typing.Sequence[PromptRequestInput],
164
+ input_variables: typing.Sequence[VellumVariable],
165
+ parameters: PromptParameters,
166
+ blocks: typing.Sequence[PromptBlock],
167
+ settings: typing.Optional[PromptSettings] = OMIT,
168
+ functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
169
+ expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
170
+ request_options: typing.Optional[RequestOptions] = None,
171
+ ) -> typing.Iterator[HttpResponse[typing.Iterator[AdHocExecutePromptEvent]]]:
172
+ """
173
+ Parameters
174
+ ----------
175
+ ml_model : str
176
+
177
+ input_values : typing.Sequence[PromptRequestInput]
178
+
179
+ input_variables : typing.Sequence[VellumVariable]
180
+
181
+ parameters : PromptParameters
182
+
183
+ blocks : typing.Sequence[PromptBlock]
184
+
185
+ settings : typing.Optional[PromptSettings]
186
+
187
+ functions : typing.Optional[typing.Sequence[FunctionDefinition]]
188
+
189
+ expand_meta : typing.Optional[AdHocExpandMeta]
190
+
191
+ request_options : typing.Optional[RequestOptions]
192
+ Request-specific configuration.
193
+
194
+ Yields
195
+ ------
196
+ typing.Iterator[HttpResponse[typing.Iterator[AdHocExecutePromptEvent]]]
197
+
198
+ """
199
+ with self._client_wrapper.httpx_client.stream(
200
+ "v1/ad-hoc/execute-prompt-stream",
201
+ base_url=self._client_wrapper.get_environment().predict,
202
+ method="POST",
203
+ json={
204
+ "ml_model": ml_model,
205
+ "input_values": convert_and_respect_annotation_metadata(
206
+ object_=input_values, annotation=typing.Sequence[PromptRequestInput], direction="write"
207
+ ),
208
+ "input_variables": convert_and_respect_annotation_metadata(
209
+ object_=input_variables, annotation=typing.Sequence[VellumVariable], direction="write"
210
+ ),
211
+ "parameters": convert_and_respect_annotation_metadata(
212
+ object_=parameters, annotation=PromptParameters, direction="write"
213
+ ),
214
+ "settings": convert_and_respect_annotation_metadata(
215
+ object_=settings, annotation=typing.Optional[PromptSettings], direction="write"
216
+ ),
217
+ "blocks": convert_and_respect_annotation_metadata(
218
+ object_=blocks, annotation=typing.Sequence[PromptBlock], direction="write"
219
+ ),
220
+ "functions": convert_and_respect_annotation_metadata(
221
+ object_=functions,
222
+ annotation=typing.Optional[typing.Sequence[FunctionDefinition]],
223
+ direction="write",
224
+ ),
225
+ "expand_meta": convert_and_respect_annotation_metadata(
226
+ object_=expand_meta, annotation=typing.Optional[AdHocExpandMeta], direction="write"
227
+ ),
228
+ },
229
+ headers={
230
+ "content-type": "application/json",
231
+ },
232
+ request_options=request_options,
233
+ omit=OMIT,
234
+ ) as _response:
235
+
236
+ def _stream() -> HttpResponse[typing.Iterator[AdHocExecutePromptEvent]]:
237
+ try:
238
+ if 200 <= _response.status_code < 300:
239
+
240
+ def _iter():
241
+ for _text in _response.iter_lines():
242
+ try:
243
+ if len(_text) == 0:
244
+ continue
245
+ yield typing.cast(
246
+ AdHocExecutePromptEvent,
247
+ parse_obj_as(
248
+ type_=AdHocExecutePromptEvent, # type: ignore
249
+ object_=json.loads(_text),
250
+ ),
251
+ )
252
+ except Exception:
253
+ pass
254
+ return
255
+
256
+ return HttpResponse(response=_response, data=_iter())
257
+ _response.read()
258
+ if _response.status_code == 400:
259
+ raise BadRequestError(
260
+ headers=dict(_response.headers),
261
+ body=typing.cast(
262
+ typing.Optional[typing.Any],
263
+ parse_obj_as(
264
+ type_=typing.Optional[typing.Any], # type: ignore
265
+ object_=_response.json(),
266
+ ),
267
+ ),
268
+ )
269
+ if _response.status_code == 403:
270
+ raise ForbiddenError(
271
+ headers=dict(_response.headers),
272
+ body=typing.cast(
273
+ typing.Optional[typing.Any],
274
+ parse_obj_as(
275
+ type_=typing.Optional[typing.Any], # type: ignore
276
+ object_=_response.json(),
277
+ ),
278
+ ),
279
+ )
280
+ if _response.status_code == 500:
281
+ raise InternalServerError(
282
+ headers=dict(_response.headers),
283
+ body=typing.cast(
284
+ typing.Optional[typing.Any],
285
+ parse_obj_as(
286
+ type_=typing.Optional[typing.Any], # type: ignore
287
+ object_=_response.json(),
288
+ ),
289
+ ),
290
+ )
291
+ _response_json = _response.json()
292
+ except JSONDecodeError:
293
+ raise ApiError(
294
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
295
+ )
296
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
297
+
298
+ yield _stream()
153
299
 
154
300
 
155
301
  class AsyncRawAdHocClient:
@@ -244,35 +390,180 @@ class AsyncRawAdHocClient:
244
390
  return AsyncHttpResponse(response=_response, data=_data)
245
391
  if _response.status_code == 400:
246
392
  raise BadRequestError(
247
- typing.cast(
393
+ headers=dict(_response.headers),
394
+ body=typing.cast(
248
395
  typing.Optional[typing.Any],
249
396
  parse_obj_as(
250
397
  type_=typing.Optional[typing.Any], # type: ignore
251
398
  object_=_response.json(),
252
399
  ),
253
- )
400
+ ),
254
401
  )
255
402
  if _response.status_code == 403:
256
403
  raise ForbiddenError(
257
- typing.cast(
404
+ headers=dict(_response.headers),
405
+ body=typing.cast(
258
406
  typing.Optional[typing.Any],
259
407
  parse_obj_as(
260
408
  type_=typing.Optional[typing.Any], # type: ignore
261
409
  object_=_response.json(),
262
410
  ),
263
- )
411
+ ),
264
412
  )
265
413
  if _response.status_code == 500:
266
414
  raise InternalServerError(
267
- typing.cast(
415
+ headers=dict(_response.headers),
416
+ body=typing.cast(
268
417
  typing.Optional[typing.Any],
269
418
  parse_obj_as(
270
419
  type_=typing.Optional[typing.Any], # type: ignore
271
420
  object_=_response.json(),
272
421
  ),
273
- )
422
+ ),
274
423
  )
275
424
  _response_json = _response.json()
276
425
  except JSONDecodeError:
277
- raise ApiError(status_code=_response.status_code, body=_response.text)
278
- raise ApiError(status_code=_response.status_code, body=_response_json)
426
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
427
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
428
+
429
+ @contextlib.asynccontextmanager
430
+ async def adhoc_execute_prompt_stream(
431
+ self,
432
+ *,
433
+ ml_model: str,
434
+ input_values: typing.Sequence[PromptRequestInput],
435
+ input_variables: typing.Sequence[VellumVariable],
436
+ parameters: PromptParameters,
437
+ blocks: typing.Sequence[PromptBlock],
438
+ settings: typing.Optional[PromptSettings] = OMIT,
439
+ functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
440
+ expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
441
+ request_options: typing.Optional[RequestOptions] = None,
442
+ ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[AdHocExecutePromptEvent]]]:
443
+ """
444
+ Parameters
445
+ ----------
446
+ ml_model : str
447
+
448
+ input_values : typing.Sequence[PromptRequestInput]
449
+
450
+ input_variables : typing.Sequence[VellumVariable]
451
+
452
+ parameters : PromptParameters
453
+
454
+ blocks : typing.Sequence[PromptBlock]
455
+
456
+ settings : typing.Optional[PromptSettings]
457
+
458
+ functions : typing.Optional[typing.Sequence[FunctionDefinition]]
459
+
460
+ expand_meta : typing.Optional[AdHocExpandMeta]
461
+
462
+ request_options : typing.Optional[RequestOptions]
463
+ Request-specific configuration.
464
+
465
+ Yields
466
+ ------
467
+ typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[AdHocExecutePromptEvent]]]
468
+
469
+ """
470
+ async with self._client_wrapper.httpx_client.stream(
471
+ "v1/ad-hoc/execute-prompt-stream",
472
+ base_url=self._client_wrapper.get_environment().predict,
473
+ method="POST",
474
+ json={
475
+ "ml_model": ml_model,
476
+ "input_values": convert_and_respect_annotation_metadata(
477
+ object_=input_values, annotation=typing.Sequence[PromptRequestInput], direction="write"
478
+ ),
479
+ "input_variables": convert_and_respect_annotation_metadata(
480
+ object_=input_variables, annotation=typing.Sequence[VellumVariable], direction="write"
481
+ ),
482
+ "parameters": convert_and_respect_annotation_metadata(
483
+ object_=parameters, annotation=PromptParameters, direction="write"
484
+ ),
485
+ "settings": convert_and_respect_annotation_metadata(
486
+ object_=settings, annotation=typing.Optional[PromptSettings], direction="write"
487
+ ),
488
+ "blocks": convert_and_respect_annotation_metadata(
489
+ object_=blocks, annotation=typing.Sequence[PromptBlock], direction="write"
490
+ ),
491
+ "functions": convert_and_respect_annotation_metadata(
492
+ object_=functions,
493
+ annotation=typing.Optional[typing.Sequence[FunctionDefinition]],
494
+ direction="write",
495
+ ),
496
+ "expand_meta": convert_and_respect_annotation_metadata(
497
+ object_=expand_meta, annotation=typing.Optional[AdHocExpandMeta], direction="write"
498
+ ),
499
+ },
500
+ headers={
501
+ "content-type": "application/json",
502
+ },
503
+ request_options=request_options,
504
+ omit=OMIT,
505
+ ) as _response:
506
+
507
+ async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[AdHocExecutePromptEvent]]:
508
+ try:
509
+ if 200 <= _response.status_code < 300:
510
+
511
+ async def _iter():
512
+ async for _text in _response.aiter_lines():
513
+ try:
514
+ if len(_text) == 0:
515
+ continue
516
+ yield typing.cast(
517
+ AdHocExecutePromptEvent,
518
+ parse_obj_as(
519
+ type_=AdHocExecutePromptEvent, # type: ignore
520
+ object_=json.loads(_text),
521
+ ),
522
+ )
523
+ except Exception:
524
+ pass
525
+ return
526
+
527
+ return AsyncHttpResponse(response=_response, data=_iter())
528
+ await _response.aread()
529
+ if _response.status_code == 400:
530
+ raise BadRequestError(
531
+ headers=dict(_response.headers),
532
+ body=typing.cast(
533
+ typing.Optional[typing.Any],
534
+ parse_obj_as(
535
+ type_=typing.Optional[typing.Any], # type: ignore
536
+ object_=_response.json(),
537
+ ),
538
+ ),
539
+ )
540
+ if _response.status_code == 403:
541
+ raise ForbiddenError(
542
+ headers=dict(_response.headers),
543
+ body=typing.cast(
544
+ typing.Optional[typing.Any],
545
+ parse_obj_as(
546
+ type_=typing.Optional[typing.Any], # type: ignore
547
+ object_=_response.json(),
548
+ ),
549
+ ),
550
+ )
551
+ if _response.status_code == 500:
552
+ raise InternalServerError(
553
+ headers=dict(_response.headers),
554
+ body=typing.cast(
555
+ typing.Optional[typing.Any],
556
+ parse_obj_as(
557
+ type_=typing.Optional[typing.Any], # type: ignore
558
+ object_=_response.json(),
559
+ ),
560
+ ),
561
+ )
562
+ _response_json = _response.json()
563
+ except JSONDecodeError:
564
+ raise ApiError(
565
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
566
+ )
567
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
568
+
569
+ yield await _stream()
@@ -1,2 +1,4 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ # isort: skip_file
4
+
@@ -1,14 +1,13 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  import typing
4
- from ...core.client_wrapper import SyncClientWrapper
5
- from .raw_client import RawContainerImagesClient
4
+
5
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ...core.request_options import RequestOptions
7
- from ...types.paginated_container_image_read_list import PaginatedContainerImageReadList
8
7
  from ...types.container_image_read import ContainerImageRead
9
8
  from ...types.docker_service_token import DockerServiceToken
10
- from ...core.client_wrapper import AsyncClientWrapper
11
- from .raw_client import AsyncRawContainerImagesClient
9
+ from ...types.paginated_container_image_read_list import PaginatedContainerImageReadList
10
+ from .raw_client import AsyncRawContainerImagesClient, RawContainerImagesClient
12
11
 
13
12
  # this is used as the default value for optional parameters
14
13
  OMIT = typing.cast(typing.Any, ...)
@@ -33,7 +32,7 @@ class ContainerImagesClient:
33
32
  """
34
33
  return self._raw_client
35
34
 
36
- def list_(
35
+ def list(
37
36
  self,
38
37
  *,
39
38
  limit: typing.Optional[int] = None,
@@ -73,13 +72,10 @@ class ContainerImagesClient:
73
72
  )
74
73
  client.container_images.list()
75
74
  """
76
- response = self._raw_client.list(
77
- limit=limit,
78
- offset=offset,
79
- ordering=ordering,
80
- request_options=request_options,
75
+ _response = self._raw_client.list(
76
+ limit=limit, offset=offset, ordering=ordering, request_options=request_options
81
77
  )
82
- return response.data
78
+ return _response.data
83
79
 
84
80
  def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ContainerImageRead:
85
81
  """
@@ -110,11 +106,8 @@ class ContainerImagesClient:
110
106
  id="id",
111
107
  )
112
108
  """
113
- response = self._raw_client.retrieve(
114
- id,
115
- request_options=request_options,
116
- )
117
- return response.data
109
+ _response = self._raw_client.retrieve(id, request_options=request_options)
110
+ return _response.data
118
111
 
119
112
  def docker_service_token(self, *, request_options: typing.Optional[RequestOptions] = None) -> DockerServiceToken:
120
113
  """
@@ -138,10 +131,8 @@ class ContainerImagesClient:
138
131
  )
139
132
  client.container_images.docker_service_token()
140
133
  """
141
- response = self._raw_client.docker_service_token(
142
- request_options=request_options,
143
- )
144
- return response.data
134
+ _response = self._raw_client.docker_service_token(request_options=request_options)
135
+ return _response.data
145
136
 
146
137
  def push_container_image(
147
138
  self,
@@ -182,13 +173,10 @@ class ContainerImagesClient:
182
173
  tags=["tags", "tags"],
183
174
  )
184
175
  """
185
- response = self._raw_client.push_container_image(
186
- name=name,
187
- sha=sha,
188
- tags=tags,
189
- request_options=request_options,
176
+ _response = self._raw_client.push_container_image(
177
+ name=name, sha=sha, tags=tags, request_options=request_options
190
178
  )
191
- return response.data
179
+ return _response.data
192
180
 
193
181
 
194
182
  class AsyncContainerImagesClient:
@@ -206,7 +194,7 @@ class AsyncContainerImagesClient:
206
194
  """
207
195
  return self._raw_client
208
196
 
209
- async def list_(
197
+ async def list(
210
198
  self,
211
199
  *,
212
200
  limit: typing.Optional[int] = None,
@@ -254,13 +242,10 @@ class AsyncContainerImagesClient:
254
242
 
255
243
  asyncio.run(main())
256
244
  """
257
- response = await self._raw_client.list(
258
- limit=limit,
259
- offset=offset,
260
- ordering=ordering,
261
- request_options=request_options,
245
+ _response = await self._raw_client.list(
246
+ limit=limit, offset=offset, ordering=ordering, request_options=request_options
262
247
  )
263
- return response.data
248
+ return _response.data
264
249
 
265
250
  async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ContainerImageRead:
266
251
  """
@@ -299,11 +284,8 @@ class AsyncContainerImagesClient:
299
284
 
300
285
  asyncio.run(main())
301
286
  """
302
- response = await self._raw_client.retrieve(
303
- id,
304
- request_options=request_options,
305
- )
306
- return response.data
287
+ _response = await self._raw_client.retrieve(id, request_options=request_options)
288
+ return _response.data
307
289
 
308
290
  async def docker_service_token(
309
291
  self, *, request_options: typing.Optional[RequestOptions] = None
@@ -337,10 +319,8 @@ class AsyncContainerImagesClient:
337
319
 
338
320
  asyncio.run(main())
339
321
  """
340
- response = await self._raw_client.docker_service_token(
341
- request_options=request_options,
342
- )
343
- return response.data
322
+ _response = await self._raw_client.docker_service_token(request_options=request_options)
323
+ return _response.data
344
324
 
345
325
  async def push_container_image(
346
326
  self,
@@ -389,10 +369,7 @@ class AsyncContainerImagesClient:
389
369
 
390
370
  asyncio.run(main())
391
371
  """
392
- response = await self._raw_client.push_container_image(
393
- name=name,
394
- sha=sha,
395
- tags=tags,
396
- request_options=request_options,
372
+ _response = await self._raw_client.push_container_image(
373
+ name=name, sha=sha, tags=tags, request_options=request_options
397
374
  )
398
- return response.data
375
+ return _response.data