vellum-ai 0.11.0__py3-none-any.whl → 0.11.3__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 (54) hide show
  1. vellum/__init__.py +18 -0
  2. vellum/client/core/client_wrapper.py +1 -1
  3. vellum/client/types/__init__.py +30 -0
  4. vellum/client/types/document_document_to_document_index.py +6 -0
  5. vellum/client/types/slim_document.py +2 -2
  6. vellum/client/types/slim_document_document_to_document_index.py +43 -0
  7. vellum/client/types/test_suite_run_exec_config.py +7 -1
  8. vellum/client/types/test_suite_run_exec_config_request.py +8 -0
  9. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py +31 -0
  10. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py +27 -0
  11. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py +27 -0
  12. vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py +31 -0
  13. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config.py +31 -0
  14. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py +27 -0
  15. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py +27 -0
  16. vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py +31 -0
  17. vellum/types/slim_document_document_to_document_index.py +3 -0
  18. vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config.py +3 -0
  19. vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py +3 -0
  20. vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py +3 -0
  21. vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py +3 -0
  22. vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config.py +3 -0
  23. vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py +3 -0
  24. vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py +3 -0
  25. vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py +3 -0
  26. vellum/workflows/context.py +42 -0
  27. vellum/workflows/descriptors/base.py +1 -1
  28. vellum/workflows/nodes/bases/tests/test_base_node.py +1 -1
  29. vellum/workflows/nodes/core/inline_subworkflow_node/node.py +13 -7
  30. vellum/workflows/nodes/core/map_node/node.py +27 -4
  31. vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py +21 -0
  32. vellum/workflows/nodes/displayable/api_node/node.py +3 -2
  33. vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py +9 -0
  34. vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py +10 -1
  35. vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +10 -1
  36. vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py +1 -1
  37. vellum/workflows/runner/runner.py +74 -70
  38. vellum/workflows/workflows/event_filters.py +4 -1
  39. {vellum_ai-0.11.0.dist-info → vellum_ai-0.11.3.dist-info}/METADATA +1 -1
  40. {vellum_ai-0.11.0.dist-info → vellum_ai-0.11.3.dist-info}/RECORD +54 -35
  41. vellum_cli/pull.py +3 -1
  42. vellum_cli/tests/test_pull.py +18 -0
  43. vellum_ee/workflows/display/base.py +1 -2
  44. vellum_ee/workflows/display/nodes/vellum/api_node.py +53 -54
  45. vellum_ee/workflows/display/nodes/vellum/merge_node.py +20 -1
  46. vellum_ee/workflows/display/nodes/vellum/templating_node.py +15 -4
  47. vellum_ee/workflows/display/nodes/vellum/utils.py +26 -6
  48. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py +29 -1
  49. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py +2 -2
  50. vellum_ee/workflows/display/vellum.py +4 -4
  51. vellum_ee/workflows/display/workflows/vellum_workflow_display.py +18 -9
  52. {vellum_ai-0.11.0.dist-info → vellum_ai-0.11.3.dist-info}/LICENSE +0 -0
  53. {vellum_ai-0.11.0.dist-info → vellum_ai-0.11.3.dist-info}/WHEEL +0 -0
  54. {vellum_ai-0.11.0.dist-info → vellum_ai-0.11.3.dist-info}/entry_points.txt +0 -0
@@ -5,19 +5,19 @@ vellum_cli/aliased_group.py,sha256=ugW498j0yv4ALJ8vS9MsO7ctDW7Jlir9j6nE_uHAP8c,3
5
5
  vellum_cli/config.py,sha256=uEdDqqpy7fh4Thlj2jSszfEmnXA9SGtzNzgR77fBjnY,3612
6
6
  vellum_cli/image_push.py,sha256=SJwhwWJsLjwGNezNVd_oCVpFMfPsAB3dfLWmriZZUtw,4419
7
7
  vellum_cli/logger.py,sha256=PuRFa0WCh4sAGFS5aqWB0QIYpS6nBWwPJrIXpWxugV4,1022
8
- vellum_cli/pull.py,sha256=cPEkTn2oCZtL7I4SPE27afzpxcIrZazFbh-2xdciQfo,3917
8
+ vellum_cli/pull.py,sha256=6wIiorqSx2rmR6atZJHHBuLSviocxK_n0DQxEDGmCzo,4008
9
9
  vellum_cli/push.py,sha256=7arl5Udk9iTVkMIqbUWHE7HqzteTlRe0Ix3cc5RNaHA,5130
10
10
  vellum_cli/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  vellum_cli/tests/conftest.py,sha256=j3P2g5vegxarIi_VoWr1RlGxLYEQPgw3V_p3M6Iyq0U,1007
12
12
  vellum_cli/tests/test_config.py,sha256=uvKGDc8BoVyT9_H0Z-g8469zVxomn6Oi3Zj-vK7O_wU,2631
13
13
  vellum_cli/tests/test_main.py,sha256=qDZG-aQauPwBwM6A2DIu1494n47v3pL28XakTbLGZ-k,272
14
- vellum_cli/tests/test_pull.py,sha256=iRxwrBs5U83JOjbmnrBZPrPyKW-ic4EziuUxI_e-ywI,9680
14
+ vellum_cli/tests/test_pull.py,sha256=PzB259psqyllgxbN7VwH7-wvY0-Z3hvdsqGdCil9vDs,10286
15
15
  vellum_cli/tests/test_push.py,sha256=TBw35SXyFt9PL2OJV2jOPnbq3T0cbSVXGQ5TS77ytgA,5830
16
16
  vellum_ee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  vellum_ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  vellum_ee/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  vellum_ee/workflows/display/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
- vellum_ee/workflows/display/base.py,sha256=yYH86aTPfOy7Zbzj9YBzU-yLUX3GBHVNxKqJFy7_wxk,1797
20
+ vellum_ee/workflows/display/base.py,sha256=3ZFUYRNKL24fBqXhKpa_Dq2W1a-a86J20dmJYA3H2eY,1755
21
21
  vellum_ee/workflows/display/nodes/__init__.py,sha256=5XOcZJXYUgaLS55QgRJzyQ_W1tpeprjnYAeYVezqoGw,160
22
22
  vellum_ee/workflows/display/nodes/base_node_display.py,sha256=3W7X1V2Lv0k6djYp60LDu-0lYVMNsEjPXmNmIQ4UW6s,5961
23
23
  vellum_ee/workflows/display/nodes/base_node_vellum_display.py,sha256=HoD3AGCMXKoHyyRJteUYlQ7DR26Srjhlrv4fZlLCyKc,1649
@@ -27,7 +27,7 @@ vellum_ee/workflows/display/nodes/tests/test_base_node_display.py,sha256=0y20AAq
27
27
  vellum_ee/workflows/display/nodes/types.py,sha256=St1BB6no528OyELGiyRabWao0GGw6mLhstQAvEACbGk,247
28
28
  vellum_ee/workflows/display/nodes/utils.py,sha256=sloya5TpXsnot1HURc9L51INwflRqUzHxRVnCS9Cd-4,973
29
29
  vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=nmPLj8vkbVCS46XQqmHq8Xj8Mr36wCK_vWf26A9KIkw,1505
30
- vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=JVOoM71OCzzF6I8J-TzPIXPh-P_ezVRtuEngdvVaLJs,8497
30
+ vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=4SSQGecKWHuoGy5YIGJeOZVHGKwTs_8Y-gf3GvsHb0M,8506
31
31
  vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=MASV7u0X4eiS3SzRWeBcbWZ_YgNlwwg5cM2vaFWjpqk,3915
32
32
  vellum_ee/workflows/display/nodes/vellum/conditional_node.py,sha256=gUbSP8_oSAMNIb0CGiefd2FMYgoO6wMoG6iA1FakMjk,13293
33
33
  vellum_ee/workflows/display/nodes/vellum/error_node.py,sha256=1pGC_P-y14g0hJRh4GUq99xu48JsfoPMMwtIsI3x3Tk,2078
@@ -36,27 +36,27 @@ vellum_ee/workflows/display/nodes/vellum/guardrail_node.py,sha256=3TJvHX_Uuf_gr9
36
36
  vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=sj-pySLVYGt032debhcQhHc5JwrALQrNCEKh3DXc8F8,7386
37
37
  vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=x5wiuWbRjxNcPGu8BoBEKHwPeqCpHE-vrGjAdM5TJOs,4721
38
38
  vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=AqUlItgSZij12qRKguKVmDbbaLuDy3Cdom5uOlJPqrc,3640
39
- vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=3fXhGIrWF7xr9lxH17SzzsDCkpXQ-99YmrAOzb-kuxw,2218
39
+ vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=BM3nfL0-D8x91xW0MGhnJFo45ZgGLXDqdbiSGoSuXN0,3244
40
40
  vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=9VpC3h0RYOxJuRbjDwidBYlLKakkmlEnDMBh2C7lHcY,1107
41
41
  vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=gLRkizwyw21-Z12IyDbdOJpXayiZZd4HWd6qgZQg8sc,3106
42
42
  vellum_ee/workflows/display/nodes/vellum/search_node.py,sha256=4KHb2icxH_vHF1GvGp_9ar_flSWthXrGZk6zMa17J_8,8430
43
43
  vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=zOp4voBSgB3MR1R93wTOrsiiara_hxEAYFupLl_SvTA,2657
44
- vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=qPu9TqXSeLYfFnydRp4T_eqHzQohv0Wxug-ixWTMLbQ,3019
44
+ vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=UNYxoE-89agE8ugK0aWg_uN61jPqlC2VSxWHk568sN4,3324
45
45
  vellum_ee/workflows/display/nodes/vellum/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
46
  vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py,sha256=ZUp2fmDF4JTni1NjJOIV8dJoxx22eMBskmBJFsjtEvE,3809
47
47
  vellum_ee/workflows/display/nodes/vellum/try_node.py,sha256=m4d6hi6oD-jSW_bjrlN8coVwb6ivC2amPHpePHJ-Htg,2278
48
- vellum_ee/workflows/display/nodes/vellum/utils.py,sha256=z7QRltAXFRjjJN3R9bMp6v9IryqLMkTNGWqW_BVnXLs,3107
48
+ vellum_ee/workflows/display/nodes/vellum/utils.py,sha256=OlkXZASm1Zb3mLf38gd-NXcijtVn4UFptsRq-OFzArA,3882
49
49
  vellum_ee/workflows/display/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
50
  vellum_ee/workflows/display/tests/test_vellum_workflow_display.py,sha256=TEg3QbdE7rLbEhml9pMWmay--phsekGlfGVhTblxCGE,1727
51
51
  vellum_ee/workflows/display/tests/workflow_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=rVQaNmkxOSLLHctR60eCvAaH5a3EP0mVI09U-WWSJKU,16664
52
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=e__ae2yepB5vlgVT08sr1DDB8pYjax6VQLo5FtRk-nA,17934
53
53
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=0McMPIPnIwE8iGh7fzFZL3dc6Q7NCQ_wUVFpl14YATo,22846
54
54
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=d6xWDvi-Uo1KcMHVj_e8TujKhTwMKXAlT8H3P2V0gQU,53693
55
55
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=JV9TYz9BPVojWQ8ypGLsSfl9LdntDcxlm9OilP4qv6o,6874
56
56
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py,sha256=vA8cd7PJYhf949OUGeYP_moKtMogSyfHN2Z-qzNQLwM,8294
57
57
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=N2ACycHn-EwP5paxHwDu2fufABssE293wiunhm-bCGg,22076
58
58
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=H1bVDG_mFPokJ7OYrnl9rM9M3gEa5bctGmhUuKccB4U,15950
59
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=fITHaT72ZmP8Y1AfYsJDdfRG6mz0EE9tusQYyZnheWw,9998
59
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=vm-dRH_Y-qU9whkwBUNnhVPYL_Ua6cqpaDsDSEgRkxo,9998
60
60
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=NkpgaTbu6nLr3iwgsSNtiHyiNDCUaFakd1JaoW6CC6Y,9489
61
61
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=8bz0vm_EyQKSjnwS5vqqgnjE9ygvm-CaPKcwCfeOrlo,12704
62
62
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=xG8nKA1iKXxUe1fnD2X6qm7cUGW14iq2P-L16zhcKC8,4271
@@ -68,17 +68,17 @@ vellum_ee/workflows/display/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
68
68
  vellum_ee/workflows/display/utils/tests/test_uuids.py,sha256=ItjROhaPns8_mlvD17LIBwZKvhe2l0dXEd5oL-JiY64,448
69
69
  vellum_ee/workflows/display/utils/uuids.py,sha256=DFzPv9RCvsKhvdTEIQyfSek2A31D6S_QcmeLPbgrgTY,739
70
70
  vellum_ee/workflows/display/utils/vellum.py,sha256=IlkKrfAAi4BV_HFnsdMFxNJC2-TrPM9ubVHv8ikmbSA,5110
71
- vellum_ee/workflows/display/vellum.py,sha256=_-lLRZsEitt8fdUID62aiXptWa8rJhyqgL4uy1gDmc4,8783
71
+ vellum_ee/workflows/display/vellum.py,sha256=OSv0ZS50h1zJbunJ9TH7VEWFw-exXdK_ZsdzPxP9ROs,8814
72
72
  vellum_ee/workflows/display/workflows/__init__.py,sha256=kapXsC67VJcgSuiBMa86FdePG5A9kMB5Pi4Uy1O2ob4,207
73
73
  vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=HkakkrNgVFoHlUP7yHlQjHOvii3CZ90iyU1062PfoW4,12819
74
74
  vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=AMxNnTm2z3LIR5rqxoCAfuy37F2FTuSRDVtKUoezO8M,1184
75
- vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=6fWK9UTveEm8HRfnkfdxBXJnqNmL9UV8Wxl6M4VLGuQ,16904
76
- vellum/__init__.py,sha256=67DJaPyfV8hWJkx4pBssBAnlPm3jQMl8VqIn5TtBP3Q,34484
75
+ vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=UiE1vJ4nzt1tHAxvXSt8qnV101I__gd5YdiPuKA4TWk,17370
76
+ vellum/__init__.py,sha256=QmGeEPXeFxgkZa849KKK3wH3Y641wyt00Rytfay6KiM,35520
77
77
  vellum/client/README.md,sha256=JkCJjmMZl4jrPj46pkmL9dpK4gSzQQmP5I7z4aME4LY,4749
78
78
  vellum/client/__init__.py,sha256=o4m7iRZWEV8rP3GkdaztHAjNmjxjWERlarviFoHzuKI,110927
79
79
  vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
80
80
  vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
81
- vellum/client/core/client_wrapper.py,sha256=D9LHJTenWgXKzVFVV7BJIc1uhU5CrvbNZ_9e2YUoOH8,1890
81
+ vellum/client/core/client_wrapper.py,sha256=XbAMOMcjdM9aXRo9_hecrehfft9oYmtBqckaIR0GAog,1890
82
82
  vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
83
83
  vellum/client/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
84
84
  vellum/client/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
@@ -137,7 +137,7 @@ vellum/client/resources/workflows/types/__init__.py,sha256=-uFca4ypncAOvfsg6sjD-
137
137
  vellum/client/resources/workflows/types/workflows_pull_request_format.py,sha256=dOWE_jnDnniIJLoeseeCms23aklghyBkoPmBFzcqqZk,165
138
138
  vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
139
139
  vellum/client/resources/workspace_secrets/client.py,sha256=h7UzXLyTttPq1t-JZGMg1BWxypxJvBGUdqg7KGT7MK4,8027
140
- vellum/client/types/__init__.py,sha256=l-m0JRpHj7tm8Kzsr7HOIK_O9XnGOVWfQanEOE4Z_yo,52066
140
+ vellum/client/types/__init__.py,sha256=618t1NgjOnUJWFFv5pS4dmOIttrTkHhMNj5F8yRlTpA,53769
141
141
  vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
142
142
  vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
143
143
  vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
@@ -210,7 +210,7 @@ vellum/client/types/deployment_read.py,sha256=NtXmYsYJOATxkMxeVkSM35XzDVGbva3RWm
210
210
  vellum/client/types/deployment_release_tag_deployment_history_item.py,sha256=df4qKHT1f-z0jnRS4UmP8MQe6u3PwYej_d8KDF7EL88,631
211
211
  vellum/client/types/deployment_release_tag_read.py,sha256=YlwssIgBd5lKVqelH-gejQXQ7l31vrsRNMJKDGDyTEA,1129
212
212
  vellum/client/types/docker_service_token.py,sha256=T0icNHBKsIs6TrEiDRjckM_f37hcF1DMwEE8161tTvY,614
213
- vellum/client/types/document_document_to_document_index.py,sha256=LbXTZyYxA4hxewquf7ZLZgBD9uWGoIs1J64x4fY7bNg,1229
213
+ vellum/client/types/document_document_to_document_index.py,sha256=V0SkL-U3LHAL8dOp0fnOjdssuldkabZVJ2QCY_l5KFE,1404
214
214
  vellum/client/types/document_index_chunking.py,sha256=TU0Y7z0Xacm3dhzEDuDIG3ZKJCu3vNURRh3PqEd17mY,356
215
215
  vellum/client/types/document_index_chunking_request.py,sha256=g9BKCsHKg5kzjG7YYeMNQ_5R8TXLeSgumJlMXoSfBcs,435
216
216
  vellum/client/types/document_index_indexing_config.py,sha256=xL1pCzUOkw5sSie1OrBpasE3bVnv0UyZBn7uZztbhbs,781
@@ -455,7 +455,8 @@ vellum/client/types/sentence_chunker_config_request.py,sha256=EpGTP4z3YttiThYmdj
455
455
  vellum/client/types/sentence_chunking.py,sha256=guqU3072X4h8Laf6LhTWQ5lpjBpTgoXRxKp5iXJby2U,783
456
456
  vellum/client/types/sentence_chunking_request.py,sha256=77gv1fVc9IaTuGGx3O1HB0LF9sXM5pSTWksl8BEmvLU,812
457
457
  vellum/client/types/slim_deployment_read.py,sha256=DIYkuill3hfoNDYpgO8oZ7Aq9KGbM09dZv2gOEPPGeQ,1826
458
- vellum/client/types/slim_document.py,sha256=x3xcsgazw5wjlA-oMLqwb4b04QFvMvJGUnc9zrobfW0,2382
458
+ vellum/client/types/slim_document.py,sha256=frw1r47C11M-AsQ5UiDMW-EIuK0JTYUrSh-s6ZPtQSA,2395
459
+ vellum/client/types/slim_document_document_to_document_index.py,sha256=XDEkftIcN4w4LguyzSw7x-V-apbmxEAk2APZfAPzyiw,1346
459
460
  vellum/client/types/slim_workflow_deployment.py,sha256=FW7qXPtSIP9QAzECbl8gKL1iFqKWTAfIjSVwNTIL6GA,2189
460
461
  vellum/client/types/streaming_ad_hoc_execute_prompt_event.py,sha256=NdgmJ3AZMp6io-whZIGnGb49aiqz6__KafsrzjEF_9o,1183
461
462
  vellum/client/types/streaming_execute_prompt_event.py,sha256=bjfY5ZU8ZI048a7x1VW8dDXMtSl-3Ej5koSpfKboJj0,1161
@@ -507,8 +508,8 @@ vellum/client/types/test_suite_run_deployment_release_tag_exec_config.py,sha256=
507
508
  vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data.py,sha256=0kgs_FP8-2YTmufor42V4J5Kbx_Grjo2LcgZgfBiYq0,928
508
509
  vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data_request.py,sha256=cUr9LN4YLxkyMXI3wwemmKZtvxSi9K79kPJrmRyknKc,935
509
510
  vellum/client/types/test_suite_run_deployment_release_tag_exec_config_request.py,sha256=fyBRNbErOr1ixYs84JbvqM9yPEH1D-LDsfGVhIgsdZ4,1192
510
- vellum/client/types/test_suite_run_exec_config.py,sha256=OuaNtd6ulP_Eq1ptz_YstJs5VtBOY3-p1XANEGnVwUA,530
511
- vellum/client/types/test_suite_run_exec_config_request.py,sha256=GNwGzV6SZiZWThoy4lM5JpRyegoqy3ylHjB2Kj5WOXI,612
511
+ vellum/client/types/test_suite_run_exec_config.py,sha256=CwsiCKjkRb2S9YJdQYRtnKU87CzbimPyswBwRriv004,879
512
+ vellum/client/types/test_suite_run_exec_config_request.py,sha256=bXR2LXwc6T7WtgVa0HCkJuDg1H1TFB01CpCdb-hoqWc,1014
512
513
  vellum/client/types/test_suite_run_execution.py,sha256=x0tjfFMSEl5hr1ZAh9r-2m3gQCbhKNZBGu5_6ANLgiU,1091
513
514
  vellum/client/types/test_suite_run_execution_array_output.py,sha256=fnGLAXY6NC8uJKK2500lsRXDvugjfIBJiDAfWDg1sUo,1101
514
515
  vellum/client/types/test_suite_run_execution_chat_history_output.py,sha256=tzeWqczo04aXl-ALhfOHYEabrgOIqmG7E-nA5-l3dME,879
@@ -530,6 +531,10 @@ vellum/client/types/test_suite_run_metric_json_output.py,sha256=DI3mJR5kpi8Hm2n6
530
531
  vellum/client/types/test_suite_run_metric_number_output.py,sha256=8pddeSds6Rrn0xGqyvgPsG1hr1tu6eOiQAp8kkM_aBk,739
531
532
  vellum/client/types/test_suite_run_metric_output.py,sha256=qxEJ6Ii4XOhJpM3tgn6ctRnldysduEIe8tQFnWBEOvQ,578
532
533
  vellum/client/types/test_suite_run_metric_string_output.py,sha256=YXerGfpvJdBtKrzgutSqEfG-N6cZoeOL59qZ5k6DwQA,737
534
+ vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py,sha256=NUJXSSLxOxVAGOoQj74m5UqjCTCCeEIgbWGP6kM2Fck,1200
535
+ vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py,sha256=IdlTWDda1061PwsHaoGDyB7-2lBVSus7Z8agcdmSOYE,905
536
+ vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py,sha256=0XxaQKR-pb__We2EDSoiKTcz3v-nKodIYtnwFXFQ_GM,912
537
+ vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py,sha256=psLq8aL-ygkW-HZZFiYerDrCrTf556RuXbOOAUuMvr8,1229
533
538
  vellum/client/types/test_suite_run_read.py,sha256=3etXdX5ks6H0nuuTLebNl_is2ZKST17wdpLm60YVSf8,1439
534
539
  vellum/client/types/test_suite_run_state.py,sha256=E4f_AfzXBnxhObLLZ12dBzdoYlRm-gaTqkzrZQ_KfCo,197
535
540
  vellum/client/types/test_suite_run_test_suite.py,sha256=Wcmbk1XglVFKiDcqxsW7-c7QtOrIqJBK-vWXKXvORXY,602
@@ -537,6 +542,10 @@ vellum/client/types/test_suite_run_workflow_release_tag_exec_config.py,sha256=0A
537
542
  vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data.py,sha256=Omps96mVTbhyg8ZknhAdtAC4TU4J1OG_Y2yqwlovNbU,941
538
543
  vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data_request.py,sha256=n3rbUAmoqjn-U-C6GJL-zVJJf0n_J-6rLIeH0tm3Ixg,948
539
544
  vellum/client/types/test_suite_run_workflow_release_tag_exec_config_request.py,sha256=tEknB5YPt5zLKTkXnsuWaPRkFPHpIDQImREmlONfMIo,1182
545
+ vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config.py,sha256=2scqgAbRo6j7cYV2NZO1VMio5WOwJG_97IxXVqC4G18,1214
546
+ vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py,sha256=FPIw8GlWh5cH6af2_Y7wS98j_Zi9O0G1JIMBsej__i0,915
547
+ vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py,sha256=Q8aYzR-AJ18_s7KJfBZeb8jbFxhZVfk1qQvhO7ShGH0,922
548
+ vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py,sha256=1ekG2-FWV-dl2TL0QYZEeHo2qLOMu8G_T-wFt5e04AE,1243
540
549
  vellum/client/types/test_suite_test_case.py,sha256=pd9-fpIxzherUqjM7aIWhDyLuql8ZyNIjfOr9r5BZuQ,1056
541
550
  vellum/client/types/test_suite_test_case_bulk_operation_request.py,sha256=czPKFQBdm-Fil_sx8zxUgR9DJSJfAlL6uB6KcRzwwbU,767
542
551
  vellum/client/types/test_suite_test_case_bulk_result.py,sha256=b_jDXDB0gWAGsWyf04UJhRwVCUe5kTu8S7gh78_yYF0,648
@@ -1016,6 +1025,7 @@ vellum/types/sentence_chunking.py,sha256=MfuUfa_lhTX3OFCLJig0D7xN9lhLOxvsxw5ywHw
1016
1025
  vellum/types/sentence_chunking_request.py,sha256=f0am6XafUmK3Ok3dEy2cqeeqds63XF9qard0tcIzZJk,163
1017
1026
  vellum/types/slim_deployment_read.py,sha256=grU1w1TDVLwQqbklQaoShBRwIjeurD5ZadeK_ABP-VU,158
1018
1027
  vellum/types/slim_document.py,sha256=yhPuWFL65jMKdCEcMNBDqJZQc1UdYlH7tFJ1nkGwDL0,151
1028
+ vellum/types/slim_document_document_to_document_index.py,sha256=3FwldvGhBc0pkccorIE3eMi8hQ0swgCWgKQJ6-jIff0,178
1019
1029
  vellum/types/slim_workflow_deployment.py,sha256=wRfaObu07ouUTNln4QZuBiye2uuKh3kPPvz2h9sbmJU,162
1020
1030
  vellum/types/streaming_ad_hoc_execute_prompt_event.py,sha256=gKFR8SKLo837TRORLQtuQmikKGNrOSi7HeoSTsnLh3Y,175
1021
1031
  vellum/types/streaming_execute_prompt_event.py,sha256=9H0sLQjyLOH6lB1ouk4GFRmp4VkYjNQXh8p8auLzft8,168
@@ -1090,6 +1100,10 @@ vellum/types/test_suite_run_metric_json_output.py,sha256=mZIXhFS0IoauRhNhwtO_nBe
1090
1100
  vellum/types/test_suite_run_metric_number_output.py,sha256=FRat-EjmPl4eyK307tPnQ8U3prAPsqgXVLdRmYXxaGw,173
1091
1101
  vellum/types/test_suite_run_metric_output.py,sha256=QvexO_ontwejyAQBipmrvTMxJRZrFu5ja_g8HBjDpiI,166
1092
1102
  vellum/types/test_suite_run_metric_string_output.py,sha256=_az-yxsYHgariEfKeFN1UtCyW1rXxCiOsVZj-INNqa8,173
1103
+ vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config.py,sha256=aShS-YpR-mxoj59s1pF1qSx7NWSrUSuDC59kXesT33Y,192
1104
+ vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py,sha256=5E1ZUYAwlZBAzyurmLsHMhdQJZmI-_neQU49cyDQH_0,197
1105
+ vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py,sha256=7JsZ1nGze0m2o4RvaJOpz6TcqDgCz29HhzzBPGr1eow,205
1106
+ vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py,sha256=AfTF8F-4oCAHHGOubEUSPXpuauWnRQpseo6DPdhL73k,200
1093
1107
  vellum/types/test_suite_run_read.py,sha256=ivj0ct0muLxYDr-21cErq4JivHp1VcLOif6mGrqsdrc,157
1094
1108
  vellum/types/test_suite_run_state.py,sha256=tagsvfC5Zk4GNWwnVXgVxYOPOxmp30B9gt9T2M7tP_o,158
1095
1109
  vellum/types/test_suite_run_test_suite.py,sha256=4l0wcAcDwR8bZTuGGtK6XS-Kaj-8CorNkjuwII0376k,163
@@ -1097,6 +1111,10 @@ vellum/types/test_suite_run_workflow_release_tag_exec_config.py,sha256=yc9NhLbDb
1097
1111
  vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py,sha256=g1i2knCRKE7ah_u96zvm1zIi5xfZTQFsGTDtCfMGBcE,190
1098
1112
  vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py,sha256=e8JSECW9A0LT6Iv6PyAZOiSTczwg_954MYq4kGjn5DY,198
1099
1113
  vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py,sha256=L2bYpTz9AEDwHXT1Ev9qMHLUStjjwP3iJMyTixdroOU,193
1114
+ vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config.py,sha256=PMXrCIw1mn3tvdR-OwYxPToejzu8MNTHubgRwW2Ul68,194
1115
+ vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py,sha256=vdh41Vg4O1UjQi1BsHBaLsfvxSbWbou73VPAGcSOkCc,199
1116
+ vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py,sha256=An3z8020xLUVjvjJrW-Rqe_CPRQkuiuq740Z1SXB19Y,207
1117
+ vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py,sha256=9Iuy9vcCv5sCh6J0T2BiBuRc9qFnA7RiJ80s3Ykb_kw,202
1100
1118
  vellum/types/test_suite_test_case.py,sha256=TNoekdgntOikAA6Z32dsc5WFXYz_ooLYZefZMM6ZtJU,158
1101
1119
  vellum/types/test_suite_test_case_bulk_operation_request.py,sha256=QI13SszLsaxUvNFkGU86IOtDg2mgNTck84b6NzhpCro,181
1102
1120
  vellum/types/test_suite_test_case_bulk_result.py,sha256=MEwdm94Lizk0JDtcViQQUVg54ZCEaTPeyX0oN0F3-u8,170
@@ -1185,8 +1203,9 @@ vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
1185
1203
  vellum/workflows/README.md,sha256=MLNm-ihc0ao6I8gwwOhXQQBf0jOf-EsA9C519ALYI1o,3610
1186
1204
  vellum/workflows/__init__.py,sha256=CssPsbNvN6rDhoLuqpEv7MMKGa51vE6dvAh6U31Pcio,71
1187
1205
  vellum/workflows/constants.py,sha256=Z0W4YlqfSlSgWC11PrVUPs6ZOBeIaQ78E_90J1hohiw,789
1206
+ vellum/workflows/context.py,sha256=R8qdsFbD_0p7B6PWnyvSrZ_aOgMtGw-_uk0P0UAmwLA,1230
1188
1207
  vellum/workflows/descriptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1189
- vellum/workflows/descriptors/base.py,sha256=VyyXtGJ_Hc34AOC8XC_Rw_68L4WMgD5w9Y7r8t8My4E,13814
1208
+ vellum/workflows/descriptors/base.py,sha256=2NQxURc_9QQ4pI9zICTZeULnS4OIml8fYcAkMgNU01Y,13830
1190
1209
  vellum/workflows/descriptors/tests/test_utils.py,sha256=icwW-YkHD5oR6rn9IH6Rck9yYOsuwnocyJVHoeJFd74,2849
1191
1210
  vellum/workflows/descriptors/utils.py,sha256=lO_dbr5g3PXpHPtVBkdguAK4-1qayZ7RXjl3BgAhrMM,3795
1192
1211
  vellum/workflows/edges/__init__.py,sha256=wSkmAnz9xyi4vZwtDbKxwlplt2skD7n3NsxkvR_pUus,50
@@ -1244,14 +1263,14 @@ vellum/workflows/nodes/bases/base.py,sha256=fKEycP9yqcHjH781d4Sg5NFHZFDsbco0nunr
1244
1263
  vellum/workflows/nodes/bases/base_subworkflow_node/__init__.py,sha256=0nkHQiFC4IpA1ZGx60XG0BLUWF6hwUpgqmS3ZrlFGhg,80
1245
1264
  vellum/workflows/nodes/bases/base_subworkflow_node/node.py,sha256=vC0gUBQewAUNtP3i2G0-LUpE_kY-r_ijBD_tS1XkQ1E,383
1246
1265
  vellum/workflows/nodes/bases/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1247
- vellum/workflows/nodes/bases/tests/test_base_node.py,sha256=7M-hmMTClhmD3OSDeZgXxAGJqfi6kM9uf5Mp4L4VooI,3111
1266
+ vellum/workflows/nodes/bases/tests/test_base_node.py,sha256=A4hpFaG4TwpumTi4FV4KDMyUeixBc26mRzSIihxFiGo,3112
1248
1267
  vellum/workflows/nodes/core/__init__.py,sha256=5zDMCmyt1v0HTJzlUBwq3U9L825yZGZhT9JL18-mRR4,455
1249
1268
  vellum/workflows/nodes/core/error_node/__init__.py,sha256=g7RRnlHhqu4qByfLjBwCunmgGA8dI5gNsjS3h6TwlSI,60
1250
1269
  vellum/workflows/nodes/core/error_node/node.py,sha256=hqBPHoLnhNrK9ITIaEzpnk47XYDbG6cmObz7oe78Ceg,944
1251
1270
  vellum/workflows/nodes/core/inline_subworkflow_node/__init__.py,sha256=nKNEH1QTl-1PcvmYoqSWEl0-t6gAur8GLTXHzklRQfM,84
1252
- vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=mWugLOYnVmji-dSf8Rfizs_XKKfKWSskMbn6TRMDbaY,3063
1271
+ vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=kkPb2opZ7J6pIWueU-WU43KXEwKY5GrANldmesRFetI,3469
1253
1272
  vellum/workflows/nodes/core/map_node/__init__.py,sha256=MXpZYmGfhsMJHqqlpd64WiJRtbAtAMQz-_3fCU_cLV0,56
1254
- vellum/workflows/nodes/core/map_node/node.py,sha256=aPhV3niv_jWSwrZ2CwiRg0CDOM-09Fa6QqOPYNJMgRc,6206
1273
+ vellum/workflows/nodes/core/map_node/node.py,sha256=LEohCiS1HffS5dD6V0GWgjktf3Z4J9v7FZdVDNTpF5o,7284
1255
1274
  vellum/workflows/nodes/core/map_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1256
1275
  vellum/workflows/nodes/core/map_node/tests/test_node.py,sha256=RHSZs7t6mW3UWvRrXnHZqaXVdRT2ZquOK_YHJ-gzXsU,1871
1257
1276
  vellum/workflows/nodes/core/retry_node/__init__.py,sha256=lN2bIy5a3Uzhs_FYCrooADyYU6ZGShtvLKFWpelwPvo,60
@@ -1263,14 +1282,14 @@ vellum/workflows/nodes/core/templating_node/custom_filters.py,sha256=Q0DahYRHP4K
1263
1282
  vellum/workflows/nodes/core/templating_node/exceptions.py,sha256=cDp140PP4OnInW4qAvg3KqiSiF70C71UyEAKRBR1Abo,46
1264
1283
  vellum/workflows/nodes/core/templating_node/node.py,sha256=19OFvRimrp1YuUO7H4rU7ZDsuawKvuwwVEAix7qBugs,4500
1265
1284
  vellum/workflows/nodes/core/templating_node/render.py,sha256=OpJp0NAH6qcEL6K9lxR0qjpFb75TYNttJR5iCos8tmg,1792
1266
- vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py,sha256=L6F3Gw9doguj1TSKmAns-mzXvoRuRivaCFe3mhjo13E,551
1285
+ vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py,sha256=0BtXeSix7KGIuKzlPFTMLATpNnFPhut1UV_srGptkt0,1120
1267
1286
  vellum/workflows/nodes/core/try_node/__init__.py,sha256=JVD4DrldTIqFQQFrubs9KtWCCc0YCAc7Fzol5ZWIWeM,56
1268
1287
  vellum/workflows/nodes/core/try_node/node.py,sha256=5LHTPFsJHZ0eZZbXdmNswj1sLs93W8Pa1dp6JSZBnPM,6538
1269
1288
  vellum/workflows/nodes/core/try_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1270
1289
  vellum/workflows/nodes/core/try_node/tests/test_node.py,sha256=iD_ZjgB-v7pOYS6VjsqC-FWAFw8xvnEb-xXeau1Cuk0,4053
1271
1290
  vellum/workflows/nodes/displayable/__init__.py,sha256=6F_4DlSwvHuilWnIalp8iDjjDXl0Nmz4QzJV2PYe5RI,1023
1272
1291
  vellum/workflows/nodes/displayable/api_node/__init__.py,sha256=MoxdQSnidIj1Nf_d-hTxlOxcZXaZnsWFDbE-PkTK24o,56
1273
- vellum/workflows/nodes/displayable/api_node/node.py,sha256=mnoncJtxo5YhuFCR3_axpvCqrGQKLShvfU6xJO7Fa8I,2047
1292
+ vellum/workflows/nodes/displayable/api_node/node.py,sha256=ehvJNkI-L_WLn8pszCaRkQuhRDgioCLaX6TT72KM_9E,2111
1274
1293
  vellum/workflows/nodes/displayable/bases/__init__.py,sha256=0mWIx3qUrzllV7jqt7wN03vWGMuI1WrrLZeMLT2Cl2c,304
1275
1294
  vellum/workflows/nodes/displayable/bases/api_node/__init__.py,sha256=1jwx4WC358CLA1jgzl_UD-rZmdMm2v9Mps39ndwCD7U,64
1276
1295
  vellum/workflows/nodes/displayable/bases/api_node/node.py,sha256=_Nybw3NORjKkLBAzLidm08WL_kiNPTH6am-hZ8k2w0Q,2475
@@ -1278,8 +1297,8 @@ vellum/workflows/nodes/displayable/bases/base_prompt_node/__init__.py,sha256=Org
1278
1297
  vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py,sha256=82y-74GBcxQXjEEmQJ7oo803iVjWM_HSN5zRVwGtpWk,2425
1279
1298
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/__init__.py,sha256=Hl35IAoepRpE-j4cALaXVJIYTYOF3qszyVbxTj4kS1s,82
1280
1299
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/constants.py,sha256=fnjiRWLoRlC4Puo5oQcpZD5Hd-EesxsAo9l5tGAkpZQ,270
1281
- vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=jlUqNgz58nuSuGPOxJcnwOXQ0_UtESCimPNVHDDQgFI,4868
1282
- vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=DP4e62qHrJSB3O27R7OLd7R_2AJST5uI0HYT3kxlaxA,4448
1300
+ vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=1_OXDxzh-8m5O5XQzo3Q6RY679JvsN4km2sfzyGuLc0,5394
1301
+ vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=MdrAKN8QGPk_JnNjbEBaVVKwVLPE2judbBcWuYJgbkY,4964
1283
1302
  vellum/workflows/nodes/displayable/bases/search_node.py,sha256=S7J8tTW681O4wcWYerGOfH6h-_BlE8-JMJHpW8eCVG0,3564
1284
1303
  vellum/workflows/nodes/displayable/code_execution_node/__init__.py,sha256=0FLWMMktpzSnmBMizQglBpcPrP80fzVsoJwJgf822Cg,76
1285
1304
  vellum/workflows/nodes/displayable/code_execution_node/node.py,sha256=zK-gxWmox8QZ84J11faUmasRozNKDIBv_86Gjq8uj7M,7975
@@ -1305,11 +1324,11 @@ vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=hqzNnoT
1305
1324
  vellum/workflows/nodes/displayable/search_node/__init__.py,sha256=hpBpvbrDYf43DElRZFLzieSn8weXiwNiiNOJurERQbs,62
1306
1325
  vellum/workflows/nodes/displayable/search_node/node.py,sha256=yhFWulbNmSQoDAwtTSGD4AtKmBbcykezRGRG16xga_0,1311
1307
1326
  vellum/workflows/nodes/displayable/subworkflow_deployment_node/__init__.py,sha256=9yYM6001YZeqI1VOk1QuEM_yrffk_EdsO7qaPzINKds,92
1308
- vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=Ed0C2m9NxCf0ZgNQpdiAZWhmLwhWYRgn2VncsCGpzJg,6783
1327
+ vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=Y7Gczegn3KQC-wMw11VhwSDMe4kE8p2QIM1ABSYqZFg,7356
1309
1328
  vellum/workflows/nodes/displayable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1310
1329
  vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py,sha256=9x5y-SHLdW-jcbv_LVLJWALspBzjYDFezc1dpaisRvg,4697
1311
1330
  vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=4CMwDtXwTaEvFfDpA6j2iLqc7S6IICSkvVZOobEpeps,6954
1312
- vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=t4ctc6MCwtvOOV4MG-xm-1w1A-ik0--_1es6yJ1qklU,2510
1331
+ vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=KqKJtJ0vuNoPuUPMdILmBTt4a2fBBxxun-nmOI7T8jo,2585
1313
1332
  vellum/workflows/nodes/utils.py,sha256=zY0b5WjJtGwVPPLY3ffHUdRREPvyoNwmJDigz5jQRAI,812
1314
1333
  vellum/workflows/outputs/__init__.py,sha256=AyZ4pRh_ACQIGvkf0byJO46EDnSix1ZCAXfvh-ms1QE,94
1315
1334
  vellum/workflows/outputs/base.py,sha256=a7W6rNSDSawwGAXYjNTF2iHb9lnZu7WFSOagZIyy__k,7976
@@ -1331,7 +1350,7 @@ vellum/workflows/references/workflow_input.py,sha256=epspVRZ9n_nxoTxI5Am3GDd2fpU
1331
1350
  vellum/workflows/resolvers/__init__.py,sha256=eH6hTvZO4IciDaf_cf7aM2vs-DkBDyJPycOQevJxQnI,82
1332
1351
  vellum/workflows/resolvers/base.py,sha256=WHra9LRtlTuB1jmuNqkfVE2JUgB61Cyntn8f0b0WZg4,411
1333
1352
  vellum/workflows/runner/__init__.py,sha256=i1iG5sAhtpdsrlvwgH6B-m49JsINkiWyPWs8vyT-bqM,72
1334
- vellum/workflows/runner/runner.py,sha256=dmhKT0SFX4I9IwRj6fiqsXSkVqxBucrBjjgUXP6uz1o,27282
1353
+ vellum/workflows/runner/runner.py,sha256=TtCB2hLnAU83mmR17qzfHQPfJfpUMqi3Lqq0q1viUIQ,27573
1335
1354
  vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
1336
1355
  vellum/workflows/state/base.py,sha256=jpSzF1OQd3-fqi6dMGlNsQl-7JnJxCdzWIigmX8Wz-I,14425
1337
1356
  vellum/workflows/state/context.py,sha256=oXiEdNsWJi1coRB85IreTgUeR6_CrWWBXndtLff9S7M,1272
@@ -1357,9 +1376,9 @@ vellum/workflows/utils/vellum_variables.py,sha256=DsjVj_M_vTafpi5OUDs4KNrmbU2n4L
1357
1376
  vellum/workflows/vellum_client.py,sha256=ODrq_TSl-drX2aezXegf7pizpWDVJuTXH-j6528t75s,683
1358
1377
  vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
1359
1378
  vellum/workflows/workflows/base.py,sha256=mnI-kZ78yt7u6NFSTUo-tYjDnarP-RJ7uZjwjCn6PCQ,16795
1360
- vellum/workflows/workflows/event_filters.py,sha256=2tbiBzezaEZy75xkvkM2ey7Ys82fnbGE7aQhbL9yzLw,1853
1361
- vellum_ai-0.11.0.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1362
- vellum_ai-0.11.0.dist-info/METADATA,sha256=ZJJfzfpgisF64Sjr6h_aBXYPzn7TkCowHyY5r2yfFNI,5128
1363
- vellum_ai-0.11.0.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
1364
- vellum_ai-0.11.0.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1365
- vellum_ai-0.11.0.dist-info/RECORD,,
1379
+ vellum/workflows/workflows/event_filters.py,sha256=-uQcMB7IpPd-idMku8f2QNVhPXPFWo6FZLlGjRf8rCo,1996
1380
+ vellum_ai-0.11.3.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1381
+ vellum_ai-0.11.3.dist-info/METADATA,sha256=6F3pwCqaSVevjDTq4ErE748xs0VspO_aHNYnoOSq-dY,5128
1382
+ vellum_ai-0.11.3.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
1383
+ vellum_ai-0.11.3.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1384
+ vellum_ai-0.11.3.dist-info/RECORD,,
vellum_cli/pull.py CHANGED
@@ -19,10 +19,12 @@ def resolve_workflow_config(
19
19
  if module:
20
20
  return next((w for w in config.workflows if w.module == module), None)
21
21
  elif workflow_sandbox_id:
22
- return WorkflowConfig(
22
+ workflow_config = WorkflowConfig(
23
23
  workflow_sandbox_id=workflow_sandbox_id,
24
24
  module=f"workflow_{workflow_sandbox_id.split('-')[0]}",
25
25
  )
26
+ config.workflows.append(workflow_config)
27
+ return workflow_config
26
28
  elif config.workflows:
27
29
  return config.workflows[0]
28
30
 
@@ -1,5 +1,6 @@
1
1
  import pytest
2
2
  import io
3
+ import json
3
4
  import os
4
5
  import tempfile
5
6
  from uuid import uuid4
@@ -113,6 +114,23 @@ def test_pull__sandbox_id_with_no_config(vellum_client):
113
114
  with open(workflow_py) as f:
114
115
  assert f.read() == "print('hello')"
115
116
 
117
+ # AND the vellum.lock.json file is created
118
+ vellum_lock_json = os.path.join(temp_dir, "vellum.lock.json")
119
+ assert os.path.exists(vellum_lock_json)
120
+ with open(vellum_lock_json) as f:
121
+ lock_data = json.loads(f.read())
122
+ assert lock_data == {
123
+ "version": "1.0",
124
+ "workflows": [
125
+ {
126
+ "module": "workflow_87654321",
127
+ "workflow_sandbox_id": "87654321-0000-0000-0000-000000000000",
128
+ "ignore": None,
129
+ "deployments": [],
130
+ }
131
+ ],
132
+ }
133
+
116
134
 
117
135
  def test_pull__sandbox_id_with_other_workflow_configured(vellum_client, mock_module):
118
136
  # GIVEN a pyproject.toml with a workflow configured
@@ -1,6 +1,6 @@
1
1
  from dataclasses import dataclass
2
2
  from uuid import UUID
3
- from typing import Optional, TypeVar
3
+ from typing import TypeVar
4
4
 
5
5
 
6
6
  @dataclass
@@ -20,7 +20,6 @@ WorkflowMetaDisplayOverridesType = TypeVar("WorkflowMetaDisplayOverridesType", b
20
20
  @dataclass
21
21
  class WorkflowInputsDisplayOverrides:
22
22
  id: UUID
23
- color: Optional[str] = None
24
23
 
25
24
 
26
25
  @dataclass
@@ -8,6 +8,7 @@ from vellum_ee.workflows.display.nodes.base_node_vellum_display import BaseNodeV
8
8
  from vellum_ee.workflows.display.nodes.utils import raise_if_descriptor
9
9
  from vellum_ee.workflows.display.nodes.vellum.utils import create_node_input
10
10
  from vellum_ee.workflows.display.types import WorkflowDisplayContext
11
+ from vellum_ee.workflows.display.vellum import WorkspaceSecretPointer
11
12
 
12
13
  _APINodeType = TypeVar("_APINodeType", bound=APINode)
13
14
 
@@ -79,16 +80,13 @@ class BaseAPINodeDisplay(BaseNodeVellumDisplay[_APINodeType], Generic[_APINodeTy
79
80
  if authorization_type
80
81
  else None
81
82
  )
82
- bearer_token_value_node_input = (
83
- create_node_input(
84
- node_id=node_id,
85
- input_name="bearer_token_value",
86
- value=bearer_token_value,
87
- display_context=display_context,
88
- input_id=self.bearer_token_value_input_id,
89
- )
90
- if bearer_token_value
91
- else None
83
+ bearer_token_value_node_input = create_node_input(
84
+ node_id=node_id,
85
+ input_name="bearer_token_value",
86
+ value=bearer_token_value,
87
+ display_context=display_context,
88
+ input_id=self.bearer_token_value_input_id,
89
+ pointer_type=WorkspaceSecretPointer,
92
90
  )
93
91
  api_key_header_key_node_input = (
94
92
  create_node_input(
@@ -101,52 +99,52 @@ class BaseAPINodeDisplay(BaseNodeVellumDisplay[_APINodeType], Generic[_APINodeTy
101
99
  if api_key_header_key
102
100
  else None
103
101
  )
104
- api_key_header_value_node_input = (
105
- create_node_input(
106
- node_id=node_id,
107
- input_name="api_key_header_value",
108
- value=node.api_key_header_value,
109
- display_context=display_context,
110
- input_id=self.api_key_header_value_input_id,
111
- )
112
- if headers and api_key_header_key and api_key_header_value
113
- else None
102
+ api_key_header_value_node_input = create_node_input(
103
+ node_id=node_id,
104
+ input_name="api_key_header_value",
105
+ value=api_key_header_value,
106
+ display_context=display_context,
107
+ input_id=self.api_key_header_value_input_id,
108
+ pointer_type=WorkspaceSecretPointer,
114
109
  )
115
110
 
116
- # TODO: Add stable IDs for additional headers
117
- # https://app.shortcut.com/vellum/story/5083
118
- additional_headers: JsonArray = (
119
- [
120
- {
121
- "header_key_input_id": create_node_input(
122
- node_id=node_id,
123
- input_name="additional_header_key",
124
- value=key,
125
- display_context=display_context,
126
- input_id=(
127
- self.additional_header_key_input_ids.get(key)
128
- if self.additional_header_key_input_ids
129
- else None
130
- ),
131
- ).id,
132
- "header_value_input_id": create_node_input(
133
- node_id=node_id,
134
- input_name="additional_header_value",
135
- value=value,
136
- display_context=display_context,
137
- input_id=(
138
- self.additional_header_value_input_ids.get(key)
139
- if self.additional_header_value_input_ids
140
- else None
141
- ),
142
- ).id,
143
- }
144
- for key, value in headers.items()
145
- if key not in {api_key_header_key, "Authorization"}
146
- ]
147
- if headers
148
- else []
149
- )
111
+ additional_header_inputs = []
112
+
113
+ additional_headers: JsonArray = []
114
+ if headers:
115
+ for key, value in headers.items():
116
+ if key in {api_key_header_key, "Authorization"}:
117
+ continue
118
+
119
+ header_key_input = create_node_input(
120
+ node_id=node_id,
121
+ input_name="additional_header_key",
122
+ value=key,
123
+ display_context=display_context,
124
+ input_id=(
125
+ self.additional_header_key_input_ids.get(key) if self.additional_header_key_input_ids else None
126
+ ),
127
+ )
128
+ header_value_input = create_node_input(
129
+ node_id=node_id,
130
+ input_name="additional_header_value",
131
+ value=value,
132
+ display_context=display_context,
133
+ input_id=(
134
+ self.additional_header_value_input_ids.get(key)
135
+ if self.additional_header_value_input_ids
136
+ else None
137
+ ),
138
+ )
139
+
140
+ additional_header_inputs.extend([header_key_input, header_value_input])
141
+
142
+ additional_headers.append(
143
+ {
144
+ "header_key_input_id": header_key_input.id,
145
+ "header_value_input_id": header_value_input.id,
146
+ }
147
+ )
150
148
 
151
149
  inputs = [
152
150
  input
@@ -161,6 +159,7 @@ class BaseAPINodeDisplay(BaseNodeVellumDisplay[_APINodeType], Generic[_APINodeTy
161
159
  ]
162
160
  if input is not None
163
161
  ]
162
+ inputs.extend(additional_header_inputs)
164
163
 
165
164
  _, text_output_display = display_context.node_output_displays[cast(OutputReference, node.Outputs.text)]
166
165
  _, json_output_display = display_context.node_output_displays[cast(OutputReference, node.Outputs.json)]
@@ -1,5 +1,5 @@
1
1
  from uuid import UUID
2
- from typing import Any, ClassVar, Generic, List, Optional, TypeVar
2
+ from typing import Any, ClassVar, Generic, List, Optional, Type, TypeVar
3
3
 
4
4
  from vellum.workflows.nodes.displayable import MergeNode
5
5
  from vellum.workflows.types.core import JsonObject
@@ -14,6 +14,10 @@ _MergeNodeType = TypeVar("_MergeNodeType", bound=MergeNode)
14
14
  class BaseMergeNodeDisplay(BaseNodeVellumDisplay[_MergeNodeType], Generic[_MergeNodeType]):
15
15
  target_handle_ids: ClassVar[List[UUID]]
16
16
 
17
+ def __init__(self, node: Type[_MergeNodeType]):
18
+ super().__init__(node)
19
+ self._target_handle_iterator = 0
20
+
17
21
  def serialize(self, display_context: WorkflowDisplayContext, **kwargs: Any) -> JsonObject:
18
22
  node = self._node
19
23
  node_id = self.node_id
@@ -46,3 +50,18 @@ class BaseMergeNodeDisplay(BaseNodeVellumDisplay[_MergeNodeType], Generic[_Merge
46
50
 
47
51
  def get_target_handle_ids(self) -> Optional[List[UUID]]:
48
52
  return self._get_explicit_node_display_attr("target_handle_ids", List[UUID])
53
+
54
+ def get_target_handle_id_by_source_node_id(self, source_node_id: UUID) -> UUID:
55
+ target_handle_ids = self.get_target_handle_ids()
56
+ if target_handle_ids is None:
57
+ return uuid4_from_hash(f"{self.node_id}|target_handle|{source_node_id}")
58
+
59
+ # Edges call this method to know which handle to connect to
60
+ # We use the order of the edges to determine the handle id. This is quite brittle to the order of the
61
+ # edges matching the order of the Merge Node's data.target_handles attribute. We should look into a
62
+ # longer term solution, or cutover Merge Nodes to Generic Nodes soon
63
+ target_handle_id = target_handle_ids[self._target_handle_iterator]
64
+ self._target_handle_iterator += 1
65
+ if self._target_handle_iterator >= len(self.target_handle_ids):
66
+ self._target_handle_iterator = 0
67
+ return target_handle_id
@@ -1,5 +1,5 @@
1
1
  from uuid import UUID
2
- from typing import ClassVar, Dict, Generic, Optional, TypeVar
2
+ from typing import ClassVar, Generic, Optional, TypeVar
3
3
 
4
4
  from vellum.workflows.nodes.core.templating_node import TemplatingNode
5
5
  from vellum.workflows.types.core import JsonObject
@@ -11,10 +11,11 @@ from vellum_ee.workflows.display.types import WorkflowDisplayContext
11
11
 
12
12
  _TemplatingNodeType = TypeVar("_TemplatingNodeType", bound=TemplatingNode)
13
13
 
14
+ TEMPLATE_INPUT_NAME = "template"
15
+
14
16
 
15
17
  class BaseTemplatingNodeDisplay(BaseNodeVellumDisplay[_TemplatingNodeType], Generic[_TemplatingNodeType]):
16
18
  template_input_id: ClassVar[Optional[UUID]] = None
17
- input_ids_by_name: ClassVar[Dict[str, UUID]] = {}
18
19
 
19
20
  def serialize(
20
21
  self, display_context: WorkflowDisplayContext, error_output_id: Optional[UUID] = None, **kwargs
@@ -22,12 +23,21 @@ class BaseTemplatingNodeDisplay(BaseNodeVellumDisplay[_TemplatingNodeType], Gene
22
23
  node = self._node
23
24
  node_id = self.node_id
24
25
 
26
+ template_input_id = self.template_input_id or next(
27
+ (
28
+ input_id
29
+ for input_name, input_id in self.node_input_ids_by_name.items()
30
+ if input_name == TEMPLATE_INPUT_NAME
31
+ ),
32
+ None,
33
+ )
34
+
25
35
  template_node_input = create_node_input(
26
36
  node_id=node_id,
27
37
  input_name="template",
28
38
  value=node.template,
29
39
  display_context=display_context,
30
- input_id=self.template_input_id,
40
+ input_id=template_input_id,
31
41
  )
32
42
  template_node_inputs = raise_if_descriptor(node.inputs)
33
43
  template_inputs = [
@@ -36,9 +46,10 @@ class BaseTemplatingNodeDisplay(BaseNodeVellumDisplay[_TemplatingNodeType], Gene
36
46
  input_name=variable_name,
37
47
  value=variable_value,
38
48
  display_context=display_context,
39
- input_id=self.input_ids_by_name.get("template"),
49
+ input_id=self.node_input_ids_by_name.get(variable_name),
40
50
  )
41
51
  for variable_name, variable_value in template_node_inputs.items()
52
+ if variable_name != TEMPLATE_INPUT_NAME
42
53
  ]
43
54
  node_inputs = [template_node_input, *template_inputs]
44
55