vellum-ai 1.7.4__py3-none-any.whl → 1.7.6__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.
- vellum/__init__.py +2 -0
- vellum/client/core/client_wrapper.py +2 -2
- vellum/client/reference.md +95 -0
- vellum/client/resources/workflow_deployments/client.py +111 -0
- vellum/client/resources/workflow_deployments/raw_client.py +121 -0
- vellum/client/types/__init__.py +2 -0
- vellum/client/types/paginated_workflow_deployment_release_list.py +30 -0
- vellum/client/types/vellum_error_code_enum.py +2 -0
- vellum/client/types/vellum_sdk_error_code_enum.py +2 -0
- vellum/client/types/workflow_execution_event_error_code.py +2 -0
- vellum/types/paginated_workflow_deployment_release_list.py +3 -0
- vellum/workflows/edges/__init__.py +2 -0
- vellum/workflows/edges/trigger_edge.py +67 -0
- vellum/workflows/events/tests/test_event.py +40 -0
- vellum/workflows/events/workflow.py +15 -3
- vellum/workflows/graph/graph.py +93 -0
- vellum/workflows/graph/tests/test_graph.py +167 -0
- vellum/workflows/nodes/bases/base.py +28 -9
- vellum/workflows/nodes/displayable/search_node/node.py +2 -1
- vellum/workflows/nodes/displayable/search_node/tests/test_node.py +14 -0
- vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +7 -1
- vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/test_node.py +1 -1
- vellum/workflows/nodes/displayable/tool_calling_node/node.py +1 -1
- vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py +54 -0
- vellum/workflows/nodes/displayable/tool_calling_node/utils.py +27 -25
- vellum/workflows/ports/port.py +11 -0
- vellum/workflows/runner/runner.py +30 -40
- vellum/workflows/triggers/__init__.py +5 -0
- vellum/workflows/triggers/base.py +125 -0
- vellum/workflows/triggers/integration.py +62 -0
- vellum/workflows/triggers/manual.py +37 -0
- vellum/workflows/triggers/tests/__init__.py +1 -0
- vellum/workflows/triggers/tests/test_integration.py +102 -0
- vellum/workflows/workflows/base.py +26 -12
- {vellum_ai-1.7.4.dist-info → vellum_ai-1.7.6.dist-info}/METADATA +1 -1
- {vellum_ai-1.7.4.dist-info → vellum_ai-1.7.6.dist-info}/RECORD +48 -38
- vellum_cli/push.py +1 -5
- vellum_cli/tests/test_push.py +86 -0
- vellum_ee/assets/node-definitions.json +1 -1
- vellum_ee/workflows/display/base.py +26 -1
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_inline_workflow_serialization.py +1 -1
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_serialization.py +1 -1
- vellum_ee/workflows/display/tests/workflow_serialization/test_manual_trigger_serialization.py +110 -0
- vellum_ee/workflows/display/workflows/base_workflow_display.py +72 -10
- vellum_ee/workflows/tests/test_server.py +40 -1
- {vellum_ai-1.7.4.dist-info → vellum_ai-1.7.6.dist-info}/LICENSE +0 -0
- {vellum_ai-1.7.4.dist-info → vellum_ai-1.7.6.dist-info}/WHEEL +0 -0
- {vellum_ai-1.7.4.dist-info → vellum_ai-1.7.6.dist-info}/entry_points.txt +0 -0
@@ -9,7 +9,7 @@ vellum_cli/logger.py,sha256=dcM_OmgqXLo93vDYswO5ylyUQQcTfnA5GTd5tbIt3wM,1446
|
|
9
9
|
vellum_cli/move.py,sha256=lCHQ-U4BspgS512GxFFvUrglitaHkWfuKn1Hpfcn7-Q,2053
|
10
10
|
vellum_cli/ping.py,sha256=p_BCCRjgPhng6JktuECtkDQLbhopt6JpmrtGoLnLJT8,1161
|
11
11
|
vellum_cli/pull.py,sha256=udYyPlJ6VKDdh78rApNJOZgxHl82fcV6iGnRPSdX1LY,14750
|
12
|
-
vellum_cli/push.py,sha256=
|
12
|
+
vellum_cli/push.py,sha256=epoQNdFdXUzLlfwE2ZTklfy3DW6bI4-Pgv1QRS8CZXk,11803
|
13
13
|
vellum_cli/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
14
|
vellum_cli/tests/conftest.py,sha256=wx3PlJjVB0HRf5dr2b_idOIw27WPPl0J0FNbhIJJaVk,1689
|
15
15
|
vellum_cli/tests/test_config.py,sha256=uvKGDc8BoVyT9_H0Z-g8469zVxomn6Oi3Zj-vK7O_wU,2631
|
@@ -20,14 +20,14 @@ vellum_cli/tests/test_main.py,sha256=qDZG-aQauPwBwM6A2DIu1494n47v3pL28XakTbLGZ-k
|
|
20
20
|
vellum_cli/tests/test_move.py,sha256=FIrL1xlH5oFKGX2MugcTKL8JilpopmUC7hP5OaqF5zw,5213
|
21
21
|
vellum_cli/tests/test_ping.py,sha256=b3aQLd-N59_8w2rRiWqwpB1rlHaKEYVbAj1Y3hi7A-g,2605
|
22
22
|
vellum_cli/tests/test_pull.py,sha256=e2XHzcHIx9k-FyuNAl7wMSNsSSebPGyP6U05JGcddFs,49447
|
23
|
-
vellum_cli/tests/test_push.py,sha256=
|
23
|
+
vellum_cli/tests/test_push.py,sha256=oQ3x28G6IxplmMWCcPEYY46nOYAEPaihcMVsN4quQ5Q,45000
|
24
24
|
vellum_ee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
25
|
-
vellum_ee/assets/node-definitions.json,sha256=
|
25
|
+
vellum_ee/assets/node-definitions.json,sha256=Mm3c1nfEa1QjWWzNvIJlhahDcY4SM3wQm8og_x3jyd8,30755
|
26
26
|
vellum_ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
27
27
|
vellum_ee/scripts/generate_node_definitions.py,sha256=FOYQsXIqU45I0OAcsyZUGODF9JK44yunf58rR6YaAdA,3303
|
28
28
|
vellum_ee/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
29
29
|
vellum_ee/workflows/display/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
30
|
-
vellum_ee/workflows/display/base.py,sha256=
|
30
|
+
vellum_ee/workflows/display/base.py,sha256=BrXRr3WMDJitXe9hcq6EDE3MZvuRnEZuCsIswiAyYYk,2606
|
31
31
|
vellum_ee/workflows/display/editor/__init__.py,sha256=MSAgY91xCEg2neH5d8jXx5wRdR962ftZVa6vO9BGq9k,167
|
32
32
|
vellum_ee/workflows/display/editor/types.py,sha256=rmaNXkNZUNRgK-mJJ_g1-Fm3OGxoQfqEB7zn-zzgJtc,664
|
33
33
|
vellum_ee/workflows/display/exceptions.py,sha256=_FDhK-lfuBPHY2GSywp70ewM0k55Ji5Bp-wZlEZenz4,112
|
@@ -101,15 +101,16 @@ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_
|
|
101
101
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py,sha256=ddPa8gNBYH2tWk92ymngY7M8n74J-8CEre50HISP_-g,7877
|
102
102
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=A7Ef8P1-Nyvsb97bumKT9W2R1LuZaY9IKFV-7iRueog,4010
|
103
103
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_composio_serialization.py,sha256=oVXCjkU0G56QJmqnd_xIwF3D9bhJwALFibM2wmRhwUk,3739
|
104
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_inline_workflow_serialization.py,sha256=
|
104
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_inline_workflow_serialization.py,sha256=0yMgPwl-A5GLcQCLr8faK2Z0HMONKnA0GnRTddbSch8,26693
|
105
105
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_mcp_serialization.py,sha256=QhQbijeCnFeX1i3SMjHJg2WVAEt5JEO3dhFRv-mofdA,2458
|
106
106
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_parent_input.py,sha256=__LX4cuzbyZp_1wc-SI8X_J0tnhOkCEmRVUWLKI5aQM,4578
|
107
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_serialization.py,sha256=
|
107
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_serialization.py,sha256=xe9n2GKt6Pwf9antW0OUp34EJjxeJT6K-szE0PukHOo,10438
|
108
108
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_vellum_integration_serialization.py,sha256=zvLgIIgKTjAV5ObvqfoR7U-HSdOnGgOKxcCLoq5-Jvk,2851
|
109
109
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_workflow_deployment_serialization.py,sha256=XIZZr5POo2NLn2uEWm9EC3rejeBMoO4X-JtzTH6mvp4,4074
|
110
110
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=pLCyMScV88DTBXRH7jXaXOEA1GBq8NIipCUFwIAWnwI,2771
|
111
111
|
vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=exT7U-axwtYgFylagScflSQLJEND51qIAx2UATju6JM,6023
|
112
112
|
vellum_ee/workflows/display/tests/workflow_serialization/test_final_output_node_map_reference_serialization.py,sha256=vl3pxUJlrYRA8zzFJ-gRm7fe-5fviLNSIsUC7imnMqk,3502
|
113
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_manual_trigger_serialization.py,sha256=sd0lbity6yVIJ3HbMZEcL1wJEYoihqVW2Bjx8YMmrAM,3657
|
113
114
|
vellum_ee/workflows/display/tests/workflow_serialization/test_terminal_node_any_serialization.py,sha256=4WAmSEJZlDBLPhsD1f4GwY9ahB9F6qJKGnL6j7ZYlzQ,1740
|
114
115
|
vellum_ee/workflows/display/tests/workflow_serialization/test_web_search_node_serialization.py,sha256=vbDFBrWUPeeW7cxjNA6SXrsHlYcbOAhlQ4C45Vdnr1c,3428
|
115
116
|
vellum_ee/workflows/display/tests/workflow_serialization/test_workflow_input_parameterization_error.py,sha256=vAdmn3YTBDpo55znbydQxsgg9ASqHcvsUPwiBR_7wfo,1461
|
@@ -126,7 +127,7 @@ vellum_ee/workflows/display/utils/tests/test_events.py,sha256=42IEBnMbaQrH8gigw5
|
|
126
127
|
vellum_ee/workflows/display/utils/vellum.py,sha256=Bt7kdLdXoBsHn5dVEY2uKcF542VL09jwu8J_30rl2vk,6413
|
127
128
|
vellum_ee/workflows/display/vellum.py,sha256=J2mdJZ1sdLW535DDUkq_Vm8Z572vhuxHxVZF9deKSdk,391
|
128
129
|
vellum_ee/workflows/display/workflows/__init__.py,sha256=JTB9ObEV3l4gGGdtfBHwVJtTTKC22uj-a-XjTVwXCyA,148
|
129
|
-
vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=
|
130
|
+
vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=DAGqGCg2WTBTNeO1akDpeCAJ5sAtUu65dnXsagnO6Jk,46937
|
130
131
|
vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=gxz76AeCqgAZ9D2lZeTiZzxY9eMgn3qOSfVgiqYcOh8,2028
|
131
132
|
vellum_ee/workflows/display/workflows/tests/test_workflow_display.py,sha256=lg-c_3P3ldtqWq2VFsk_2Mkn3pVdXWuT59QpH7QwXVs,39764
|
132
133
|
vellum_ee/workflows/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -153,14 +154,14 @@ vellum_ee/workflows/tests/local_workflow/workflow.py,sha256=A4qOzOPNwePYxWbcAgIP
|
|
153
154
|
vellum_ee/workflows/tests/test_display_meta.py,sha256=PkXJVnMZs9GNooDkd59n4YTBAX3XGPQWeSSVbhehVFM,5112
|
154
155
|
vellum_ee/workflows/tests/test_registry.py,sha256=B8xRIuEyLWfSqrYoPldNQXhKPfe50PllvtAZoI8-uPs,6066
|
155
156
|
vellum_ee/workflows/tests/test_serialize_module.py,sha256=zleQTcGZa5_nzwu4zpFoqEHhk7pb64hGrhObR4anhPQ,4471
|
156
|
-
vellum_ee/workflows/tests/test_server.py,sha256=
|
157
|
+
vellum_ee/workflows/tests/test_server.py,sha256=RmLE2s9Cs7NejvWf7aPRNuAeEER-hGk-9Q9fYrn5wps,26013
|
157
158
|
vellum_ee/workflows/tests/test_virtual_files.py,sha256=TJEcMR0v2S8CkloXNmCHA0QW0K6pYNGaIjraJz7sFvY,2762
|
158
|
-
vellum/__init__.py,sha256=
|
159
|
+
vellum/__init__.py,sha256=6dkyRHmIKuQPzL_z3QLVUrbkAF-HJKDhDSMCnf4ZsKw,49502
|
159
160
|
vellum/client/README.md,sha256=flqu57ubZNTfpq60CdLtJC9gp4WEkyjb_n_eZ4OYf9w,6497
|
160
161
|
vellum/client/__init__.py,sha256=rMnKRqL5-356SBc-rfm56MkO87PuAi2mtcfBszcJU1M,74316
|
161
162
|
vellum/client/core/__init__.py,sha256=lTcqUPXcx4112yLDd70RAPeqq6tu3eFMe1pKOqkW9JQ,1562
|
162
163
|
vellum/client/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
|
163
|
-
vellum/client/core/client_wrapper.py,sha256=
|
164
|
+
vellum/client/core/client_wrapper.py,sha256=Xg-fX0-gnXrGKMqx9QTWnqutz2unMYFhgA34qo_877U,2840
|
164
165
|
vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
165
166
|
vellum/client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
166
167
|
vellum/client/core/force_multipart.py,sha256=awxh5MtcRYe74ehY8U76jzv6fYM_w_D3Rur7KQQzSDk,429
|
@@ -181,7 +182,7 @@ vellum/client/errors/not_found_error.py,sha256=YrqVM0oc3qkQbFbmmm6xr300VGfUNxMSy
|
|
181
182
|
vellum/client/errors/too_many_requests_error.py,sha256=SJJemdgUlQHV_VpxK8UfFNexgZebNT5_MTOeQs6oVgc,397
|
182
183
|
vellum/client/errors/unauthorized_error.py,sha256=waPl5Swiqsk3FQK-Lljzx4KDh4RPZ0wL6BLHjM8onQ8,394
|
183
184
|
vellum/client/raw_client.py,sha256=cmMR0t87iUYvkIE9L4g0dcCmw3uUQNze9rD9CBv5rzs,113481
|
184
|
-
vellum/client/reference.md,sha256=
|
185
|
+
vellum/client/reference.md,sha256=lqfW5v1s-z4Amy07JcxQTF_YiLVlkbZH6bG4Hgn2Uyc,107432
|
185
186
|
vellum/client/resources/__init__.py,sha256=JlNoSZYFGxLTuzPvmMV1b8IWDYjlDL4BaBbq9TgfGUE,1765
|
186
187
|
vellum/client/resources/ad_hoc/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
187
188
|
vellum/client/resources/ad_hoc/client.py,sha256=v5I_YzJaaPezsE4KVuMSUXJISstKuJ_9-VUeXakIJhw,14353
|
@@ -242,8 +243,8 @@ vellum/client/resources/test_suites/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-C
|
|
242
243
|
vellum/client/resources/test_suites/client.py,sha256=xo197bXk84jj6gEieRmJuhqBbQ8IB-VMNLki7gdqhlo,20753
|
243
244
|
vellum/client/resources/test_suites/raw_client.py,sha256=XfDqmJa7fngPsHAirTSSNBMHy2O4mKOaNS16IL567L8,22335
|
244
245
|
vellum/client/resources/workflow_deployments/__init__.py,sha256=MVnGG7CkZA7F8p__MGerey22DTg6oYqfay77mdlDjBc,271
|
245
|
-
vellum/client/resources/workflow_deployments/client.py,sha256=
|
246
|
-
vellum/client/resources/workflow_deployments/raw_client.py,sha256=
|
246
|
+
vellum/client/resources/workflow_deployments/client.py,sha256=As_QCQU-aU7qfMniqPsCfo3NKHfCNFy5AG-KlDi5nS8,30647
|
247
|
+
vellum/client/resources/workflow_deployments/raw_client.py,sha256=Lye7Y1YEgW4Kx5MQJhktUfLkxvgYVNqBcCZjY7v-PN8,42159
|
247
248
|
vellum/client/resources/workflow_deployments/types/__init__.py,sha256=2Lrjd-cX_h9gZEgxsF7e9nhCWUcTNXQyEaOjytC1NEM,360
|
248
249
|
vellum/client/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py,sha256=LPETHLX9Ygha_JRT9oWZAZR6clv-W1tTelXzktkTBX8,178
|
249
250
|
vellum/client/resources/workflow_deployments/types/workflow_deployments_list_request_status.py,sha256=FXVkVmGM6DZ2RpTGnZXWJYiVlLQ-K5fDtX3WMaBPaWk,182
|
@@ -266,7 +267,7 @@ vellum/client/resources/workspaces/client.py,sha256=36KYa2FDu6h65q2GscUFOJs4qKei
|
|
266
267
|
vellum/client/resources/workspaces/raw_client.py,sha256=M3Ewk1ZfEZ44EeTvBtBNoNKi5whwfLY-1GR07SyfDTI,3517
|
267
268
|
vellum/client/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
268
269
|
vellum/client/tests/test_utils.py,sha256=zk8z45-2xrm9sZ2hq8PTqY8MXmXtPqMqYK0VBBX0GHg,1176
|
269
|
-
vellum/client/types/__init__.py,sha256=
|
270
|
+
vellum/client/types/__init__.py,sha256=mviyigR9JByvGdgCOqfY6DyrExvkCnN6PXBEMRsY3pw,74926
|
270
271
|
vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=B69EesIH6fpNsdoiJaSG9zF1Sl17FnjoTu4CBkUSoHk,608
|
271
272
|
vellum/client/types/ad_hoc_expand_meta.py,sha256=Kajcj3dKKed5e7uZibRnE3ZonK_bB2JPM-3aLjLfUp4,1295
|
272
273
|
vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=5kD6ZcbU8P8ynK0lMD8Mh7vHzvQt06ziMyphvWYg6FU,968
|
@@ -614,6 +615,7 @@ vellum/client/types/paginated_slim_tool_definition_list.py,sha256=XhtwDClmShV_LT
|
|
614
615
|
vellum/client/types/paginated_slim_workflow_deployment_list.py,sha256=mIQZ1FT3qQTGG-8eMRvnSAm_u9ixlGk7b80nxoVBxCI,973
|
615
616
|
vellum/client/types/paginated_test_suite_run_execution_list.py,sha256=sYg7pO_vCUoT0xH_a8mQAUWd8A-xEI0EEfmFKbv9U-c,921
|
616
617
|
vellum/client/types/paginated_test_suite_test_case_list.py,sha256=gDVdq10b5u3NEzMZrjpioVDBLMKmHcsRXBi-IX2ZBL8,901
|
618
|
+
vellum/client/types/paginated_workflow_deployment_release_list.py,sha256=0THeQdJlr-hBLZIcCFHs8oPZUzmTUMhmNpWMhTb0q7c,988
|
617
619
|
vellum/client/types/paginated_workflow_release_tag_read_list.py,sha256=QhnPPpYE5T_0Kzl6QJ9YWcsc4WYf74px_KOiQTWRqNY,782
|
618
620
|
vellum/client/types/paginated_workflow_sandbox_example_list.py,sha256=GHWCQdTYmFeoN0lxdreN0RldKcUa2Duazlfke2cLOc4,781
|
619
621
|
vellum/client/types/parent_context.py,sha256=U4eS717FDcsTPO37ckQs2axtzei-eyivwfjSmGYSOjU,890
|
@@ -841,13 +843,13 @@ vellum/client/types/vellum_code_resource_definition.py,sha256=XdueTR342BDjevZ3kt
|
|
841
843
|
vellum/client/types/vellum_document.py,sha256=qwXqMS2Eud2a5KmF8QHhU_vJzDX0g5cesrCpmBqREsA,604
|
842
844
|
vellum/client/types/vellum_document_request.py,sha256=P9vA7ZDNeaHNlMqyzfl-ZD4bpdf-xA5mH8R1QuOAmOY,611
|
843
845
|
vellum/client/types/vellum_error.py,sha256=G4WSD-w_skoDDnsAt-TtImt-hZT-Sc8LjHvERBUVnhE,691
|
844
|
-
vellum/client/types/vellum_error_code_enum.py,sha256=
|
846
|
+
vellum/client/types/vellum_error_code_enum.py,sha256=aqRRPpcpagYMJ-TDBb-V9xyj2cubwP9ygNO4NaO1Y8s,477
|
845
847
|
vellum/client/types/vellum_error_request.py,sha256=7l4Ux6wj3C9BdSXUPBrtxECsAirmvaLU42Y23VqncBU,698
|
846
848
|
vellum/client/types/vellum_image.py,sha256=LAGUYBDsT0bmMOqgbaeCTCy2w4zAeHEyUIgPtmdjjJ4,601
|
847
849
|
vellum/client/types/vellum_image_request.py,sha256=6DoI2AdJIG8NShHSslpHvsFUw5PwIMconjlHSipOP5Q,608
|
848
850
|
vellum/client/types/vellum_node_execution_event.py,sha256=-MXat2wAZx4sx3JRp7gwJIOInPNwPMDpZmXtP8NC3O8,736
|
849
851
|
vellum/client/types/vellum_sdk_error.py,sha256=oURNuw5zH4HqV6Ygw0MgVWH2DcuxekWvS_ZXA8tU31I,704
|
850
|
-
vellum/client/types/vellum_sdk_error_code_enum.py,sha256=
|
852
|
+
vellum/client/types/vellum_sdk_error_code_enum.py,sha256=zyPoP7V-uooGdBlVjanveQbaiHRumjAXsHwH_Stg8gU,577
|
851
853
|
vellum/client/types/vellum_secret.py,sha256=04WlBWphqiJSUKM2NeJE32IDt-ZpVO_LOXkpXvBh3f0,519
|
852
854
|
vellum/client/types/vellum_span.py,sha256=dmZOBXlDeXx4eLvBJBiOp07xuyjhisgXgnvYFSmctYE,259
|
853
855
|
vellum/client/types/vellum_value.py,sha256=douOrlRh2ko1gmN8oDjsaoAEtyDcfq-OV_GThW92GNk,1188
|
@@ -884,7 +886,7 @@ vellum/client/types/workflow_execution_actual_chat_history_request.py,sha256=E3V
|
|
884
886
|
vellum/client/types/workflow_execution_actual_json_request.py,sha256=jLsQxdg7SVyUkdu_Gyo3iDKgZcQnO5hsP0PHPsiGwrg,1895
|
885
887
|
vellum/client/types/workflow_execution_actual_string_request.py,sha256=syFCXeB4MwjKblXfSBNfCSG4dJIR8Ww937gTcmTPh1w,1859
|
886
888
|
vellum/client/types/workflow_execution_detail.py,sha256=R1tONdNarehoqk7zsK0D2wCSJEe9WauZmKHp5yKVLB8,2186
|
887
|
-
vellum/client/types/workflow_execution_event_error_code.py,sha256=
|
889
|
+
vellum/client/types/workflow_execution_event_error_code.py,sha256=8VL4wHTEy-AdQhApnOsz2L2wXcuo5LBqgUAVnaQ-pXM,568
|
888
890
|
vellum/client/types/workflow_execution_event_type.py,sha256=ESKqV3ItoAlqBooruf-i0AnmEh_GvCySZ0Co3r9Bvt0,170
|
889
891
|
vellum/client/types/workflow_execution_fulfilled_body.py,sha256=Auu-rzrIdxEkXgPHXe-BynwEWxL_R68E_VrLFCHueFA,710
|
890
892
|
vellum/client/types/workflow_execution_fulfilled_event.py,sha256=eZ_DtDmRK-S2Q0LEJHlGS_FPd-UVvpgetRXqvWlSh4M,1925
|
@@ -1434,6 +1436,7 @@ vellum/types/paginated_slim_tool_definition_list.py,sha256=oA5StUVXoYK1nxXYKy2b3
|
|
1434
1436
|
vellum/types/paginated_slim_workflow_deployment_list.py,sha256=3QgvxRFqcOw9z-cl0CBaHrREc8pxkPxUYreINh-indg,177
|
1435
1437
|
vellum/types/paginated_test_suite_run_execution_list.py,sha256=XEr928_4w9Rw9_q6dshxPWfXXptLdRlDp-frKIIcdYQ,177
|
1436
1438
|
vellum/types/paginated_test_suite_test_case_list.py,sha256=LoyXDEr2yXrkniJ25HctBWvhqKQ987XItukUwPYUIhQ,173
|
1439
|
+
vellum/types/paginated_workflow_deployment_release_list.py,sha256=Y4DCce-APrZNMIMz1db6ZAUmaCJdWMvuTmRImpii09k,180
|
1437
1440
|
vellum/types/paginated_workflow_release_tag_read_list.py,sha256=XUeQn_6JPJ6K2qts-NZIEEZF94C3U2AosStc2k57eWY,178
|
1438
1441
|
vellum/types/paginated_workflow_sandbox_example_list.py,sha256=FlPNK6QtzQL9yD-k_qpQrE8yMARrJRjk5aGf6ZTbGyY,177
|
1439
1442
|
vellum/types/parent_context.py,sha256=z50nvSfKqZKrX-q6u5Ex3h6WzdM6_hb-9dBHWdTQ5AA,152
|
@@ -1796,8 +1799,9 @@ vellum/workflows/descriptors/base.py,sha256=v3WG2d_pekYtVK3Y2FSdVhf_XwNUnvXgSWuh
|
|
1796
1799
|
vellum/workflows/descriptors/exceptions.py,sha256=Rv2uMiaO2a2SADhJzl_VHhV6dqwAhZAzaJPoThP7SZc,653
|
1797
1800
|
vellum/workflows/descriptors/tests/test_utils.py,sha256=HJ5DoRz0sJvViGxyZ_FtytZjxN2J8xTkGtaVwCy6Q90,6928
|
1798
1801
|
vellum/workflows/descriptors/utils.py,sha256=Z7kuhwb_D_kfcwKIAr1xI_AqYH6WFoZBYuslKQWZBFU,4399
|
1799
|
-
vellum/workflows/edges/__init__.py,sha256=
|
1802
|
+
vellum/workflows/edges/__init__.py,sha256=auViJbvYiR1gzgGlhMv1fPDMvgXGOwa5g-YZn97fvUo,107
|
1800
1803
|
vellum/workflows/edges/edge.py,sha256=N0SnY3gKVuxImPAdCbPMPlHJIXbkQ3fwq_LbJRvVMFc,677
|
1804
|
+
vellum/workflows/edges/trigger_edge.py,sha256=tyOqENGuKbxw_zn-f5rFSe6E3sWe2bRIZE4txvG7odE,2160
|
1801
1805
|
vellum/workflows/emitters/__init__.py,sha256=d9QFOI3eVg6rzpSFLvrjkDYXWikf1tcp3ruTRa2Boyc,143
|
1802
1806
|
vellum/workflows/emitters/base.py,sha256=4hClzI-ue0kWiEnZ1T1zvGz2ZWnoWLCVF-seqHBMUC8,1144
|
1803
1807
|
vellum/workflows/emitters/vellum_emitter.py,sha256=t4ixrN0NNXrydMP9PVKYvcOMxoMqsg5v5pL7mzLE59k,4925
|
@@ -1813,9 +1817,9 @@ vellum/workflows/events/relational_threads.py,sha256=zmLrBCBYpdpQV0snKH3HleST-_h
|
|
1813
1817
|
vellum/workflows/events/stream.py,sha256=xhXJTZirFi0xad5neAQNogrIQ4h47fpnKbVC3vCM5Js,889
|
1814
1818
|
vellum/workflows/events/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1815
1819
|
vellum/workflows/events/tests/test_basic_workflow.py,sha256=Pj6orHsXz37jWC5FARi0Sx2Gjf99Owri2Cvr6Chb79k,1765
|
1816
|
-
vellum/workflows/events/tests/test_event.py,sha256=
|
1820
|
+
vellum/workflows/events/tests/test_event.py,sha256=a-_vwiKhZWTxmRvDPB-aveWuGBOMqr5nY9t6uFmtL-o,21431
|
1817
1821
|
vellum/workflows/events/types.py,sha256=mVrqAH9Hs9SpXm08Hcxdyap_ImQPwGsxRr56rSNMP34,5043
|
1818
|
-
vellum/workflows/events/workflow.py,sha256=
|
1822
|
+
vellum/workflows/events/workflow.py,sha256=uoSnZFyG-oHvmvmAA3LYRJOMc_vOrbfa64stnSzNePs,9494
|
1819
1823
|
vellum/workflows/exceptions.py,sha256=cizNaHgmGdIoYSV3Mn6_HlpUvs2Nq9KgpX1ewMZdBa0,2157
|
1820
1824
|
vellum/workflows/executable.py,sha256=um-gLJMVYfGJwGJfZIPlCRHhHIYm6pn8PUEfeqrNx5k,218
|
1821
1825
|
vellum/workflows/expressions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1863,9 +1867,9 @@ vellum/workflows/expressions/tests/test_length.py,sha256=pQA1tYSwqxE6euclboY024N
|
|
1863
1867
|
vellum/workflows/expressions/tests/test_minus.py,sha256=pq7dvdRGNhSSn95LGNzRErsYUsFk5SpOKHDcSR5QToc,1632
|
1864
1868
|
vellum/workflows/expressions/tests/test_parse_json.py,sha256=zpB_qE5_EwWQL7ULQUJm0o1PRSfWZdAqZNW6Ah13oJE,1059
|
1865
1869
|
vellum/workflows/graph/__init__.py,sha256=3sHlay5d_-uD7j3QJXiGl0WHFZZ_QScRvgyDhN2GhHY,74
|
1866
|
-
vellum/workflows/graph/graph.py,sha256=
|
1870
|
+
vellum/workflows/graph/graph.py,sha256=lUqREmkROzRtyw1ncRnN7CR9vbztJYR1IgR3hHIG9Xw,14537
|
1867
1871
|
vellum/workflows/graph/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1868
|
-
vellum/workflows/graph/tests/test_graph.py,sha256=
|
1872
|
+
vellum/workflows/graph/tests/test_graph.py,sha256=OLGkEQh-B1CucwSf4nOP79RFXB4R2isHo3LFlr-24yA,20132
|
1869
1873
|
vellum/workflows/inputs/__init__.py,sha256=02pj0IbJkN1AxTreswK39cNi45tA8GWcAAdRJve4cuM,116
|
1870
1874
|
vellum/workflows/inputs/base.py,sha256=79Dw3jiSnCVFeySg6rMFPIqPfErmGKY0XPhpW0dSY-E,5454
|
1871
1875
|
vellum/workflows/inputs/dataset_row.py,sha256=Szdb_RKysCEBRfy4B5LoXoPiTZPEFp_0_RqRZUZRGbU,1076
|
@@ -1881,7 +1885,7 @@ vellum/workflows/integrations/vellum_integration_service.py,sha256=qhFoLzHlMli1P
|
|
1881
1885
|
vellum/workflows/logging.py,sha256=_a217XogktV4Ncz6xKFz7WfYmZAzkfVRVuC0rWob8ls,437
|
1882
1886
|
vellum/workflows/nodes/__init__.py,sha256=zymtc3_iW2rFmMR-sayTLuN6ZsAw8VnJweWPsjQk2-Q,1197
|
1883
1887
|
vellum/workflows/nodes/bases/__init__.py,sha256=cniHuz_RXdJ4TQgD8CBzoiKDiPxg62ErdVpCbWICX64,58
|
1884
|
-
vellum/workflows/nodes/bases/base.py,sha256=
|
1888
|
+
vellum/workflows/nodes/bases/base.py,sha256=u7NmYWhQZm91KZV53PGD-gpZvcWAItOme95TjZkHwDI,22094
|
1885
1889
|
vellum/workflows/nodes/bases/base_adornment_node.py,sha256=hrgzuTetM4ynPd9YGHoK8Vwwn4XITi3aZZ_OCnQrq4Y,3433
|
1886
1890
|
vellum/workflows/nodes/bases/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1887
1891
|
vellum/workflows/nodes/bases/tests/test_base_adornment_node.py,sha256=fXZI9KqpS4XMBrBnIEkK3foHaBVvyHwYcQWWDKay7ic,1148
|
@@ -1962,26 +1966,26 @@ vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=XeBn6d3
|
|
1962
1966
|
vellum/workflows/nodes/displayable/prompt_deployment_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1963
1967
|
vellum/workflows/nodes/displayable/prompt_deployment_node/tests/test_node.py,sha256=c_nuuqrwiIjgj4qIbVypfDuOc-3TlgO6CbXFqQl2Nqw,19725
|
1964
1968
|
vellum/workflows/nodes/displayable/search_node/__init__.py,sha256=hpBpvbrDYf43DElRZFLzieSn8weXiwNiiNOJurERQbs,62
|
1965
|
-
vellum/workflows/nodes/displayable/search_node/node.py,sha256=
|
1969
|
+
vellum/workflows/nodes/displayable/search_node/node.py,sha256=hbPsZhyXfq9dx0mfBKOyivluDmV2iXmDTT7loEyu9nI,2057
|
1966
1970
|
vellum/workflows/nodes/displayable/search_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1967
|
-
vellum/workflows/nodes/displayable/search_node/tests/test_node.py,sha256=
|
1971
|
+
vellum/workflows/nodes/displayable/search_node/tests/test_node.py,sha256=YXgIIAJHVQxrfyJ0gxeJC0fAJaic10_zbqvsS8hyZSc,9368
|
1968
1972
|
vellum/workflows/nodes/displayable/subworkflow_deployment_node/__init__.py,sha256=9yYM6001YZeqI1VOk1QuEM_yrffk_EdsO7qaPzINKds,92
|
1969
|
-
vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=
|
1973
|
+
vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=AHlW7aPDza1FuSR_9xONOe3tzDFDg8EIJtO1NJ7ILhk,14445
|
1970
1974
|
vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1971
|
-
vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/test_node.py,sha256=
|
1975
|
+
vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/test_node.py,sha256=PII44speqT4fJvj60y_3KDAnH1L6Ivtq9R4BykY-X_A,19092
|
1972
1976
|
vellum/workflows/nodes/displayable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1973
1977
|
vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py,sha256=E6PQ9OKcDlsJbWoxVKWgiAPgz9p59g1ONMgNggfOeiI,4868
|
1974
1978
|
vellum/workflows/nodes/displayable/tests/test_search_node_error_handling.py,sha256=8aw8hDFL0ZXThvAa7yxrJN026EYGD4-Q1si3Phu9-_0,6307
|
1975
1979
|
vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=VepO5z1277c1y5N6LLIC31nnWD1aak2m5oPFplfJHHs,6935
|
1976
1980
|
vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=Bjv-wZyFgNaVZb9KEMMZd9lFoLzbPEPjEMpANizMZw4,2413
|
1977
1981
|
vellum/workflows/nodes/displayable/tool_calling_node/__init__.py,sha256=3n0-ysmFKsr40CVxPthc0rfJgqVJeZuUEsCmYudLVRg,117
|
1978
|
-
vellum/workflows/nodes/displayable/tool_calling_node/node.py,sha256=
|
1982
|
+
vellum/workflows/nodes/displayable/tool_calling_node/node.py,sha256=rvCGtnCM1bFkwm_2osk1kuIPkUdlLgB4xDxx3yMlQ0Q,8421
|
1979
1983
|
vellum/workflows/nodes/displayable/tool_calling_node/state.py,sha256=CcBVb_YtwfSSka4ze678k6-qwmzMSfjfVP8_Y95feSo,302
|
1980
1984
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1981
1985
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_composio_service.py,sha256=in1fbEz5x1tx3uKv9YXdvOncsHucNL8Ro6Go7lBuuOQ,8962
|
1982
|
-
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py,sha256=
|
1986
|
+
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py,sha256=uXz9tbPK6ikGlF8Tfx-qiPeF-8qq_E5ZbmCmOMWkz24,15506
|
1983
1987
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_utils.py,sha256=EmKFA-ELdTzlK0xMqWnuSZPoGNLYCwk6b0amTqirZo0,11305
|
1984
|
-
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=
|
1988
|
+
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=sReCkqd2pwUQ6pX9xZ_zQh-Wza2_2eV7HYRAHYaAaHo,24580
|
1985
1989
|
vellum/workflows/nodes/displayable/web_search_node/__init__.py,sha256=8FOnEP-n-U68cvxTlJW9wphIAGHq5aqjzLM-DoSSXnU,61
|
1986
1990
|
vellum/workflows/nodes/displayable/web_search_node/node.py,sha256=NQYux2bOtuBF5E4tn-fXi5y3btURPRrNqMSM9MAZYI4,5091
|
1987
1991
|
vellum/workflows/nodes/displayable/web_search_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1999,7 +2003,7 @@ vellum/workflows/outputs/__init__.py,sha256=AyZ4pRh_ACQIGvkf0byJO46EDnSix1ZCAXfv
|
|
1999
2003
|
vellum/workflows/outputs/base.py,sha256=zy02zr9DmG3j7Xp3Q8xiOiXFF_c7uNh76jf2LiMS-qE,10132
|
2000
2004
|
vellum/workflows/ports/__init__.py,sha256=bZuMt-R7z5bKwpu4uPW7LlJeePOQWmCcDSXe5frUY5g,101
|
2001
2005
|
vellum/workflows/ports/node_ports.py,sha256=SM9uLAaoaE1HwR-Uqwf2v5zZK5iFnphKs6mE5Ls7ldE,2877
|
2002
|
-
vellum/workflows/ports/port.py,sha256=
|
2006
|
+
vellum/workflows/ports/port.py,sha256=L4VrUXT-77a1nN9dC4kuukur5kz2gleEpskaWT1MIRc,4627
|
2003
2007
|
vellum/workflows/ports/tests/test_port.py,sha256=WEE83wct8C01Lq_asSbS0MfL5BLA2avsS0UqJMye4OU,1215
|
2004
2008
|
vellum/workflows/ports/utils.py,sha256=gD8iijX8D3tjx1Tj2FW8-QIubCphTqW_gqROt6w6MOM,3790
|
2005
2009
|
vellum/workflows/references/__init__.py,sha256=glHFC1VfXmcbNvH5VzFbkT03d8_D7MMcvEcsUBrzLIs,591
|
@@ -2021,7 +2025,7 @@ vellum/workflows/resolvers/resolver.py,sha256=3uEYscB_2PHTazc0Y9SzOe_yiQZhVLfey1
|
|
2021
2025
|
vellum/workflows/resolvers/tests/test_resolver.py,sha256=PnUGzsulo1It_LjjhHsRNiILvvl5G_IaK8ZX56zKC28,6204
|
2022
2026
|
vellum/workflows/resolvers/types.py,sha256=Hndhlk69g6EKLh_LYg5ILepW5U_h_BYNllfzhS9k8p4,237
|
2023
2027
|
vellum/workflows/runner/__init__.py,sha256=i1iG5sAhtpdsrlvwgH6B-m49JsINkiWyPWs8vyT-bqM,72
|
2024
|
-
vellum/workflows/runner/runner.py,sha256=
|
2028
|
+
vellum/workflows/runner/runner.py,sha256=250GCJFyqTX9q5gYhfo6AkiIgMScVfEp4KYofRweqEk,45455
|
2025
2029
|
vellum/workflows/sandbox.py,sha256=mezSZmilR_fwR8164n8CEfzlMeQ55IqfapHp4ftImvQ,3212
|
2026
2030
|
vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
|
2027
2031
|
vellum/workflows/state/base.py,sha256=A8s0PC8UvFjPpkHDY6u-yIeb2KHjoAmu-GW-GYrDl0E,24654
|
@@ -2035,6 +2039,12 @@ vellum/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
|
|
2035
2039
|
vellum/workflows/tests/test_dataset_row.py,sha256=S8aIiYU9TRzJ8GTl5qCjnJ-fuHdxatHJFGLlKTVHPr4,4174
|
2036
2040
|
vellum/workflows/tests/test_sandbox.py,sha256=JKwaluI-lODQo7Ek9sjDstjL_WTdSqUlVik6ZVTfVOA,1826
|
2037
2041
|
vellum/workflows/tests/test_undefined.py,sha256=zMCVliCXVNLrlC6hEGyOWDnQADJ2g83yc5FIM33zuo8,353
|
2042
|
+
vellum/workflows/triggers/__init__.py,sha256=kistj6wgRgYe3fO82_4giZ_xFkElfnsDGRKAbzxrGnc,249
|
2043
|
+
vellum/workflows/triggers/base.py,sha256=HIZkKPdb9GOYjpGzk2DoSqkxsUyjBnzmsLyhVTWm1iE,4857
|
2044
|
+
vellum/workflows/triggers/integration.py,sha256=_RyNrNnIBIa08FMHmLh2QEZPb-u5j75Bye_FbR82nkg,2043
|
2045
|
+
vellum/workflows/triggers/manual.py,sha256=PgbZ92gcK25yz6REXm98zWic1QBfhxLKfGCeHpZEUx4,1266
|
2046
|
+
vellum/workflows/triggers/tests/__init__.py,sha256=R8lag_iCRyulijHMK4e3Gf6YVB5NplfvwZeTkaRj8gQ,30
|
2047
|
+
vellum/workflows/triggers/tests/test_integration.py,sha256=5N7ejz4AFmgQAZlHGV466rzWyb79iLeXU-pAfx9o4TA,3213
|
2038
2048
|
vellum/workflows/types/__init__.py,sha256=fZ3Xxly7YSsu4kCIYD5aYpYucNM97zTyInb9CA24mf0,102
|
2039
2049
|
vellum/workflows/types/code_execution_node_wrappers.py,sha256=fewX9bqF_4TZuK-gZYIn12s31-k03vHMGRpvFAPm11Y,3206
|
2040
2050
|
vellum/workflows/types/core.py,sha256=R7snCd7ci4tiRuHi5ALGh_5DIIF0T9eze3sf6EnJN-c,1126
|
@@ -2060,13 +2070,13 @@ vellum/workflows/utils/vellum_variables.py,sha256=X3lZn-EoWengRWBWRhTNW7hqbj7LkV
|
|
2060
2070
|
vellum/workflows/utils/zip.py,sha256=HVg_YZLmBOTXKaDV3Xhaf3V6sYnfqqZXQ8CpuafkbPY,1181
|
2061
2071
|
vellum/workflows/vellum_client.py,sha256=3iDR7VV_NgLSm1iZQCKDvrmfEaX1bOJiU15QrxyHpv0,1237
|
2062
2072
|
vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
|
2063
|
-
vellum/workflows/workflows/base.py,sha256=
|
2073
|
+
vellum/workflows/workflows/base.py,sha256=2XQMntFPXUO3p1js14TEKun4oNWRmZOzga-pUiv5vVk,30935
|
2064
2074
|
vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnadGsrSZGa7t7LpJA,2008
|
2065
2075
|
vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2066
2076
|
vellum/workflows/workflows/tests/test_base_workflow.py,sha256=Boa-_m9ii2Qsa1RvVM-VYniF7zCpzGgEGy-OnPZkrHg,23941
|
2067
2077
|
vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
|
2068
|
-
vellum_ai-1.7.
|
2069
|
-
vellum_ai-1.7.
|
2070
|
-
vellum_ai-1.7.
|
2071
|
-
vellum_ai-1.7.
|
2072
|
-
vellum_ai-1.7.
|
2078
|
+
vellum_ai-1.7.6.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
|
2079
|
+
vellum_ai-1.7.6.dist-info/METADATA,sha256=Bk9FFFzHL7vS59oSmxxgX_8fOxREGwYmlaqSFXP6zr4,5547
|
2080
|
+
vellum_ai-1.7.6.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
2081
|
+
vellum_ai-1.7.6.dist-info/entry_points.txt,sha256=xVavzAKN4iF_NbmhWOlOkHluka0YLkbN_pFQ9pW3gLI,117
|
2082
|
+
vellum_ai-1.7.6.dist-info/RECORD,,
|
vellum_cli/push.py
CHANGED
@@ -77,11 +77,7 @@ def push_command(
|
|
77
77
|
|
78
78
|
logger.info(f"Loading workflow from {workflow_config.module}")
|
79
79
|
resolved_workspace = workspace or workflow_config.workspace or DEFAULT_WORKSPACE_CONFIG.name
|
80
|
-
workspace_config = (
|
81
|
-
next((w for w in config.workspaces if w.name == resolved_workspace), DEFAULT_WORKSPACE_CONFIG)
|
82
|
-
if workspace
|
83
|
-
else DEFAULT_WORKSPACE_CONFIG
|
84
|
-
)
|
80
|
+
workspace_config = next((w for w in config.workspaces if w.name == resolved_workspace), DEFAULT_WORKSPACE_CONFIG)
|
85
81
|
api_key = os.getenv(workspace_config.api_key)
|
86
82
|
if not api_key:
|
87
83
|
raise ValueError(f"No API key value found in environment for workspace '{workspace_config.name}'.")
|
vellum_cli/tests/test_push.py
CHANGED
@@ -1134,3 +1134,89 @@ def test_push__deploy_stores_deployment_config_in_lock_file(mock_module, vellum_
|
|
1134
1134
|
deployment_config_str = call_args["deployment_config"]
|
1135
1135
|
deployment_config = json.loads(deployment_config_str)
|
1136
1136
|
assert deployment_config["name"] == "test-push-deploy-stores-deployment-config-in-lock-file"
|
1137
|
+
|
1138
|
+
|
1139
|
+
def test_push__custom_workspace_in_lockfile__uses_custom_workspace_without_flag(mock_module, vellum_client_class):
|
1140
|
+
"""
|
1141
|
+
Tests that push respects the custom workspace from the lockfile when no --workspace flag is provided.
|
1142
|
+
"""
|
1143
|
+
|
1144
|
+
# GIVEN a workflow already configured in the lockfile with a custom workspace
|
1145
|
+
temp_dir = mock_module.temp_dir
|
1146
|
+
module = mock_module.module
|
1147
|
+
workflow_sandbox_id = mock_module.workflow_sandbox_id
|
1148
|
+
set_pyproject_toml = mock_module.set_pyproject_toml
|
1149
|
+
|
1150
|
+
# AND the lockfile has the workflow with a custom workspace
|
1151
|
+
with open(os.path.join(temp_dir, "vellum.lock.json"), "w") as f:
|
1152
|
+
json.dump(
|
1153
|
+
{
|
1154
|
+
"version": "1.0",
|
1155
|
+
"workflows": [
|
1156
|
+
{
|
1157
|
+
"module": module,
|
1158
|
+
"workflow_sandbox_id": workflow_sandbox_id,
|
1159
|
+
"workspace": "my_custom_workspace",
|
1160
|
+
"container_image_name": None,
|
1161
|
+
"container_image_tag": None,
|
1162
|
+
"deployments": [],
|
1163
|
+
"ignore": None,
|
1164
|
+
"target_directory": None,
|
1165
|
+
}
|
1166
|
+
],
|
1167
|
+
"workspaces": [],
|
1168
|
+
},
|
1169
|
+
f,
|
1170
|
+
indent=2,
|
1171
|
+
)
|
1172
|
+
|
1173
|
+
# AND the custom workspace is defined in pyproject.toml
|
1174
|
+
set_pyproject_toml(
|
1175
|
+
{
|
1176
|
+
"workflows": [],
|
1177
|
+
"workspaces": [
|
1178
|
+
{
|
1179
|
+
"name": "my_custom_workspace",
|
1180
|
+
"api_key": "MY_CUSTOM_VELLUM_API_KEY",
|
1181
|
+
}
|
1182
|
+
],
|
1183
|
+
}
|
1184
|
+
)
|
1185
|
+
|
1186
|
+
# AND the .env file has the custom api key
|
1187
|
+
with open(os.path.join(temp_dir, ".env"), "w") as f:
|
1188
|
+
f.write(
|
1189
|
+
"""\
|
1190
|
+
VELLUM_API_KEY=abcdef123456
|
1191
|
+
MY_CUSTOM_VELLUM_API_KEY=custom-key-xyz
|
1192
|
+
"""
|
1193
|
+
)
|
1194
|
+
|
1195
|
+
# AND a workflow exists in the module
|
1196
|
+
_ensure_workflow_py(temp_dir, module)
|
1197
|
+
|
1198
|
+
# AND the push API returns successfully
|
1199
|
+
vellum_client_class.return_value.workflows.push.return_value = WorkflowPushResponse(
|
1200
|
+
workflow_sandbox_id=workflow_sandbox_id,
|
1201
|
+
)
|
1202
|
+
vellum_client_class.return_value._client_wrapper._environment.default = "https://api.vellum.ai/v1"
|
1203
|
+
|
1204
|
+
# WHEN calling `vellum push` WITHOUT the --workspace flag
|
1205
|
+
runner = CliRunner()
|
1206
|
+
result = runner.invoke(cli_main, ["push", module])
|
1207
|
+
|
1208
|
+
# THEN it should succeed
|
1209
|
+
assert result.exit_code == 0, result.output
|
1210
|
+
|
1211
|
+
# AND the custom workspace API key should have been used
|
1212
|
+
vellum_client_class.assert_called_once_with(
|
1213
|
+
api_key="custom-key-xyz",
|
1214
|
+
environment=mock.ANY,
|
1215
|
+
api_version=None,
|
1216
|
+
)
|
1217
|
+
|
1218
|
+
with open(os.path.join(temp_dir, "vellum.lock.json")) as f:
|
1219
|
+
lock_file_content = json.load(f)
|
1220
|
+
assert len(lock_file_content["workflows"]) == 1
|
1221
|
+
assert lock_file_content["workflows"][0]["workspace"] == "my_custom_workspace"
|
1222
|
+
assert lock_file_content["workflows"][0]["workflow_sandbox_id"] == workflow_sandbox_id
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from dataclasses import dataclass, field
|
2
|
+
from enum import Enum
|
2
3
|
from uuid import UUID
|
3
|
-
from typing import Optional, Type
|
4
|
+
from typing import TYPE_CHECKING, Dict, Optional, Type
|
4
5
|
|
5
6
|
from pydantic import Field
|
6
7
|
|
@@ -9,6 +10,30 @@ from vellum.workflows.utils.uuids import uuid4_from_hash
|
|
9
10
|
from vellum.workflows.workflows.base import BaseWorkflow
|
10
11
|
from vellum_ee.workflows.display.editor.types import NodeDisplayData
|
11
12
|
|
13
|
+
if TYPE_CHECKING:
|
14
|
+
from vellum.workflows.triggers.base import BaseTrigger
|
15
|
+
|
16
|
+
|
17
|
+
class WorkflowTriggerType(Enum):
|
18
|
+
MANUAL = "MANUAL"
|
19
|
+
|
20
|
+
|
21
|
+
def get_trigger_type_mapping() -> Dict[Type["BaseTrigger"], WorkflowTriggerType]:
|
22
|
+
"""
|
23
|
+
Get mapping from trigger classes to their WorkflowTriggerType enum values.
|
24
|
+
|
25
|
+
This is a function to avoid circular imports - it imports trigger classes
|
26
|
+
only when called, not at module load time.
|
27
|
+
|
28
|
+
Returns:
|
29
|
+
Dictionary mapping trigger classes to their enum types
|
30
|
+
"""
|
31
|
+
from vellum.workflows.triggers.manual import ManualTrigger
|
32
|
+
|
33
|
+
return {
|
34
|
+
ManualTrigger: WorkflowTriggerType.MANUAL,
|
35
|
+
}
|
36
|
+
|
12
37
|
|
13
38
|
class WorkflowDisplayDataViewport(UniversalBaseModel):
|
14
39
|
x: float = 0.0
|
@@ -435,7 +435,7 @@ def test_serialize_workflow():
|
|
435
435
|
{
|
436
436
|
"id": "1668419e-a193-43a5-8a97-3394e89bf278",
|
437
437
|
"name": "max_prompt_iterations",
|
438
|
-
"value": {"type": "CONSTANT_VALUE", "value": {"type": "NUMBER", "value":
|
438
|
+
"value": {"type": "CONSTANT_VALUE", "value": {"type": "NUMBER", "value": 25.0}},
|
439
439
|
},
|
440
440
|
{
|
441
441
|
"id": "f92dc3ec-a19a-4491-a98a-2b2df322e2e3",
|
@@ -204,7 +204,7 @@ def test_serialize_workflow():
|
|
204
204
|
{
|
205
205
|
"id": "1668419e-a193-43a5-8a97-3394e89bf278",
|
206
206
|
"name": "max_prompt_iterations",
|
207
|
-
"value": {"type": "CONSTANT_VALUE", "value": {"type": "NUMBER", "value":
|
207
|
+
"value": {"type": "CONSTANT_VALUE", "value": {"type": "NUMBER", "value": 25.0}},
|
208
208
|
},
|
209
209
|
{
|
210
210
|
"id": "f92dc3ec-a19a-4491-a98a-2b2df322e2e3",
|
@@ -0,0 +1,110 @@
|
|
1
|
+
"""Tests for serialization of workflows with ManualTrigger."""
|
2
|
+
|
3
|
+
import pytest
|
4
|
+
from typing import cast
|
5
|
+
|
6
|
+
from vellum.workflows import BaseWorkflow
|
7
|
+
from vellum.workflows.inputs.base import BaseInputs
|
8
|
+
from vellum.workflows.nodes.bases.base import BaseNode
|
9
|
+
from vellum.workflows.state.base import BaseState
|
10
|
+
from vellum.workflows.triggers.base import BaseTrigger
|
11
|
+
from vellum.workflows.triggers.manual import ManualTrigger
|
12
|
+
from vellum.workflows.types.core import JsonArray, JsonObject
|
13
|
+
from vellum_ee.workflows.display.workflows.get_vellum_workflow_display_class import get_workflow_display
|
14
|
+
|
15
|
+
|
16
|
+
class Inputs(BaseInputs):
|
17
|
+
input: str
|
18
|
+
|
19
|
+
|
20
|
+
class SimpleNode(BaseNode):
|
21
|
+
class Outputs(BaseNode.Outputs):
|
22
|
+
output = Inputs.input
|
23
|
+
|
24
|
+
|
25
|
+
def create_workflow(trigger=None):
|
26
|
+
"""Factory for creating test workflows."""
|
27
|
+
|
28
|
+
class TestWorkflow(BaseWorkflow[Inputs, BaseState]):
|
29
|
+
graph = trigger >> SimpleNode if trigger else SimpleNode
|
30
|
+
|
31
|
+
class Outputs(BaseWorkflow.Outputs):
|
32
|
+
output = SimpleNode.Outputs.output
|
33
|
+
|
34
|
+
return TestWorkflow
|
35
|
+
|
36
|
+
|
37
|
+
def serialize(workflow_class) -> JsonObject:
|
38
|
+
"""Helper to serialize a workflow."""
|
39
|
+
return get_workflow_display(workflow_class=workflow_class).serialize()
|
40
|
+
|
41
|
+
|
42
|
+
def test_manual_trigger_serialization():
|
43
|
+
"""Workflow with ManualTrigger serializes with triggers field."""
|
44
|
+
result = serialize(create_workflow(ManualTrigger))
|
45
|
+
triggers = cast(JsonArray, result["triggers"])
|
46
|
+
|
47
|
+
assert len(triggers) == 1
|
48
|
+
trigger = cast(JsonObject, triggers[0])
|
49
|
+
|
50
|
+
assert trigger["type"] == "MANUAL"
|
51
|
+
assert "id" in trigger
|
52
|
+
assert "attributes" in trigger
|
53
|
+
assert trigger["attributes"] == []
|
54
|
+
assert "definition" not in trigger
|
55
|
+
|
56
|
+
|
57
|
+
def test_no_trigger_serialization():
|
58
|
+
"""Workflow without trigger has no triggers field."""
|
59
|
+
result = serialize(create_workflow())
|
60
|
+
assert "triggers" not in result
|
61
|
+
|
62
|
+
|
63
|
+
def test_manual_trigger_multiple_entrypoints():
|
64
|
+
"""ManualTrigger with multiple entrypoints."""
|
65
|
+
|
66
|
+
class NodeA(BaseNode):
|
67
|
+
class Outputs(BaseNode.Outputs):
|
68
|
+
output = Inputs.input
|
69
|
+
|
70
|
+
class NodeB(BaseNode):
|
71
|
+
class Outputs(BaseNode.Outputs):
|
72
|
+
output = Inputs.input
|
73
|
+
|
74
|
+
class MultiWorkflow(BaseWorkflow[Inputs, BaseState]):
|
75
|
+
graph = ManualTrigger >> {NodeA, NodeB}
|
76
|
+
|
77
|
+
class Outputs(BaseWorkflow.Outputs):
|
78
|
+
output_a = NodeA.Outputs.output
|
79
|
+
output_b = NodeB.Outputs.output
|
80
|
+
|
81
|
+
result = serialize(MultiWorkflow)
|
82
|
+
triggers = cast(JsonArray, result["triggers"])
|
83
|
+
workflow_data = cast(JsonObject, result["workflow_raw_data"])
|
84
|
+
nodes = cast(JsonArray, workflow_data["nodes"])
|
85
|
+
|
86
|
+
assert len(triggers) == 1
|
87
|
+
trigger = cast(JsonObject, triggers[0])
|
88
|
+
assert trigger["type"] == "MANUAL"
|
89
|
+
assert len([n for n in nodes if cast(JsonObject, n)["type"] == "GENERIC"]) >= 2
|
90
|
+
|
91
|
+
|
92
|
+
def test_serialized_workflow_structure():
|
93
|
+
"""Verify complete structure of serialized workflow."""
|
94
|
+
result = serialize(create_workflow(ManualTrigger))
|
95
|
+
workflow_raw_data = cast(JsonObject, result["workflow_raw_data"])
|
96
|
+
definition = cast(JsonObject, workflow_raw_data["definition"])
|
97
|
+
|
98
|
+
assert result.keys() == {"workflow_raw_data", "input_variables", "state_variables", "output_variables", "triggers"}
|
99
|
+
assert workflow_raw_data.keys() == {"nodes", "edges", "display_data", "definition", "output_values"}
|
100
|
+
assert definition["name"] == "TestWorkflow"
|
101
|
+
|
102
|
+
|
103
|
+
def test_unknown_trigger_type():
|
104
|
+
"""Unknown trigger types raise ValueError."""
|
105
|
+
|
106
|
+
class UnknownTrigger(BaseTrigger):
|
107
|
+
pass
|
108
|
+
|
109
|
+
with pytest.raises(ValueError, match="Unknown trigger type: UnknownTrigger"):
|
110
|
+
serialize(create_workflow(UnknownTrigger))
|