vellum-ai 0.14.71__py3-none-any.whl → 0.14.73__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 (77) hide show
  1. vellum/__init__.py +8 -0
  2. vellum/client/core/client_wrapper.py +1 -1
  3. vellum/client/core/serialization.py +1 -0
  4. vellum/client/types/__init__.py +8 -0
  5. vellum/client/types/build_status_enum.py +5 -0
  6. vellum/client/types/container_image_build_config.py +20 -0
  7. vellum/client/types/container_image_read.py +4 -0
  8. vellum/client/types/execute_api_response.py +2 -2
  9. vellum/client/types/folder_entity.py +2 -0
  10. vellum/client/types/folder_entity_dataset.py +26 -0
  11. vellum/client/types/folder_entity_dataset_data.py +25 -0
  12. vellum/plugins/vellum_mypy.py +1 -1
  13. vellum/types/build_status_enum.py +3 -0
  14. vellum/types/container_image_build_config.py +3 -0
  15. vellum/types/folder_entity_dataset.py +3 -0
  16. vellum/types/folder_entity_dataset_data.py +3 -0
  17. vellum/workflows/events/__init__.py +2 -0
  18. vellum/workflows/events/stream.py +28 -0
  19. vellum/workflows/events/workflow.py +3 -2
  20. vellum/workflows/nodes/core/retry_node/tests/test_node.py +1 -1
  21. vellum/workflows/nodes/displayable/api_node/node.py +2 -0
  22. vellum/workflows/nodes/displayable/api_node/tests/test_api_node.py +43 -0
  23. vellum/workflows/nodes/displayable/bases/api_node/node.py +6 -0
  24. vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py +30 -4
  25. vellum/workflows/nodes/displayable/bases/inline_prompt_node/tests/test_inline_prompt_node.py +43 -3
  26. vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +68 -58
  27. vellum/workflows/nodes/experimental/tool_calling_node/node.py +11 -11
  28. vellum/workflows/nodes/experimental/tool_calling_node/tests/__init__.py +0 -0
  29. vellum/workflows/nodes/experimental/tool_calling_node/tests/test_utils.py +49 -0
  30. vellum/workflows/nodes/experimental/tool_calling_node/utils.py +69 -8
  31. vellum/workflows/ports/utils.py +26 -6
  32. vellum/workflows/runner/runner.py +56 -6
  33. vellum/workflows/types/core.py +12 -0
  34. vellum/workflows/types/definition.py +6 -0
  35. vellum/workflows/utils/functions.py +64 -10
  36. vellum/workflows/utils/pydantic_schema.py +38 -0
  37. vellum/workflows/utils/tests/test_functions.py +161 -11
  38. vellum/workflows/utils/tests/test_vellum_variables.py +25 -1
  39. vellum/workflows/utils/vellum_variables.py +30 -0
  40. vellum/workflows/workflows/base.py +11 -5
  41. {vellum_ai-0.14.71.dist-info → vellum_ai-0.14.73.dist-info}/METADATA +1 -1
  42. {vellum_ai-0.14.71.dist-info → vellum_ai-0.14.73.dist-info}/RECORD +77 -64
  43. vellum_cli/image_push.py +1 -5
  44. vellum_cli/push.py +12 -7
  45. vellum_cli/tests/test_image_push.py +1 -2
  46. vellum_cli/tests/test_push.py +33 -2
  47. vellum_ee/workflows/display/nodes/utils.py +2 -2
  48. vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py +8 -1
  49. vellum_ee/workflows/display/tests/test_base_workflow_display.py +1 -1
  50. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py +1 -1
  51. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py +1 -1
  52. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py +5 -5
  53. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py +12 -12
  54. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py +10 -10
  55. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py +3 -3
  56. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py +3 -3
  57. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py +20 -9
  58. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py +3 -3
  59. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_prompt_node_serialization.py +3 -3
  60. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py +8 -8
  61. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py +6 -6
  62. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py +3 -3
  63. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py +8 -8
  64. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py +3 -3
  65. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py +4 -4
  66. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py +3 -3
  67. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py +2 -2
  68. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_inline_workflow_serialization.py +5 -5
  69. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_serialization.py +1 -1
  70. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py +1 -1
  71. vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py +2 -2
  72. vellum_ee/workflows/display/utils/auto_layout.py +1 -1
  73. vellum_ee/workflows/display/workflows/base_workflow_display.py +179 -4
  74. vellum_ee/workflows/tests/test_serialize_module.py +47 -0
  75. {vellum_ai-0.14.71.dist-info → vellum_ai-0.14.73.dist-info}/LICENSE +0 -0
  76. {vellum_ai-0.14.71.dist-info → vellum_ai-0.14.73.dist-info}/WHEEL +0 -0
  77. {vellum_ai-0.14.71.dist-info → vellum_ai-0.14.73.dist-info}/entry_points.txt +0 -0
@@ -3,22 +3,22 @@ vellum_cli/README.md,sha256=2NudRoLzWxNKqnuVy1JuQ7DerIaxWGYkrH8kMd-asIE,90
3
3
  vellum_cli/__init__.py,sha256=oi-vvNVepu23IBBjhA5uUIDVYBPqQ3EzxWZAPn2S64c,12700
4
4
  vellum_cli/aliased_group.py,sha256=ugW498j0yv4ALJ8vS9MsO7ctDW7Jlir9j6nE_uHAP8c,3363
5
5
  vellum_cli/config.py,sha256=v5BmZ-t_v4Jmqd7KVuQMZF2pRI-rbMspSkVYXIRoTmI,9448
6
- vellum_cli/image_push.py,sha256=Xw_IlItZ27OM5XrWcaqRxXCx4rroV3IaUByl8Ela6U8,10730
6
+ vellum_cli/image_push.py,sha256=rPeSfTlFpdTzwTdnXRL82OVd61qMoGFGLxnLjZLU98Q,10596
7
7
  vellum_cli/init.py,sha256=WpnMXPItPmh0f0bBGIer3p-e5gu8DUGwSArT_FuoMEw,5093
8
8
  vellum_cli/logger.py,sha256=dcM_OmgqXLo93vDYswO5ylyUQQcTfnA5GTd5tbIt3wM,1446
9
9
  vellum_cli/ping.py,sha256=p_BCCRjgPhng6JktuECtkDQLbhopt6JpmrtGoLnLJT8,1161
10
10
  vellum_cli/pull.py,sha256=udYyPlJ6VKDdh78rApNJOZgxHl82fcV6iGnRPSdX1LY,14750
11
- vellum_cli/push.py,sha256=wxRlFu2mYW9SvwODYxwajri1mDQ2be0n-9i0d9QAc30,10194
11
+ vellum_cli/push.py,sha256=ibAaf6zO41Qrgfholl18bCq8sWVYd2PDCiQsPkEYAFw,10296
12
12
  vellum_cli/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  vellum_cli/tests/conftest.py,sha256=AFYZryKA2qnUuCPBxBKmHLFoPiE0WhBFFej9tNwSHdc,1526
14
14
  vellum_cli/tests/test_config.py,sha256=uvKGDc8BoVyT9_H0Z-g8469zVxomn6Oi3Zj-vK7O_wU,2631
15
- vellum_cli/tests/test_image_push.py,sha256=QGbhCB2DhkepoBUdfhv_ovks-HQ164jmjKFuYvPmJt8,9141
15
+ vellum_cli/tests/test_image_push.py,sha256=xXZjI-CDp166cmk5P1NTa-aogergeIbcdfK4_KBsoHc,9095
16
16
  vellum_cli/tests/test_image_push_error_handling.py,sha256=_Wjfkn1orI2K4Ahzqz4u8T13or7NOX01K4BtcTuTIOM,7107
17
17
  vellum_cli/tests/test_init.py,sha256=8UOc_ThfouR4ja5cCl_URuLk7ohr9JXfCnG4yka1OUQ,18754
18
18
  vellum_cli/tests/test_main.py,sha256=qDZG-aQauPwBwM6A2DIu1494n47v3pL28XakTbLGZ-k,272
19
19
  vellum_cli/tests/test_ping.py,sha256=3ucVRThEmTadlV9LrJdCCrr1Ofj3rOjG6ue0BNR2UC0,2523
20
20
  vellum_cli/tests/test_pull.py,sha256=hxMbW_j0weDDrkzVGpvLpFcwNQdn-fxTv4wBHeYizzc,49904
21
- vellum_cli/tests/test_push.py,sha256=I8XICg3pUb3yxAFLXziVHHf5CRm354LO-uUfwtca3bU,33897
21
+ vellum_cli/tests/test_push.py,sha256=uyWknZ1CBkxxfKVdwcyv7fkGSxvvSNRdJegp5cV-_V4,35167
22
22
  vellum_ee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  vellum_ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  vellum_ee/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -32,7 +32,7 @@ vellum_ee/workflows/display/nodes/get_node_display_class.py,sha256=jI_kUi9LnNLDp
32
32
  vellum_ee/workflows/display/nodes/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  vellum_ee/workflows/display/nodes/tests/test_base_node_display.py,sha256=Z4Mf7xLCNiblSbpKI0BrV5modQr-ZcFzhfir_OSyTTs,2997
34
34
  vellum_ee/workflows/display/nodes/types.py,sha256=St1BB6no528OyELGiyRabWao0GGw6mLhstQAvEACbGk,247
35
- vellum_ee/workflows/display/nodes/utils.py,sha256=gxiixuiJi6jrYTV2jmsPsyQfeuwKmrULRb-Lg9c0Aqw,975
35
+ vellum_ee/workflows/display/nodes/utils.py,sha256=sloya5TpXsnot1HURc9L51INwflRqUzHxRVnCS9Cd-4,973
36
36
  vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=nUIgH2s0-7IbQRNrBhLPyRNe8YIrx3Yo9HeeW-aXXFk,1668
37
37
  vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=5Uq8x08F64yrBcqbfsVeuoGnTa9eoOPumYzZZrDPmr0,8847
38
38
  vellum_ee/workflows/display/nodes/vellum/base_adornment_node.py,sha256=rJbHZBg9A_v2bjk-R6MfWzShcrS2gcKIOyYGoqwTx8s,6353
@@ -49,7 +49,7 @@ vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=6xf8MJ684KecKPJrGlC
49
49
  vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=cT5qT7Nd2v6rSsIErpSAWaxta7txGOSFOZz2AQYQmWE,3536
50
50
  vellum_ee/workflows/display/nodes/vellum/retry_node.py,sha256=Gos8F1yKN69GmegDO2q3NlGTamibd4rpuTasSU0mK8c,3281
51
51
  vellum_ee/workflows/display/nodes/vellum/search_node.py,sha256=bF07csUFSQlAeOayPPws5pz3tBTp1PdwgHb8WItgXmY,12319
52
- vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=Ub6XDdVtVarqoqQrIXpJxNbp3xvz37vwpuf93DhLvX8,2670
52
+ vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=wr2MaqoGFtkL1o7B-4GXgF1gEEOTWsUEiX8l_g7e1qs,2958
53
53
  vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=TdIJWh2l8p4tw7ejRexGOFQKnviirUqie3WYwsrVQ4g,3339
54
54
  vellum_ee/workflows/display/nodes/vellum/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py,sha256=ZasoqG8FmqnZDj2FfL5BGPq9fafOTJqV_4xjOKLi1gc,5434
@@ -68,39 +68,39 @@ vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py,sha256=3LS1O4DGPWit
68
68
  vellum_ee/workflows/display/nodes/vellum/try_node.py,sha256=z9Omo676RRc7mQjLoL7hjiHhUj0OWVLhrrb97YTN4QA,4086
69
69
  vellum_ee/workflows/display/nodes/vellum/utils.py,sha256=oICunzyaXPs0tYnW5zH1r93Bx35MSH7mcD-n0DEWRok,4978
70
70
  vellum_ee/workflows/display/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- vellum_ee/workflows/display/tests/test_base_workflow_display.py,sha256=ZWYf3XGL2PeUSx1B8xGeVXO5T36FdGyPJO7Akz-xLZQ,10677
71
+ vellum_ee/workflows/display/tests/test_base_workflow_display.py,sha256=axUOLwpIhhzrk9d3rNmUaFbdfTaebfi1dzfRj9Up6Z4,10679
72
72
  vellum_ee/workflows/display/tests/workflow_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
74
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py,sha256=XOQDDRiG46etxTC7-_RUEutoNumXc02fo7oho4GYM0c,1900
75
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py,sha256=tsjGM-jOurPSkDIbrDFdjNLmkI1fPNPAw3J9-l9knCw,12848
76
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py,sha256=xrekxgRlZrNIF-bkvfIzGGN3vKgTKNttNz3tfLanzd4,22062
75
+ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py,sha256=IuoR3QrsnshZSb1ggLBvQJnTw244lHBo70KmKLd0fwk,12852
76
+ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py,sha256=-I0LvhaLZUrdjSzb232Jd1Qp79mVGw8-8vjLOf33tIU,22066
77
77
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py,sha256=s6_mnk0pkztU59wYpSfOFpMhAJaRjmyfxM6WJGtnD4Y,6456
78
78
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py,sha256=PkSgghJDz0fpDB72HHPjLjo8LkZk-HpUkCQzRLX-iVw,40611
79
79
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py,sha256=dsJr8I9AdPwMOGszirfNDzZP2Ychd94aAKuPXAzknMk,4632
80
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=xo5RRyv4TTTauy2TWtMXzYFSGa-nvxTa352-xu-pAIw,15815
81
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=yX-ICQs8Wf7ksSH71hTbApcE_c-7a_-6AAqRIVkf_Ys,29639
82
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=88IQkkTlbWHe1FyV7iwBhWi4iMB154VQm_oXgU0oGsE,53568
83
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py,sha256=I0f24qbterFb20X4N2O6IvdbgR71juE2t8d6ZdkwgnE,8605
84
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=MNnQ51ZWOQGVfBdpIqvr4OZF0tWdfrh2bsHP3xkTwQw,5841
85
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py,sha256=kLOnUNn-r1w1JXNQcVKe-Vp-fKhSfuDBuDqrjGkFZ3U,5544
86
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py,sha256=v07cILUzS5iFYDrSOAXK93yz50-FtxLaMYMwoaPOv20,7374
87
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_prompt_node_serialization.py,sha256=glOPy9y_GOLGMxc7glfo7IGq5iuCDbz9-TE_6Krha2U,18426
88
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=1ND_6lfPNUQjSc72k_sxydeeOU5f_kHkRXO65boYFok,21631
89
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=3gZuNM8sT6ovVaeoAvd2JoyKwuxokvowlhH8kwDUoZ8,16559
90
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=IIJt7YZBzkhNtbmaMwCX4ENs58QtSIIoBHlMR6OwGU8,8342
91
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=QXiRjwtiTPeMUl40Pvh_geeU99C3mv1aVS85oeIUwY4,21052
92
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py,sha256=JuosR1Xvyy2-0UKuCxx0P_3QH3OXgU88llxpyQ7NScM,12936
93
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=KkYZc_bZuq1lmDcvUz3QxIqJLpQPCZioD1FHUNsMJY8,11211
94
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py,sha256=aZaqRDrkO3ytcmdM2eKJqHSt60MF070NMj6M2vgzOKc,7711
95
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=r748dpS13HtwY7t_KQFExFssxRy0xI2d-wxmhiUHRe0,3850
96
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_inline_workflow_serialization.py,sha256=7UWh_8dKiRL7AochCcIvOsWvC0G3yp8aEup1wIIPo9k,25256
97
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_serialization.py,sha256=Cx3oY6vPVap0xm_mChqfQw4zzR4pqV36o_SyD8g6jPY,8727
98
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=EL5kfakuoEcwD85dGjhMta-J-PpCHRSDoc80SdbBrQk,2769
99
- vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=RmFUDx8dYdfsOE2CGLvdXqNNRtLLpVzXDN8dqZyMcZ8,5822
80
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=Q3QOzzF7KE_9EukJ9yNFgYL7Qio_vTqDVd-6kc40wd4,15834
81
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=SrpLTehz__k9DFGMTWQfTKxuzDxY2rLi8TJ27-h0UKE,29681
82
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=cBHGuY-DeyqQlLbpRZrrQyDh7em8rPkB7bV9Vi0EFoE,53608
83
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py,sha256=E1ww97BFoGbnRkxf84TScat5NQhP8nLVrdaOlpGnSKU,8615
84
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=w1BYEZXIMjWmcKGQXzhelHnKFlEAXmsgjkI9fcgqKXA,5850
85
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py,sha256=-T0cd2jx1bC0ZNtAESF78fnYD_0nOqo8zMMLwRHUTRM,6227
86
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py,sha256=PZ9Yec8D6e9wM2kh5eWtNvK5BghTf1RdvoSW5_pw3FM,7384
87
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_prompt_node_serialization.py,sha256=V1HtvMavVd8KkSow5D8gVPGoDNw9XGQ_7_rCZ90EaxM,18436
88
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=3Djct7lIr2TPW-wDd_t6eoNdsE0hBOj9OwKWRroXMUo,21659
89
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=91u9FWLErrNGfUkZ22ifk6IazGtaYoDFbZYjhxEESgI,16579
90
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=rtkAQw5awOFX3pWh0qz3f766-tTnPhToGsXVSHO4M4U,8352
91
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=RgJw9lwI7ihqngEbdWbxfIsO1q0asi2JrBx1PRebndU,21076
92
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py,sha256=_XL63ndls2S6-WnKT78BE67SezhO2FaeVlfozzpdku4,12946
93
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=XWrhHg_acLsRHwjstBAii9Pmes9oXFtAUWSAVF1oSBc,11225
94
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py,sha256=V8b6gKghLlO7PJI8xeNdnfn8aII0W_IFQvSQBQM62UQ,7721
95
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=hDWtKXmGI1CKhTwTNqpu_d5RkE5n7SolMLtgd87KqTI,3856
96
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_inline_workflow_serialization.py,sha256=cBkVVCfXKhPYV9azlGYdNX1yD3V39D6hcgqiFLT1JjI,25274
97
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_serialization.py,sha256=FgtOfaI_9rnypCG4aSt5UGDrpBdKlCp6-QV21MZNsHw,8731
98
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=pLCyMScV88DTBXRH7jXaXOEA1GBq8NIipCUFwIAWnwI,2771
99
+ vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=J4ouI8KxbMfxQP2Zq_9cWMGYgbjCWmKzjCJEtnSJb0I,5829
100
100
  vellum_ee/workflows/display/tests/workflow_serialization/test_workflow_input_parameterization_error.py,sha256=vAdmn3YTBDpo55znbydQxsgg9ASqHcvsUPwiBR_7wfo,1461
101
101
  vellum_ee/workflows/display/types.py,sha256=i4T7ElU5b5h-nA1i3scmEhO1BqmNDc4eJDHavATD88w,2821
102
102
  vellum_ee/workflows/display/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
- vellum_ee/workflows/display/utils/auto_layout.py,sha256=R_BLSZjdanj3UIR4cS6WVT6ek0i7AKJyHSjK1wPiois,3877
103
+ vellum_ee/workflows/display/utils/auto_layout.py,sha256=f4GiLn_LazweupfqTpubcdtdfE_vrOcmZudSsnYIY9E,3906
104
104
  vellum_ee/workflows/display/utils/exceptions.py,sha256=LSwwxCYNxFkf5XMUcFkaZKpQ13OSrI7y_bpEUwbKVk0,169
105
105
  vellum_ee/workflows/display/utils/expressions.py,sha256=bSZ-sRByLCsut8XcRkCFbbqYvw9p7tlIeF-HFnEm664,14354
106
106
  vellum_ee/workflows/display/utils/registry.py,sha256=fWIm5Jj-10gNFjgn34iBu4RWv3Vd15ijtSN0V97bpW8,1513
@@ -109,7 +109,7 @@ vellum_ee/workflows/display/utils/tests/test_auto_layout.py,sha256=vfXI769418s9v
109
109
  vellum_ee/workflows/display/utils/vellum.py,sha256=mtoXmSYwR7rvrq-d6CzCW_auaJXTct0Mi1F0xpRCiNQ,5627
110
110
  vellum_ee/workflows/display/vellum.py,sha256=o7mq_vk2Yapu9DDKRz5l76h8EmCAypWGQYe6pryrbB8,3576
111
111
  vellum_ee/workflows/display/workflows/__init__.py,sha256=kapXsC67VJcgSuiBMa86FdePG5A9kMB5Pi4Uy1O2ob4,207
112
- vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=LKM8MnrezrBHU1W5gZ2y82UqkBwnKQ2OBQZD56g-XmI,33399
112
+ vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=4Acuh71NPso48RaihHApX27aQJWP37nhq4DVzYaG3_E,40285
113
113
  vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=gxz76AeCqgAZ9D2lZeTiZzxY9eMgn3qOSfVgiqYcOh8,2028
114
114
  vellum_ee/workflows/display/workflows/tests/test_workflow_display.py,sha256=L7SKWJ26Ex-XXTNfHYXux7KP6I-dxE1EMQylap4Mhjs,31762
115
115
  vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=aaKdmWrgEe5YyV4zuDY_4E3y-l59rIHQnNGiPj2OWxQ,359
@@ -135,14 +135,15 @@ vellum_ee/workflows/tests/local_workflow/nodes/final_output.py,sha256=ZX7zBv87zi
135
135
  vellum_ee/workflows/tests/local_workflow/nodes/templating_node.py,sha256=NQwFN61QkHfI3Vssz-B0NKGfupK8PU0FDSAIAhYBLi0,325
136
136
  vellum_ee/workflows/tests/local_workflow/workflow.py,sha256=A4qOzOPNwePYxWbcAgIPLsmrVS_aVEZEc-wULSv787Q,393
137
137
  vellum_ee/workflows/tests/test_display_meta.py,sha256=DIzjNbwK1-4mlttPML6NskQ4rPVMXhj5zeOmBEyPqKI,3728
138
+ vellum_ee/workflows/tests/test_serialize_module.py,sha256=qcHbl6YaKtJebQJvw0OXCVlJXLkj6sjkbSMu05zXI0U,1874
138
139
  vellum_ee/workflows/tests/test_server.py,sha256=SsOkS6sGO7uGC4mxvk4iv8AtcXs058P9hgFHzTWmpII,14519
139
140
  vellum_ee/workflows/tests/test_virtual_files.py,sha256=TJEcMR0v2S8CkloXNmCHA0QW0K6pYNGaIjraJz7sFvY,2762
140
- vellum/__init__.py,sha256=IYGBqJ8OLfaIyX3UJcfQeRdF-qKVepOPdi6M0O3Vgq4,42290
141
+ vellum/__init__.py,sha256=GQqR0tDU6_sjyk9pP-0qqV7Rrk1p5b8ObQKR5Xnr4o8,42510
141
142
  vellum/client/README.md,sha256=CuGUYnaE0Imt0KqQ4sIPaUghCjLHkF3DdEvZWu14-8s,4807
142
143
  vellum/client/__init__.py,sha256=AYopGv2ZRVn3zsU8_km6KOvEHDbXiTPCVuYVI7bWvdA,120166
143
144
  vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
144
145
  vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
145
- vellum/client/core/client_wrapper.py,sha256=3ZqkR_DngkaI-fY5PAgWW2c7RZ88oONDwDkWfxAKLBc,1869
146
+ vellum/client/core/client_wrapper.py,sha256=NZGCmazGkAcH9HD3LVtp7biFxQCStGNJDV4zWkgIQLw,1869
146
147
  vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
147
148
  vellum/client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
148
149
  vellum/client/core/http_client.py,sha256=Z77OIxIbL4OAB2IDqjRq_sYa5yNYAWfmdhdCSSvh6Y4,19552
@@ -151,7 +152,7 @@ vellum/client/core/pydantic_utilities.py,sha256=lnpQ0SFnoVDtFp7vSHt5lmBXWeqgg03V
151
152
  vellum/client/core/query_encoder.py,sha256=ekulqNd0j8TgD7ox-Qbz7liqX8-KP9blvT9DsRCenYM,2144
152
153
  vellum/client/core/remove_none_from_dict.py,sha256=EU9SGgYidWq7SexuJbNs4-PZ-5Bl3Vppd864mS6vQZw,342
153
154
  vellum/client/core/request_options.py,sha256=h0QUNCFVdCW_7GclVySCAY2w4NhtXVBUCmHgmzaxpcg,1681
154
- vellum/client/core/serialization.py,sha256=D9h_t-RQON3-CHWs1C4ESY9B-Yd5d-l5lnTLb_X896g,9601
155
+ vellum/client/core/serialization.py,sha256=7mRS2A0qm29_wI4e7fdpXuz0tC-UUqMbn4T4_MBDrA0,9602
155
156
  vellum/client/environment.py,sha256=bcAFjoE9XXd7tiysYS90Os669IJmUMZS2JZ_ZQn0Dpg,498
156
157
  vellum/client/errors/__init__.py,sha256=HZB8vVqzDNx0M2uFJ05S5RcGTH95iVDl4v3rQ4xRqSw,343
157
158
  vellum/client/errors/bad_request_error.py,sha256=_EbO8mWqN9kFZPvIap8qa1lL_EWkRcsZe1HKV9GDWJY,264
@@ -210,7 +211,7 @@ vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCat
210
211
  vellum/client/resources/workspace_secrets/client.py,sha256=zlBdbeTP6sqvtyl_DlrpfG-W5hSP7tJ1NYLSygi4CLU,8205
211
212
  vellum/client/resources/workspaces/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
212
213
  vellum/client/resources/workspaces/client.py,sha256=RthwzN1o-Jxwg5yyNNodavFyNUSxfLoTv26w3mRR5g8,3595
213
- vellum/client/types/__init__.py,sha256=4IDszjF4RsdBrwOSkZ21ZJ1I90jyRwCkZpmXC8n7kpI,64067
214
+ vellum/client/types/__init__.py,sha256=DPbl8CjtbEKqhlsrTZxdRgx2vvJ9ZVvD20RO2AERRGM,64415
214
215
  vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
215
216
  vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
216
217
  vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=oDG60TpwK1YNSKhRsBbiP2O3ZF9PKR-M9chGIfKw4R4,1004
@@ -241,6 +242,7 @@ vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_c
241
242
  vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py,sha256=QDv4d6ml773U6EpiAkNRJCHi3jgiRPOoCLXXMhGyJ7o,918
242
243
  vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py,sha256=n1ijP1zw-lQnxbj_ZfederNYD4LW-FGDklUOlYewxwg,911
243
244
  vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py,sha256=Y79jx-9QkbTzb7jSx8xF6YtbAB914u9E9uXOapk8TQc,918
245
+ vellum/client/types/build_status_enum.py,sha256=wvfnq2BV4ZJX_kVgXDCNwtSCnkYazWLKEuNBHlk86sU,195
244
246
  vellum/client/types/chat_history_input.py,sha256=lNh5j5mFxs0nTknzsL8kt9yAERpAWid7EWUU0i8BybM,853
245
247
  vellum/client/types/chat_history_input_request.py,sha256=0dmWfRWN9lOGEorQ3P1jKPAQtcXVexxiU9UEoJKP_pU,882
246
248
  vellum/client/types/chat_history_vellum_value.py,sha256=_yg6qk2Jci_rjFPOd3KNkXY0AduoEX1Tk8oPzQVpBYw,763
@@ -276,8 +278,9 @@ vellum/client/types/components_schemas_prompt_version_build_config_sandbox.py,sh
276
278
  vellum/client/types/condition_combinator.py,sha256=NQ6-F85juf21jsRuZRA6PjIFv7ITVWG5myuuZdLxeQI,156
277
279
  vellum/client/types/conditional_node_result.py,sha256=vx8xo9F1KoJqOnYPtSevfOcBxKYAk8J8JGWFr1c4UO8,784
278
280
  vellum/client/types/conditional_node_result_data.py,sha256=yk4E7KHSzmKlweI9ce9eN_iW08V70KGmG1Z0K5455T0,604
281
+ vellum/client/types/container_image_build_config.py,sha256=KJnx5PNdLJajPEa4A75GM7tN1nsZKS9JjWxm3-tpSlU,659
279
282
  vellum/client/types/container_image_container_image_tag.py,sha256=ph9Xs0R386viUofCITdUfIKCLaDJokY5nzczf0iReuA,622
280
- vellum/client/types/container_image_read.py,sha256=l7tYflFivZ7sKrHd9aIlBWbkh_ZnbmN6XDbWJgNrNDk,896
283
+ vellum/client/types/container_image_read.py,sha256=pm2gZp08JgZh15pH__voBvJ2U7k39_cHe6h2bV89FKY,1137
281
284
  vellum/client/types/create_test_suite_test_case_request.py,sha256=3LmAy6U8tUJ75dmmnMMJyAJ4_xp7TT3iTzks8C8fHJk,1508
282
285
  vellum/client/types/deployment_history_item.py,sha256=-u7UYEFpVOlFijErPLGO99WYQxAnctZK52W-GM4KJJU,1132
283
286
  vellum/client/types/deployment_provider_payload_response.py,sha256=b0lkt0rK88ARQaMWn9MAHeWtMBsZKofDMlOAUsQvv7g,818
@@ -312,7 +315,7 @@ vellum/client/types/error_vellum_value_request.py,sha256=o0aSn34dRcpnAwAfwW_sgwP
312
315
  vellum/client/types/execute_api_request_bearer_token.py,sha256=agAhp9lzfzZcYGZdzg2jHAEHCaHlqzbgp6qeeNebcto,183
313
316
  vellum/client/types/execute_api_request_body.py,sha256=WySF2yj9rtx2vF4En0dfZkzPF2FNFtVRFW7P8Mw-hF8,217
314
317
  vellum/client/types/execute_api_request_headers_value.py,sha256=bHtGwOpknQDcQo6qtMKqJxaYpvbinDfwx2uaPzyuZ9s,184
315
- vellum/client/types/execute_api_response.py,sha256=TBBLTgllRBiIq4moOVylUqwmk7kpVqGlPV5y5iquq2g,843
318
+ vellum/client/types/execute_api_response.py,sha256=LMnUlNFOSPrhuD4G3g0J_Y-c14R7gm0aVs7l6WYyNvk,867
316
319
  vellum/client/types/execute_api_response_json.py,sha256=80J1Du-JQGlVXIEECClC-IMYhTpcSTMtlYP_2Pq64kA,213
317
320
  vellum/client/types/execute_prompt_event.py,sha256=wq_TZBDJcmXQhSj25jR9nMTnN-mP8Ku5Vq3rLqmwE5Q,521
318
321
  vellum/client/types/execute_prompt_response.py,sha256=n6ODveXcO8uWG-kr_B9wXziHH8JUaVTUcUAZKifClEo,334
@@ -333,7 +336,9 @@ vellum/client/types/external_test_case_execution_request.py,sha256=xd80GZg4FbZP6
333
336
  vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py,sha256=XhNEBWd5qzFiXTestFPTusjxYfqW8j_kHBebCMfa58M,719
334
337
  vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py,sha256=xC0-zak2HonnyyiooqXSWiQQyrQK6yf6BFogt_TzSCo,726
335
338
  vellum/client/types/finish_reason_enum.py,sha256=KoNjzvXMHDCT0AUhhwGoZ1_7bi4h3fZEFvvHyGyoTP8,169
336
- vellum/client/types/folder_entity.py,sha256=v8zNprIbxktOzmncbNXTOJlLTBV5bZqD1Z_AGGHG1_8,578
339
+ vellum/client/types/folder_entity.py,sha256=L9WTL2oRe39aYes4BS9PdUX_X_cwl3LvqCmBI4UpGd0,658
340
+ vellum/client/types/folder_entity_dataset.py,sha256=ipe65L7OFDjSYaJ7j4Yfrqse0dPJTYj7w7BKo6P2oP8,793
341
+ vellum/client/types/folder_entity_dataset_data.py,sha256=vsxpNGqhwe_1Fzo5UnoJAy9cViqh5MgBBDzaLVGHrgQ,711
337
342
  vellum/client/types/folder_entity_document_index.py,sha256=-Tg2qnzGhp2FLnvGrgoVr0ZBEKFmm2TjgYvlII8tkog,839
338
343
  vellum/client/types/folder_entity_document_index_data.py,sha256=1mQxkj4TlbKyGpqMY_aPgWyDFTN6YW9VfszROU1cmM4,844
339
344
  vellum/client/types/folder_entity_folder.py,sha256=1GWfyHdenyAI2GXiouIbnFhPK4ADqZGFh-6fpp_C6-U,792
@@ -830,7 +835,7 @@ vellum/evaluations/utils/paginator.py,sha256=rEED_BJAXAM6tM1yMwHePNzszjq_tTq4NbQ
830
835
  vellum/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
831
836
  vellum/plugins/pydantic.py,sha256=j4ApZ5WyaoCX6v54qNoShhMFyft_uKWTkyAFz5wbcgg,3619
832
837
  vellum/plugins/utils.py,sha256=cPmxE9R2CK1bki2jKE8rB-G9zMf2pzHjSPDHFPXwd3Q,878
833
- vellum/plugins/vellum_mypy.py,sha256=QTuMSq6PiZW1dyTUZ5Bf1d4XkgFj0TKAgZLP8f4UgL4,27914
838
+ vellum/plugins/vellum_mypy.py,sha256=hfjC2rIxNdQuJa6fIN4PDgODnQ3YaUszyaV2eNbLJlE,27952
834
839
  vellum/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
835
840
  vellum/prompts/blocks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
836
841
  vellum/prompts/blocks/compilation.py,sha256=qeC_4La5auQkm4EyzCMpN34F5R8mjiGcLV7IxKgVf3k,9973
@@ -921,6 +926,7 @@ vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.
921
926
  vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py,sha256=MNlhf8d9HtBmga8xhpEHkzkvnf9lTFKtk4xeeZ7vbhc,212
922
927
  vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py,sha256=gXQ1EuHzIPFSMaBpnuImkeEsk2JfSf4Dp9vv1-hGts4,204
923
928
  vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py,sha256=qkfjRgAQBfc7yeG6HndHHT9IGo81ygepQ7-Q3lYIzZY,212
929
+ vellum/types/build_status_enum.py,sha256=k_uBZo04jYfv8l1vqly0efvyq_6E7b7Pj2TDko1Q_80,155
924
930
  vellum/types/chat_history_input.py,sha256=8TsZ8OXqutbK_cKxqFbi2-U-Ov4mT-br4cfD-elKqIw,156
925
931
  vellum/types/chat_history_input_request.py,sha256=QYQpTjKMlnxIyRzgXITy1FtHvQ10kkJs0os98ktFRds,164
926
932
  vellum/types/chat_history_vellum_value.py,sha256=e5OeLPRtc82pQqQinM1hEf7FhlQSYQjfNBkrJl3szEs,163
@@ -956,6 +962,7 @@ vellum/types/components_schemas_prompt_version_build_config_sandbox.py,sha256=7u
956
962
  vellum/types/condition_combinator.py,sha256=1wNfjIPngHhdUbhMpjNVZqUI8LEu0XIExUX4Rtln1Tg,158
957
963
  vellum/types/conditional_node_result.py,sha256=zcfDgqzQWXVcqEQi_ozC_7l2to8Y3uNZ5mFN_uIVDW8,161
958
964
  vellum/types/conditional_node_result_data.py,sha256=z7Mtn_iKkan2jrGc2Q7fx-anx3ijHSSqnZwAb1w4ouk,166
965
+ vellum/types/container_image_build_config.py,sha256=HwpCCo427Ee0j6_f72AV5gxaTAOR3NAjx__TtOe_yuI,166
959
966
  vellum/types/container_image_container_image_tag.py,sha256=RgDod58iPXdgq6sMp63qqmRF3gk_gTK1gwLVcgR58QA,173
960
967
  vellum/types/container_image_read.py,sha256=36LQzvJaDGH26wjD6_WxgzwkslgRZihSYXu5n4W7abk,158
961
968
  vellum/types/create_test_suite_test_case_request.py,sha256=D_d6psjOMWx5jr2c7FwNndSH1ay5afdu5QXckqtBmfU,173
@@ -1014,6 +1021,8 @@ vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py,sha256=NG9MjraDr4m6
1014
1021
  vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py,sha256=_5CERkmrTW-Pie0V9QC5IR_WFS5YRB4yNfndaUv6rJQ,190
1015
1022
  vellum/types/finish_reason_enum.py,sha256=CIomSWB4DFcwnO92nIjQsI_TWMtJTxBFwnFSWVoATsY,156
1016
1023
  vellum/types/folder_entity.py,sha256=zY6js2gTkiJtpUqa73fKd8niwxwsxF-woj_QiyTFXos,151
1024
+ vellum/types/folder_entity_dataset.py,sha256=SUxvfkwDsZgDpZfY8fJx9UtaGNZ2F2wigZXeqiYc1cc,159
1025
+ vellum/types/folder_entity_dataset_data.py,sha256=CYpSkJIcO9VRH3l0QzpcR0gTEgtG3lBlpxyVbi3RT0w,164
1017
1026
  vellum/types/folder_entity_document_index.py,sha256=WWj08Jkv9NyoPwWtvhQmdoEMnSJJ42HIFgOHJiFsm4o,166
1018
1027
  vellum/types/folder_entity_document_index_data.py,sha256=Q7KASkfzIzFoGE3kxsaxvjpxGe5LYvkUsgt0xOL3U7E,171
1019
1028
  vellum/types/folder_entity_folder.py,sha256=1IHHllK2qNOJW2qQEXJ6w3uhcibci9LtAns0ElVWtnY,158
@@ -1509,12 +1518,13 @@ vellum/workflows/environment/__init__.py,sha256=TJz0m9dwIs6YOwCTeuN0HHsU-ecyjc1O
1509
1518
  vellum/workflows/environment/environment.py,sha256=Ck3RPKXJvtMGx_toqYQQQF-ZwXm5ijVwJpEPTeIJ4_Q,471
1510
1519
  vellum/workflows/errors/__init__.py,sha256=tWGPu5xyAU8gRb8_bl0fL7OfU3wxQ9UH6qVwy4X4P_Q,113
1511
1520
  vellum/workflows/errors/types.py,sha256=nUWuniEfrhdtb-_2GzoDGlYnSJ_yuNUGjVkaKLNr-rM,4049
1512
- vellum/workflows/events/__init__.py,sha256=6pxxceJo2dcaRkWtkDAYlUQZ-PHBQSZytIoyuUK48Qw,759
1521
+ vellum/workflows/events/__init__.py,sha256=V4mh766fyA70WvHelm9kfVZGrUgEKcJ9tJt8EepfQYU,832
1513
1522
  vellum/workflows/events/node.py,sha256=TaawUxKaZG8cv_GkiKnJmjOmC4Ic0wMlsxUduF2Rbpw,5446
1523
+ vellum/workflows/events/stream.py,sha256=xhXJTZirFi0xad5neAQNogrIQ4h47fpnKbVC3vCM5Js,889
1514
1524
  vellum/workflows/events/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1515
1525
  vellum/workflows/events/tests/test_event.py,sha256=elg5j3MOdWQe-JjshopqVwd716Jrvtr9P_V2JUGZC60,17866
1516
1526
  vellum/workflows/events/types.py,sha256=LwgFlMRbptJvdPtPO1POUtGtbhGw7BSuvgHxNSgS7N8,4652
1517
- vellum/workflows/events/workflow.py,sha256=i9JSCANjAhf5uc57gYspdII2V2OLItbc0BfT8yB9mF0,7728
1527
+ vellum/workflows/events/workflow.py,sha256=7rb1evKsTCRUdCnisAM5Anc19ZKGxnsmzwOOv6jwWEI,7761
1518
1528
  vellum/workflows/exceptions.py,sha256=NiBiR3ggfmPxBVqD-H1SqmjI-7mIn0EStSN1BqApvCM,1213
1519
1529
  vellum/workflows/expressions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1520
1530
  vellum/workflows/expressions/accessor.py,sha256=1kY0sYfednQ_u0kh1Df2WTsDREVIOzU7UuZc5jvj5xw,2861
@@ -1580,7 +1590,7 @@ vellum/workflows/nodes/core/map_node/tests/test_node.py,sha256=rf7CCDtjHxoPKeEtm
1580
1590
  vellum/workflows/nodes/core/retry_node/__init__.py,sha256=lN2bIy5a3Uzhs_FYCrooADyYU6ZGShtvLKFWpelwPvo,60
1581
1591
  vellum/workflows/nodes/core/retry_node/node.py,sha256=EM4ya8Myr7ADllpjt9q-BAhB3hGrsF8MLZhp5eh4lyo,5590
1582
1592
  vellum/workflows/nodes/core/retry_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1583
- vellum/workflows/nodes/core/retry_node/tests/test_node.py,sha256=RM_OHwxrHwyxvlQQBJPqVBxpedFuWQ9h2-Xa3kP75sc,4399
1593
+ vellum/workflows/nodes/core/retry_node/tests/test_node.py,sha256=PCvD_XROP26k4cVYOdSQUfkDdbTljAJxtOTFzOUoS8c,4450
1584
1594
  vellum/workflows/nodes/core/templating_node/__init__.py,sha256=GmyuYo81_A1_Bz6id69ozVFS6FKiuDsZTiA3I6MaL2U,70
1585
1595
  vellum/workflows/nodes/core/templating_node/node.py,sha256=iqBmr2i-f-BqhisNQJiDfewjol0ur7-XpupLStyMJsg,3731
1586
1596
  vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py,sha256=nXkgGDBg4wP36NwykdMEVWwx_xjv8oGT2rYkwuCB_VU,10075
@@ -1590,19 +1600,19 @@ vellum/workflows/nodes/core/try_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW
1590
1600
  vellum/workflows/nodes/core/try_node/tests/test_node.py,sha256=h6eUc3SggvhzBWlOD0PrPUlkoCSQHwjqYn81VkxSIxU,4948
1591
1601
  vellum/workflows/nodes/displayable/__init__.py,sha256=6F_4DlSwvHuilWnIalp8iDjjDXl0Nmz4QzJV2PYe5RI,1023
1592
1602
  vellum/workflows/nodes/displayable/api_node/__init__.py,sha256=MoxdQSnidIj1Nf_d-hTxlOxcZXaZnsWFDbE-PkTK24o,56
1593
- vellum/workflows/nodes/displayable/api_node/node.py,sha256=CjbQJp9tGRgS-ebQqm3eoxmEeeSzrxousIawo3woUYw,2896
1603
+ vellum/workflows/nodes/displayable/api_node/node.py,sha256=kGvKPxXj4XcAsNLtvE1RBGI58MiSNTkQcQU2g2JHC3E,2922
1594
1604
  vellum/workflows/nodes/displayable/api_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1595
- vellum/workflows/nodes/displayable/api_node/tests/test_api_node.py,sha256=s7-r3oGKeoQUaJ5w6FY8SXwuiafNpE6nvNT1gNJIBnM,6734
1605
+ vellum/workflows/nodes/displayable/api_node/tests/test_api_node.py,sha256=kZQz_SOMxW_r_6t7OSCuGFifEBqxnPW3K1sE2TkiPtA,8021
1596
1606
  vellum/workflows/nodes/displayable/bases/__init__.py,sha256=0mWIx3qUrzllV7jqt7wN03vWGMuI1WrrLZeMLT2Cl2c,304
1597
1607
  vellum/workflows/nodes/displayable/bases/api_node/__init__.py,sha256=1jwx4WC358CLA1jgzl_UD-rZmdMm2v9Mps39ndwCD7U,64
1598
- vellum/workflows/nodes/displayable/bases/api_node/node.py,sha256=70pLGU0UzWvSbKwNkx3YlUYrDSkl7MmhVHoI8bzN79c,4343
1608
+ vellum/workflows/nodes/displayable/bases/api_node/node.py,sha256=4rRrF8IV9ATMm4i5mxjwArYmvSrlDyDxBMWQTrhY3p8,4606
1599
1609
  vellum/workflows/nodes/displayable/bases/base_prompt_node/__init__.py,sha256=Org3xTvgp1pA0uUXFfnJr29D3HzCey2lEdYF4zbIUgo,70
1600
1610
  vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py,sha256=lGAWxTf02rRBgyxAFJNGldRX6sCRAZUDiUllg6zogHY,4459
1601
1611
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/__init__.py,sha256=Hl35IAoepRpE-j4cALaXVJIYTYOF3qszyVbxTj4kS1s,82
1602
1612
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/constants.py,sha256=fnjiRWLoRlC4Puo5oQcpZD5Hd-EesxsAo9l5tGAkpZQ,270
1603
- vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=cD2RzOX9WE6xTKgm09dsEw4xHATZbOjeGyYCSdl8fjU,11785
1613
+ vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=bxCDBOF5HR17-YCSAqEkCJKYU50TYx1C15XaAb7Xxw8,12896
1604
1614
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1605
- vellum/workflows/nodes/displayable/bases/inline_prompt_node/tests/test_inline_prompt_node.py,sha256=terQtPqLGiKKGtU7zbkM3XkbVddLQI87bBj31M0zaRE,21356
1615
+ vellum/workflows/nodes/displayable/bases/inline_prompt_node/tests/test_inline_prompt_node.py,sha256=H1xEaL3vgEPAGQaF_rt8kLl46qmVJEEhcORXT7oRdPk,22626
1606
1616
  vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=0a40fkkZkFMmZN0CsWf6EP_y1H6x36EGa3WcfVNyOsM,9797
1607
1617
  vellum/workflows/nodes/displayable/bases/search_node.py,sha256=-BxQtuPgq8NZfUf5XJgHNQTni5kGbvAHq7WFqd0Euck,6107
1608
1618
  vellum/workflows/nodes/displayable/bases/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1645,7 +1655,7 @@ vellum/workflows/nodes/displayable/search_node/node.py,sha256=1dGCB1kb7MvX3fUJ5z
1645
1655
  vellum/workflows/nodes/displayable/search_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1646
1656
  vellum/workflows/nodes/displayable/search_node/tests/test_node.py,sha256=WVZR3BI_CvxBG9hulv0-tcAc_gW5ozs0nH4uVNRJa2U,8863
1647
1657
  vellum/workflows/nodes/displayable/subworkflow_deployment_node/__init__.py,sha256=9yYM6001YZeqI1VOk1QuEM_yrffk_EdsO7qaPzINKds,92
1648
- vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=lq8_USZkNiYktH0oJSW2jOuXyRtVwVoq1CKFdCek5-M,9719
1658
+ vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=hMyCIe9PoxAu5TLxalgnIc7na4LEKM9UAugd5ReXZnk,10026
1649
1659
  vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1650
1660
  vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/test_node.py,sha256=c98nMPogZ6iN_pTvVUMTB3J72Hj--H-XVgvvRXhdSQE,19085
1651
1661
  vellum/workflows/nodes/displayable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1658,9 +1668,11 @@ vellum/workflows/nodes/experimental/__init__.py,sha256=_tpZGWAZLydcKxfrj1-plrZeT
1658
1668
  vellum/workflows/nodes/experimental/openai_chat_completion_node/__init__.py,sha256=lsyD9laR9p7kx5-BXGH2gUTM242UhKy8SMV0SR6S2iE,90
1659
1669
  vellum/workflows/nodes/experimental/openai_chat_completion_node/node.py,sha256=cKI2Ls25L-JVt4z4a2ozQa-YBeVy21Z7BQ32Sj7iBPE,10460
1660
1670
  vellum/workflows/nodes/experimental/tool_calling_node/__init__.py,sha256=S7OzT3I4cyOU5Beoz87nPwCejCMP2FsHBFL8OcVmxJ4,118
1661
- vellum/workflows/nodes/experimental/tool_calling_node/node.py,sha256=FkhaJccpCbx2be_IZ5V2v6Lo-jPJ0WgSC5tveLvAW4A,5774
1671
+ vellum/workflows/nodes/experimental/tool_calling_node/node.py,sha256=CkSVbTHWX70MikBKMWfDRLb2xDhEl4K4qpIrNmRVVRU,5689
1672
+ vellum/workflows/nodes/experimental/tool_calling_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1662
1673
  vellum/workflows/nodes/experimental/tool_calling_node/tests/test_node.py,sha256=7x_o81vT7gWtVw3zDppcWnlJbakgxx_oI1esqhs2gpI,4551
1663
- vellum/workflows/nodes/experimental/tool_calling_node/utils.py,sha256=iiB_Tm3zvElispx_DhnW4eQH1MnK-Y9k44X_PSpp7p8,9923
1674
+ vellum/workflows/nodes/experimental/tool_calling_node/tests/test_utils.py,sha256=sF4ZfGK2uQNBVXC9yrnbFVzKIM-HWvXO1wak160MUTE,1386
1675
+ vellum/workflows/nodes/experimental/tool_calling_node/utils.py,sha256=1wjOayk35rMEQWItpCUwP0UTtgdB27u1WzjsNAD0f4o,12052
1664
1676
  vellum/workflows/nodes/mocks.py,sha256=a1FjWEIocseMfjzM-i8DNozpUsaW0IONRpZmXBoWlyc,10455
1665
1677
  vellum/workflows/nodes/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1666
1678
  vellum/workflows/nodes/tests/test_mocks.py,sha256=mfPvrs75PKcsNsbJLQAN6PDFoVqs9TmQxpdyFKDdO60,7837
@@ -1671,7 +1683,7 @@ vellum/workflows/outputs/base.py,sha256=1OGHqBJVk7i8cW8uewFWOhIjuMlRRpzCDrGE30Zw
1671
1683
  vellum/workflows/ports/__init__.py,sha256=bZuMt-R7z5bKwpu4uPW7LlJeePOQWmCcDSXe5frUY5g,101
1672
1684
  vellum/workflows/ports/node_ports.py,sha256=2Uo9gwNVCuH86J-GXcpc95QSDh5I-XVvhHJCMSWe-S8,2825
1673
1685
  vellum/workflows/ports/port.py,sha256=j_qiZlpx-a1cK5E7sxXwPcb_9NS-KUM-JoP8mgqg32k,4073
1674
- vellum/workflows/ports/utils.py,sha256=cWJ9xX1KrHBTiU3xe6t7Rs0yaOy9RV18GMtHaAshAsc,3094
1686
+ vellum/workflows/ports/utils.py,sha256=gD8iijX8D3tjx1Tj2FW8-QIubCphTqW_gqROt6w6MOM,3790
1675
1687
  vellum/workflows/references/__init__.py,sha256=glHFC1VfXmcbNvH5VzFbkT03d8_D7MMcvEcsUBrzLIs,591
1676
1688
  vellum/workflows/references/constant.py,sha256=6yUT4q1sMj1hkI_tzzQ9AYcmeeDYFUNCqUq_W2DN0S8,540
1677
1689
  vellum/workflows/references/environment_variable.py,sha256=evpxiBKzBk74JzxBXWkfTrZe4Kx-fuUG1W6XjtXzaUw,700
@@ -1688,7 +1700,7 @@ vellum/workflows/references/workflow_input.py,sha256=W3rOK1EPd2gYHb04WJwmNm1CUSd
1688
1700
  vellum/workflows/resolvers/__init__.py,sha256=eH6hTvZO4IciDaf_cf7aM2vs-DkBDyJPycOQevJxQnI,82
1689
1701
  vellum/workflows/resolvers/base.py,sha256=WHra9LRtlTuB1jmuNqkfVE2JUgB61Cyntn8f0b0WZg4,411
1690
1702
  vellum/workflows/runner/__init__.py,sha256=i1iG5sAhtpdsrlvwgH6B-m49JsINkiWyPWs8vyT-bqM,72
1691
- vellum/workflows/runner/runner.py,sha256=j2LGHb4fDWR1pB__C1efIMxptq_C49fcOpz893bQHVQ,33645
1703
+ vellum/workflows/runner/runner.py,sha256=U25YA1_vBgTDhOAxoVCRcNyFX2P5EraN7Mdsr4MX8p0,35031
1692
1704
  vellum/workflows/sandbox.py,sha256=GVJzVjMuYzOBnSrboB0_6MMRZWBluAyQ2o7syeaeBd0,2235
1693
1705
  vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
1694
1706
  vellum/workflows/state/base.py,sha256=WIMJYyuHUrP4zt0Nudk66HAK1L6GgGmsU_GQp7BGE2U,22189
@@ -1702,32 +1714,33 @@ vellum/workflows/tests/test_sandbox.py,sha256=JKwaluI-lODQo7Ek9sjDstjL_WTdSqUlVi
1702
1714
  vellum/workflows/tests/test_undefined.py,sha256=zMCVliCXVNLrlC6hEGyOWDnQADJ2g83yc5FIM33zuo8,353
1703
1715
  vellum/workflows/types/__init__.py,sha256=KxUTMBGzuRCfiMqzzsykOeVvrrkaZmTTo1a7SLu8gRM,68
1704
1716
  vellum/workflows/types/code_execution_node_wrappers.py,sha256=3MNIoFZKzVzNS5qFLVuDwMV17QJw72zo7NRf52yMq5A,3074
1705
- vellum/workflows/types/core.py,sha256=kMQremh_I8egXpiKmtMQbB6e3OczAWiRnnTq5V6xlD0,928
1706
- vellum/workflows/types/definition.py,sha256=z81CL_u0FJol-9yUIqoXNTYAARtU8x__c6s-f4rb5c8,2335
1717
+ vellum/workflows/types/core.py,sha256=iLJkMKf417kjwRncWdT_qsfJ-qBv5x58um7SfrydJbs,1266
1718
+ vellum/workflows/types/definition.py,sha256=8DyNh3KP3p4Gsi-HJqai0f4sc9P-E2lDbp_0krsrE7g,2516
1707
1719
  vellum/workflows/types/generics.py,sha256=tKXz0LwWJGKw1YGudyl9_yFDrRgU6yYV1yJV1Zv-LTw,1430
1708
1720
  vellum/workflows/types/stack.py,sha256=h7NE0vXR7l9DevFBIzIAk1Zh59K-kECQtDTKOUunwMY,1314
1709
1721
  vellum/workflows/types/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1710
1722
  vellum/workflows/types/tests/test_utils.py,sha256=UnZog59tR577mVwqZRqqWn2fScoOU1H6up0EzS8zYhw,2536
1711
1723
  vellum/workflows/types/utils.py,sha256=axxHbPLsnjhEOnMZrc5YarFd-P2bnsacBDQGNCvY8OY,6367
1712
1724
  vellum/workflows/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1713
- vellum/workflows/utils/functions.py,sha256=FmbOnwl8tLUzbssybZkWRHyUfuXarimYMMD3ZTiUcPE,5390
1725
+ vellum/workflows/utils/functions.py,sha256=eRtqQaxtv6NFe5v2pRO-b7kOH2_NOQS8tsKGOEEEdxY,7168
1714
1726
  vellum/workflows/utils/names.py,sha256=QLUqfJ1tmSEeUwBKTTiv_Qk3QGbInC2RSmlXfGXc8Wo,380
1727
+ vellum/workflows/utils/pydantic_schema.py,sha256=eR_bBtY-T0pttJP-ARwagSdCOnwPUtiT3cegm2lzDTQ,1310
1715
1728
  vellum/workflows/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1716
- vellum/workflows/utils/tests/test_functions.py,sha256=kw-HaYo9JAigFj6sfnAFAbBTLUzPMxB1DeEUY-o10AU,13143
1729
+ vellum/workflows/utils/tests/test_functions.py,sha256=bDobzPtxrFpkSBsR86BE4Zb8rD44y6tiTe6HXrLtOqU,18445
1717
1730
  vellum/workflows/utils/tests/test_names.py,sha256=aOqpyvMsOEK_9mg_-yaNxQDW7QQfwqsYs37PseyLhxw,402
1718
1731
  vellum/workflows/utils/tests/test_uuids.py,sha256=i77ABQ0M3S-aFLzDXHJq_yr5FPkJEWCMBn1HJ3DObrE,437
1719
- vellum/workflows/utils/tests/test_vellum_variables.py,sha256=maI5e7Od7UlpMwlrOrcdlXqnFhonkXGnWq8G2-YQLi8,1155
1732
+ vellum/workflows/utils/tests/test_vellum_variables.py,sha256=vbnKgm41aB5OXlO-ZIPbhQ6xDiZkT8KMxCLqz4zocWY,1791
1720
1733
  vellum/workflows/utils/uuids.py,sha256=DFzPv9RCvsKhvdTEIQyfSek2A31D6S_QcmeLPbgrgTY,739
1721
- vellum/workflows/utils/vellum_variables.py,sha256=UiGlUh0a8vel2FbW3w-xbHxSv_jNutkDdqMVtP_b42A,3385
1734
+ vellum/workflows/utils/vellum_variables.py,sha256=tDWGyE8CfxYaCQQfMwTHqQNgK5V5sJMuhjLsliT8Ar4,4286
1722
1735
  vellum/workflows/vellum_client.py,sha256=xkfoucodxNK5JR2-lbRqZx3xzDgExWkP6kySrpi_Ubc,1079
1723
1736
  vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
1724
- vellum/workflows/workflows/base.py,sha256=V60RZat8mG0XmMuIjprkHnacD_MpUdxGcN9t4TaP_Pg,24044
1737
+ vellum/workflows/workflows/base.py,sha256=ehJSHDf1vuNjJtKryqKgb5HKGtx_D-wWUiJNBWZ50JU,24347
1725
1738
  vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnadGsrSZGa7t7LpJA,2008
1726
1739
  vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1727
1740
  vellum/workflows/workflows/tests/test_base_workflow.py,sha256=fROqff6AZpCIzaSwOKSdtYy4XR0UZQ6ejxL3RJOSJVs,20447
1728
1741
  vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
1729
- vellum_ai-0.14.71.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1730
- vellum_ai-0.14.71.dist-info/METADATA,sha256=C5GX4tfVPU2-YXu_9tu4RToI1a6SafllfrsjW6SiM9c,5556
1731
- vellum_ai-0.14.71.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1732
- vellum_ai-0.14.71.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1733
- vellum_ai-0.14.71.dist-info/RECORD,,
1742
+ vellum_ai-0.14.73.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1743
+ vellum_ai-0.14.73.dist-info/METADATA,sha256=XoU3nebnJNAQ7L7BEvZpXjoLwW0JMAUx88t4TikRG3s,5556
1744
+ vellum_ai-0.14.73.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1745
+ vellum_ai-0.14.73.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1746
+ vellum_ai-0.14.73.dist-info/RECORD,,
vellum_cli/image_push.py CHANGED
@@ -30,12 +30,8 @@ def image_push_command(
30
30
  if not os.path.exists(source):
31
31
  handle_cli_error(logger, "Dockerfile not found", f"Dockerfile does not exist: {source}")
32
32
 
33
- source_dir = os.path.dirname(source)
34
- dockerfile_name = os.path.basename(source)
35
-
36
33
  build_result = subprocess.run(
37
- ["docker", "buildx", "build", "-f", dockerfile_name, "--platform=linux/amd64", "-t", image, "."],
38
- cwd=source_dir,
34
+ ["docker", "buildx", "build", "-f", source, "--platform=linux/amd64", "-t", image, "."],
39
35
  stdout=subprocess.PIPE,
40
36
  stderr=subprocess.PIPE,
41
37
  )
vellum_cli/push.py CHANGED
@@ -13,10 +13,9 @@ from vellum.client.core.api_error import ApiError
13
13
  from vellum.resources.workflows.client import OMIT
14
14
  from vellum.types import WorkflowPushDeploymentConfigRequest
15
15
  from vellum.workflows.vellum_client import create_vellum_client
16
- from vellum.workflows.workflows.base import BaseWorkflow
17
16
  from vellum_cli.config import DEFAULT_WORKSPACE_CONFIG, WorkflowConfig, WorkflowDeploymentConfig, load_vellum_cli_config
18
17
  from vellum_cli.logger import handle_cli_error, load_cli_logger
19
- from vellum_ee.workflows.display.workflows.get_vellum_workflow_display_class import get_workflow_display
18
+ from vellum_ee.workflows.display.workflows.base_workflow_display import BaseWorkflowDisplay
20
19
 
21
20
 
22
21
  def push_command(
@@ -106,13 +105,12 @@ def push_command(
106
105
 
107
106
  # Remove this once we could serialize using the artifact in Vembda
108
107
  # https://app.shortcut.com/vellum/story/5585
109
- workflow = BaseWorkflow.load_from_module(workflow_config.module)
110
- workflow_display = get_workflow_display(
111
- workflow_class=workflow,
108
+ serialization_result = BaseWorkflowDisplay.serialize_module(
109
+ workflow_config.module,
112
110
  client=client,
113
111
  dry_run=dry_run or False,
114
112
  )
115
- exec_config = workflow_display.serialize()
113
+ exec_config = serialization_result.exec_config
116
114
 
117
115
  container_tag = workflow_config.container_image_tag
118
116
  if workflow_config.container_image_name and not workflow_config.container_image_tag:
@@ -229,7 +227,7 @@ def push_command(
229
227
  raise e
230
228
 
231
229
  if dry_run:
232
- error_messages = [str(e) for e in workflow_display.errors]
230
+ error_messages = serialization_result.errors
233
231
  error_message = "\n".join(error_messages) if error_messages else "No errors found."
234
232
  logger.info(
235
233
  f"""\
@@ -242,6 +240,13 @@ def push_command(
242
240
  {json.dumps(response.proposed_diffs, indent=2)}
243
241
  """
244
242
  ) # type: ignore[attr-defined]
243
+
244
+ error_list = serialization_result.errors
245
+ has_errors = len(error_list) > 0
246
+ has_diffs = response.proposed_diffs is not None and response.proposed_diffs
247
+
248
+ if has_errors or has_diffs:
249
+ exit(1)
245
250
  else:
246
251
  default_api_url = client._client_wrapper._environment.default
247
252
  base_url = default_api_url.split("/v1")[0].replace("//api.", "//app.")
@@ -209,13 +209,12 @@ def test_image_push_with_source_success(
209
209
  "buildx",
210
210
  "build",
211
211
  "-f",
212
- "Dockerfile",
212
+ dockerfile_path,
213
213
  "--platform=linux/amd64",
214
214
  "-t",
215
215
  "myimage:latest",
216
216
  ".",
217
217
  ]
218
- assert build_call[1]["cwd"] == mock_temp_dir
219
218
 
220
219
  assert "Docker build completed successfully" in result.output
221
220
  assert "Image successfully pushed" in result.output
@@ -444,8 +444,8 @@ class ExampleWorkflow(BaseWorkflow):
444
444
  runner = CliRunner(mix_stderr=True)
445
445
  result = runner.invoke(cli_main, ["push", module, "--dry-run"])
446
446
 
447
- # THEN it should succeed
448
- assert result.exit_code == 0
447
+ # THEN it should fail with exit code 1 due to errors
448
+ assert result.exit_code == 1
449
449
 
450
450
  # AND we should have called the push API with the dry-run option
451
451
  vellum_client.workflows.push.assert_called_once()
@@ -459,6 +459,37 @@ class ExampleWorkflow(BaseWorkflow):
459
459
  assert "iterable_item_added" in result.output
460
460
 
461
461
 
462
+ def test_push__dry_run_option_no_errors_returns_success(mock_module, vellum_client):
463
+ """Test that dry-run returns exit code 0 when there are no errors or diffs"""
464
+ # GIVEN a workflow module with a valid workflow (using the same pattern as happy path test)
465
+ temp_dir = mock_module.temp_dir
466
+ module = mock_module.module
467
+ _ensure_workflow_py(temp_dir, module)
468
+
469
+ # AND the push API call returns successfully with no errors and no diffs
470
+ vellum_client.workflows.push.return_value = WorkflowPushResponse(
471
+ workflow_sandbox_id=str(uuid4()),
472
+ proposed_diffs=None,
473
+ )
474
+
475
+ # WHEN calling `vellum push` with dry-run
476
+ runner = CliRunner(mix_stderr=True)
477
+ result = runner.invoke(cli_main, ["push", module, "--dry-run"])
478
+
479
+ # THEN it should succeed with exit code 0
480
+ assert result.exit_code == 0
481
+
482
+ # AND we should have called the push API with the dry-run option
483
+ vellum_client.workflows.push.assert_called_once()
484
+ call_args = vellum_client.workflows.push.call_args.kwargs
485
+ assert call_args["dry_run"] is True
486
+
487
+ # AND the report should be in the output
488
+ assert "## Errors" in result.output
489
+ assert "No errors found." in result.output
490
+ assert "## Proposed Diffs" in result.output
491
+
492
+
462
493
  def test_push__strict_option_returns_diffs(mock_module, vellum_client):
463
494
  # GIVEN a single workflow configured
464
495
  temp_dir = mock_module.temp_dir
@@ -8,11 +8,11 @@ _T = TypeVar("_T")
8
8
 
9
9
 
10
10
  @overload
11
- def raise_if_descriptor(_node_attr: BaseDescriptor[_T]) -> _T: ...
11
+ def raise_if_descriptor(node_attr: BaseDescriptor[_T]) -> _T: ...
12
12
 
13
13
 
14
14
  @overload
15
- def raise_if_descriptor(_node_attr: _T) -> _T: ...
15
+ def raise_if_descriptor(node_attr: _T) -> _T: ...
16
16
 
17
17
 
18
18
  def raise_if_descriptor(node_attr: Union[NodeReference[_T], _T]) -> Optional[_T]:
@@ -1,6 +1,7 @@
1
1
  from uuid import UUID
2
2
  from typing import Generic, Optional, TypeVar
3
3
 
4
+ from vellum.workflows.inputs.base import BaseInputs
4
5
  from vellum.workflows.nodes import SubworkflowDeploymentNode
5
6
  from vellum.workflows.types.core import JsonObject
6
7
  from vellum_ee.workflows.display.nodes.base_node_display import BaseNodeDisplay
@@ -23,6 +24,12 @@ class BaseSubworkflowDeploymentNodeDisplay(
23
24
  node_id = self.node_id
24
25
 
25
26
  subworkflow_inputs = raise_if_descriptor(node.subworkflow_inputs)
27
+
28
+ if isinstance(subworkflow_inputs, BaseInputs):
29
+ input_items = [(input_descriptor.name, input_value) for input_descriptor, input_value in subworkflow_inputs]
30
+ else:
31
+ input_items = list(subworkflow_inputs.items())
32
+
26
33
  node_inputs = [
27
34
  create_node_input(
28
35
  node_id=node_id,
@@ -34,7 +41,7 @@ class BaseSubworkflowDeploymentNodeDisplay(
34
41
  )
35
42
  or self.node_input_ids_by_name.get(variable_name),
36
43
  )
37
- for variable_name, variable_value in subworkflow_inputs.items()
44
+ for variable_name, variable_value in input_items
38
45
  ]
39
46
 
40
47
  deployment = display_context.client.workflow_deployments.retrieve(
@@ -39,7 +39,7 @@ def test_base_workflow_display__serialize_empty_workflow():
39
39
  "data": {"label": "Entrypoint Node", "source_handle_id": "0af025a4-3b25-457d-a7ae-e3a7ba15c86c"},
40
40
  "base": None,
41
41
  "definition": None,
42
- "display_data": {"position": {"x": 0.0, "y": 0.0}},
42
+ "display_data": {"position": {"x": 0.0, "y": -50.0}},
43
43
  "id": "3c41cdd9-999a-48b8-9088-f6dfa1369bfd",
44
44
  "inputs": [],
45
45
  "type": "ENTRYPOINT",
@@ -249,7 +249,7 @@ def test_serialize_node__stacked():
249
249
  "id": "074833b0-e142-4bbc-8dec-209a35e178a3",
250
250
  "label": "test_serialize_node__stacked.<locals>.InnerStackedGenericNode",
251
251
  "type": "GENERIC",
252
- "display_data": {"position": {"x": 0.0, "y": 0.0}},
252
+ "display_data": {"position": {"x": 200.0, "y": -50.0}},
253
253
  "base": {"name": "BaseNode", "module": ["vellum", "workflows", "nodes", "bases", "base"]},
254
254
  "definition": {
255
255
  "name": "InnerStackedGenericNode",
@@ -269,7 +269,7 @@ def test_serialize_node__workflow_input_as_nested_chat_history():
269
269
  "id": "11be9d37-0069-4695-a317-14a3b6519d4e",
270
270
  "label": "test_serialize_node__workflow_input_as_nested_chat_history.<locals>.GenericNode",
271
271
  "type": "GENERIC",
272
- "display_data": {"position": {"x": 0.0, "y": 0.0}},
272
+ "display_data": {"position": {"x": 200.0, "y": -50.0}},
273
273
  "base": {"name": "BaseNode", "module": ["vellum", "workflows", "nodes", "bases", "base"]},
274
274
  "definition": {
275
275
  "name": "GenericNode",