vellum-ai 1.6.4__py3-none-any.whl → 1.7.0__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 +81 -0
- vellum/client/resources/container_images/client.py +8 -2
- vellum/client/resources/container_images/raw_client.py +8 -0
- vellum/client/resources/workflows/client.py +81 -0
- vellum/client/resources/workflows/raw_client.py +85 -0
- vellum/client/types/__init__.py +2 -0
- vellum/client/types/workflow_resolved_state.py +31 -0
- vellum/types/workflow_resolved_state.py +3 -0
- vellum/workflows/descriptors/base.py +3 -0
- vellum/workflows/errors/types.py +1 -0
- vellum/workflows/inputs/base.py +4 -1
- vellum/workflows/inputs/tests/test_inputs.py +21 -0
- vellum/workflows/runner/runner.py +16 -0
- vellum/workflows/workflows/base.py +2 -0
- {vellum_ai-1.6.4.dist-info → vellum_ai-1.7.0.dist-info}/METADATA +1 -1
- {vellum_ai-1.6.4.dist-info → vellum_ai-1.7.0.dist-info}/RECORD +35 -33
- vellum_ee/assets/node-definitions.json +157 -12
- vellum_ee/workflows/display/exceptions.py +2 -6
- vellum_ee/workflows/display/nodes/vellum/code_execution_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py +11 -4
- vellum_ee/workflows/display/nodes/vellum/search_node.py +4 -4
- vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py +11 -4
- vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py +1 -1
- vellum_ee/workflows/display/utils/exceptions.py +19 -0
- vellum_ee/workflows/display/utils/expressions.py +19 -11
- vellum_ee/workflows/display/utils/vellum.py +7 -1
- vellum_ee/workflows/display/workflows/base_workflow_display.py +2 -2
- vellum_ee/workflows/display/workflows/tests/test_workflow_display.py +54 -1
- vellum_ee/workflows/tests/test_server.py +41 -0
- {vellum_ai-1.6.4.dist-info → vellum_ai-1.7.0.dist-info}/LICENSE +0 -0
- {vellum_ai-1.6.4.dist-info → vellum_ai-1.7.0.dist-info}/WHEEL +0 -0
- {vellum_ai-1.6.4.dist-info → vellum_ai-1.7.0.dist-info}/entry_points.txt +0 -0
@@ -22,7 +22,7 @@ vellum_cli/tests/test_ping.py,sha256=b3aQLd-N59_8w2rRiWqwpB1rlHaKEYVbAj1Y3hi7A-g
|
|
22
22
|
vellum_cli/tests/test_pull.py,sha256=e2XHzcHIx9k-FyuNAl7wMSNsSSebPGyP6U05JGcddFs,49447
|
23
23
|
vellum_cli/tests/test_push.py,sha256=2MjkNKr_9Guv5Exjsm3L1BeVXmPkKUcCSiKnp90HgW4,41996
|
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=tinXep1k-FicJWSPQb5mlWRkdKul1WJtG4o94SqD4ds,29800
|
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
|
@@ -30,7 +30,7 @@ vellum_ee/workflows/display/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
|
|
30
30
|
vellum_ee/workflows/display/base.py,sha256=R3f2T8FlZrXn2FawAmpVuLB3fKFWw11mCUulWAyIKA0,1912
|
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
|
-
vellum_ee/workflows/display/exceptions.py,sha256=
|
33
|
+
vellum_ee/workflows/display/exceptions.py,sha256=_FDhK-lfuBPHY2GSywp70ewM0k55Ji5Bp-wZlEZenz4,112
|
34
34
|
vellum_ee/workflows/display/nodes/__init__.py,sha256=jI1aPBQf8DkmrYoZ4O-wR1duqZByOf5mDFmo_wFJPE4,307
|
35
35
|
vellum_ee/workflows/display/nodes/base_node_display.py,sha256=C0Dxwss5yoxSLotTRUP2h7oxGjb0dDIdsc-83HVFCP8,19493
|
36
36
|
vellum_ee/workflows/display/nodes/get_node_display_class.py,sha256=jI_kUi9LnNLDpY63QtlC4TfN8P571VN4LpzH0I1ZtLk,1149
|
@@ -41,24 +41,24 @@ vellum_ee/workflows/display/nodes/utils.py,sha256=sloya5TpXsnot1HURc9L51INwflRqU
|
|
41
41
|
vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=nUIgH2s0-7IbQRNrBhLPyRNe8YIrx3Yo9HeeW-aXXFk,1668
|
42
42
|
vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=nCtFc5f9u0-OOZvVcMZtc6wwq7MyqAGATH-jPgRTMNM,9028
|
43
43
|
vellum_ee/workflows/display/nodes/vellum/base_adornment_node.py,sha256=FHhPoGmmny4Xcxi2pm12Sk3ZOREanWEVrOWcjRhncH4,6337
|
44
|
-
vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=
|
44
|
+
vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=qvPSqYKz9op7gKg-ZjKa3U6dsaaxuv76TIIbUMeGKjY,5152
|
45
45
|
vellum_ee/workflows/display/nodes/vellum/conditional_node.py,sha256=dtO9A-rjbDEJrywwrOxwEXahqrW-S493OIDHOti9Sjs,11498
|
46
46
|
vellum_ee/workflows/display/nodes/vellum/error_node.py,sha256=8tSb8qGVoRIELubu0qPeoDlt1LpiIqc6d9_30GWRd_k,2266
|
47
47
|
vellum_ee/workflows/display/nodes/vellum/final_output_node.py,sha256=z4oeTgKnMGVaGig8XOZm5B_xYL4H7zweYlFweCbhnyA,3000
|
48
48
|
vellum_ee/workflows/display/nodes/vellum/guardrail_node.py,sha256=9_AslWjzj4RHH2sq3SIaq9FU0NCg7ex5TIWrNMybqXg,2173
|
49
49
|
vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=KA4U5NADWCBBbTG0f76OOFW9HvlWd5DfZoqN5Y0ZK9c,12167
|
50
|
-
vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=
|
50
|
+
vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=dfZuJEENgP5uvF4IzyWJdoqopjjZa_u1-VWtWBHADqI,6440
|
51
51
|
vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=we7NENZpci-LiWXJFTPWzliCMdjzCMMMWUCfgJ-oP0g,4297
|
52
52
|
vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=xMHaPfTSZWYprQenlHm2g47u0a5O9Me_dhAjfqo8nKQ,3116
|
53
53
|
vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=6PcAFA_EJn7vEMdqgoRjYTLHwnXCrJv80B10zuUx4jE,1026
|
54
|
-
vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=
|
54
|
+
vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=Ue727X7g7jUo9Yi_AXoLD-IQHi0crENkMJjPBY2hZO8,3709
|
55
55
|
vellum_ee/workflows/display/nodes/vellum/retry_node.py,sha256=5xv5OR4xRuI1R5yqJDZTNdCFYY-z8PkTdpWM4ziGjw0,3192
|
56
|
-
vellum_ee/workflows/display/nodes/vellum/search_node.py,sha256=
|
57
|
-
vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=
|
56
|
+
vellum_ee/workflows/display/nodes/vellum/search_node.py,sha256=ZHqkwzCRsM0TkZmh3ePHreZAoQXeT-SFS7zbUrSjMsw,12037
|
57
|
+
vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=hC5hTSRf1f9ppiZ_wXzpcp-jl0fwNAUB9PY8s0AykHs,3131
|
58
58
|
vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=QExp4l2KMNBdqMVDL4CG_iFMpFf3RYiTP2q5P2DmEFk,3178
|
59
59
|
vellum_ee/workflows/display/nodes/vellum/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
60
60
|
vellum_ee/workflows/display/nodes/vellum/tests/test_api_node.py,sha256=DQAtsabvn6BE6xWwKNHzMOppzoy1-1dssNnrwbHUdRU,1490
|
61
|
-
vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py,sha256=
|
61
|
+
vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py,sha256=6_1yVYftVnqXJn3hLUGHlcHvbgKbQgBfS6vYQ6R79oc,10891
|
62
62
|
vellum_ee/workflows/display/nodes/vellum/tests/test_error_node.py,sha256=540FoWMpJ3EN_DPjHsr9ODJWCRVcUa5hZBn-5T2GiHU,1665
|
63
63
|
vellum_ee/workflows/display/nodes/vellum/tests/test_final_output_node.py,sha256=KVftEQxXARlcr-Uuo1ZK_wEHTcTH64OZJ3Ub3mN8x7I,3006
|
64
64
|
vellum_ee/workflows/display/nodes/vellum/tests/test_inline_subworkflow_node.py,sha256=SKOYan-dxY4gsO0R4JyQUyWrABHBN8XImKw9Eeo4wGo,3535
|
@@ -117,18 +117,18 @@ vellum_ee/workflows/display/types.py,sha256=LgRIZeEtV7bQe-nvrC4A0T6vMooSWT1rFtw-
|
|
117
117
|
vellum_ee/workflows/display/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
118
118
|
vellum_ee/workflows/display/utils/auto_layout.py,sha256=f4GiLn_LazweupfqTpubcdtdfE_vrOcmZudSsnYIY9E,3906
|
119
119
|
vellum_ee/workflows/display/utils/events.py,sha256=DE33uoKW78BZtITJ6L22dMZN3KR1BuZBVC98C_gIyzU,1943
|
120
|
-
vellum_ee/workflows/display/utils/exceptions.py,sha256=
|
121
|
-
vellum_ee/workflows/display/utils/expressions.py,sha256=
|
120
|
+
vellum_ee/workflows/display/utils/exceptions.py,sha256=E8Lvo7LY1BoZ54M_NR_opDjJsAAiCUfow1HgoHcTHmg,989
|
121
|
+
vellum_ee/workflows/display/utils/expressions.py,sha256=mg-AHKGvnRjB1y4nXFJp7uRuAkUGITnuZ6aRDnEzPXk,20512
|
122
122
|
vellum_ee/workflows/display/utils/registry.py,sha256=1qXiBTdsnro6FeCX0FGBEK7CIf6wa--Jt50iZ_nEp_M,3460
|
123
123
|
vellum_ee/workflows/display/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
124
124
|
vellum_ee/workflows/display/utils/tests/test_auto_layout.py,sha256=vfXI769418s9vda5Gb5NFBH747WMOwSgHRXeLCTLVm8,2356
|
125
125
|
vellum_ee/workflows/display/utils/tests/test_events.py,sha256=42IEBnMbaQrH8gigw5hXIt_kG3rVvrSMop9QYiL2xDs,4586
|
126
|
-
vellum_ee/workflows/display/utils/vellum.py,sha256=
|
126
|
+
vellum_ee/workflows/display/utils/vellum.py,sha256=Bt7kdLdXoBsHn5dVEY2uKcF542VL09jwu8J_30rl2vk,6413
|
127
127
|
vellum_ee/workflows/display/vellum.py,sha256=J2mdJZ1sdLW535DDUkq_Vm8Z572vhuxHxVZF9deKSdk,391
|
128
128
|
vellum_ee/workflows/display/workflows/__init__.py,sha256=JTB9ObEV3l4gGGdtfBHwVJtTTKC22uj-a-XjTVwXCyA,148
|
129
|
-
vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=
|
129
|
+
vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=FAsEeqkQu4xGvdZ4Ri5H7LDEISQYziidPc2QHzbOVWs,44311
|
130
130
|
vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=gxz76AeCqgAZ9D2lZeTiZzxY9eMgn3qOSfVgiqYcOh8,2028
|
131
|
-
vellum_ee/workflows/display/workflows/tests/test_workflow_display.py,sha256=
|
131
|
+
vellum_ee/workflows/display/workflows/tests/test_workflow_display.py,sha256=lg-c_3P3ldtqWq2VFsk_2Mkn3pVdXWuT59QpH7QwXVs,39764
|
132
132
|
vellum_ee/workflows/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
133
133
|
vellum_ee/workflows/server/virtual_file_loader.py,sha256=7JphJcSO3H85qiC2DpFfBWjC3JjrbRmoynBC6KKHVsA,2710
|
134
134
|
vellum_ee/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -153,14 +153,14 @@ vellum_ee/workflows/tests/local_workflow/workflow.py,sha256=A4qOzOPNwePYxWbcAgIP
|
|
153
153
|
vellum_ee/workflows/tests/test_display_meta.py,sha256=PkXJVnMZs9GNooDkd59n4YTBAX3XGPQWeSSVbhehVFM,5112
|
154
154
|
vellum_ee/workflows/tests/test_registry.py,sha256=B8xRIuEyLWfSqrYoPldNQXhKPfe50PllvtAZoI8-uPs,6066
|
155
155
|
vellum_ee/workflows/tests/test_serialize_module.py,sha256=zleQTcGZa5_nzwu4zpFoqEHhk7pb64hGrhObR4anhPQ,4471
|
156
|
-
vellum_ee/workflows/tests/test_server.py,sha256=
|
156
|
+
vellum_ee/workflows/tests/test_server.py,sha256=DtQdVlRlfIvq0L9mSs0SncI0jHgDAq05HQCLj29aiZo,24728
|
157
157
|
vellum_ee/workflows/tests/test_virtual_files.py,sha256=TJEcMR0v2S8CkloXNmCHA0QW0K6pYNGaIjraJz7sFvY,2762
|
158
|
-
vellum/__init__.py,sha256=
|
158
|
+
vellum/__init__.py,sha256=KGWwGtZMz-k9i8L1eHVnlEByJBSH31hAcCIVLNYB9Q0,49412
|
159
159
|
vellum/client/README.md,sha256=flqu57ubZNTfpq60CdLtJC9gp4WEkyjb_n_eZ4OYf9w,6497
|
160
160
|
vellum/client/__init__.py,sha256=rMnKRqL5-356SBc-rfm56MkO87PuAi2mtcfBszcJU1M,74316
|
161
161
|
vellum/client/core/__init__.py,sha256=lTcqUPXcx4112yLDd70RAPeqq6tu3eFMe1pKOqkW9JQ,1562
|
162
162
|
vellum/client/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
|
163
|
-
vellum/client/core/client_wrapper.py,sha256=
|
163
|
+
vellum/client/core/client_wrapper.py,sha256=7jdvkc9bp52v55uLBImLe_fMXRZUgS2HqLAzuk-JDRg,2840
|
164
164
|
vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
165
165
|
vellum/client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
166
166
|
vellum/client/core/force_multipart.py,sha256=awxh5MtcRYe74ehY8U76jzv6fYM_w_D3Rur7KQQzSDk,429
|
@@ -181,14 +181,14 @@ vellum/client/errors/not_found_error.py,sha256=YrqVM0oc3qkQbFbmmm6xr300VGfUNxMSy
|
|
181
181
|
vellum/client/errors/too_many_requests_error.py,sha256=SJJemdgUlQHV_VpxK8UfFNexgZebNT5_MTOeQs6oVgc,397
|
182
182
|
vellum/client/errors/unauthorized_error.py,sha256=waPl5Swiqsk3FQK-Lljzx4KDh4RPZ0wL6BLHjM8onQ8,394
|
183
183
|
vellum/client/raw_client.py,sha256=cmMR0t87iUYvkIE9L4g0dcCmw3uUQNze9rD9CBv5rzs,113481
|
184
|
-
vellum/client/reference.md,sha256=
|
184
|
+
vellum/client/reference.md,sha256=gAIp6dXDNddILqc5zicSGiZvtK0kP--WM6FThRxpmCA,106191
|
185
185
|
vellum/client/resources/__init__.py,sha256=JlNoSZYFGxLTuzPvmMV1b8IWDYjlDL4BaBbq9TgfGUE,1765
|
186
186
|
vellum/client/resources/ad_hoc/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
187
187
|
vellum/client/resources/ad_hoc/client.py,sha256=v5I_YzJaaPezsE4KVuMSUXJISstKuJ_9-VUeXakIJhw,14353
|
188
188
|
vellum/client/resources/ad_hoc/raw_client.py,sha256=JSbwEoowm41Wm9u4hQNoAIHG_-IX6IYfsBRn2tGZ-gM,24864
|
189
189
|
vellum/client/resources/container_images/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
190
|
-
vellum/client/resources/container_images/client.py,sha256=
|
191
|
-
vellum/client/resources/container_images/raw_client.py,sha256=
|
190
|
+
vellum/client/resources/container_images/client.py,sha256=n-Mc-owByDaiZ0BfQoof4RF9jwxbW8FhCqCBe0sL65I,10068
|
191
|
+
vellum/client/resources/container_images/raw_client.py,sha256=97GhqajNJC_FvdseF1tk0VNumk9-wDgTiGCk6pEHGuU,14654
|
192
192
|
vellum/client/resources/deployments/__init__.py,sha256=Aze0YlID_nRBVASy8dUOrXmtn7_l_z6oG576vsr2n4g,259
|
193
193
|
vellum/client/resources/deployments/client.py,sha256=NWvDrhQVNuk27nR1KdI89nBVDVf1tmDR3e6LLic2wKY,28234
|
194
194
|
vellum/client/resources/deployments/raw_client.py,sha256=Gbjv0NysAcwR_mB9xCkVMoBBMJVb-JthX_lQE-Hmkk0,41783
|
@@ -256,8 +256,8 @@ vellum/client/resources/workflow_sandboxes/raw_client.py,sha256=iQpaFR-D96ygLLh4
|
|
256
256
|
vellum/client/resources/workflow_sandboxes/types/__init__.py,sha256=mZxwNpOmBfllmNZrhp8e_M62hUFI73B2fNlvgG8vi3Y,232
|
257
257
|
vellum/client/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py,sha256=TEwWit20W3X-zWPPLAhmUG05UudG9gaBSJ4Q4-rNJws,188
|
258
258
|
vellum/client/resources/workflows/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
259
|
-
vellum/client/resources/workflows/client.py,sha256=
|
260
|
-
vellum/client/resources/workflows/raw_client.py,sha256=
|
259
|
+
vellum/client/resources/workflows/client.py,sha256=rJFFiPTfsB3HxXJC6w-rIwCTZvNFyZFja1EfPtXBEeA,12602
|
260
|
+
vellum/client/resources/workflows/raw_client.py,sha256=VnrIf4GQ8wc5PCpP3undKyIhnChfGeZo5uyiAv4pNNA,20503
|
261
261
|
vellum/client/resources/workspace_secrets/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
262
262
|
vellum/client/resources/workspace_secrets/client.py,sha256=rKyHM9EJalA0adkQ0SDN5CmXjiddgVCO73y7Q4qqRP0,5722
|
263
263
|
vellum/client/resources/workspace_secrets/raw_client.py,sha256=ZfiNd1NisolmK07QPyojW_KFlIWpnjVNLA8Aq5JC-zQ,7832
|
@@ -266,7 +266,7 @@ vellum/client/resources/workspaces/client.py,sha256=36KYa2FDu6h65q2GscUFOJs4qKei
|
|
266
266
|
vellum/client/resources/workspaces/raw_client.py,sha256=M3Ewk1ZfEZ44EeTvBtBNoNKi5whwfLY-1GR07SyfDTI,3517
|
267
267
|
vellum/client/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
268
268
|
vellum/client/tests/test_utils.py,sha256=zk8z45-2xrm9sZ2hq8PTqY8MXmXtPqMqYK0VBBX0GHg,1176
|
269
|
-
vellum/client/types/__init__.py,sha256=
|
269
|
+
vellum/client/types/__init__.py,sha256=HEMxdgVYEgkUl7Fd6Xkai_kWAHVoqZBPa3a1qOaB2Dg,74785
|
270
270
|
vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=B69EesIH6fpNsdoiJaSG9zF1Sl17FnjoTu4CBkUSoHk,608
|
271
271
|
vellum/client/types/ad_hoc_expand_meta.py,sha256=Kajcj3dKKed5e7uZibRnE3ZonK_bB2JPM-3aLjLfUp4,1295
|
272
272
|
vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=5kD6ZcbU8P8ynK0lMD8Mh7vHzvQt06ziMyphvWYg6FU,968
|
@@ -940,6 +940,7 @@ vellum/client/types/workflow_request_json_input_request.py,sha256=LZu_IblkMhk5JW
|
|
940
940
|
vellum/client/types/workflow_request_number_input_request.py,sha256=1eesPBjUA7wKWLR90x6in3U9H1ZuIt_2_OqIYjy-V9s,760
|
941
941
|
vellum/client/types/workflow_request_string_input_request.py,sha256=oqdelrQTkpCH5d6tN6ytaTFVkBHJynl_bF8a_Grokh4,758
|
942
942
|
vellum/client/types/workflow_request_video_input_request.py,sha256=SAZ-tX5w7Cfx_u5HueZhN9BUv3K9BLlz0nnUbNc9QrE,822
|
943
|
+
vellum/client/types/workflow_resolved_state.py,sha256=alygNoUthmApMt3FR1Mdk60C1GADDzEWFmt59QPz_P8,927
|
943
944
|
vellum/client/types/workflow_result_event.py,sha256=LRA5i2sE9cZYQwZSygp7MnKXvHP8dB9gWVVxWY2w1f0,1343
|
944
945
|
vellum/client/types/workflow_result_event_output_data.py,sha256=S_S_h42LMnqJv9FLEEASFS3HsqX2RZHT_kQeeWOSj28,1222
|
945
946
|
vellum/client/types/workflow_result_event_output_data_array.py,sha256=pjEc56lhN5uTtB2DLXDkzH6mwj4glGNNXKG_dCAG_Io,1318
|
@@ -1759,6 +1760,7 @@ vellum/types/workflow_request_json_input_request.py,sha256=fkeZTjEns0R1UdA1oX8DW
|
|
1759
1760
|
vellum/types/workflow_request_number_input_request.py,sha256=C5GareD-9BxO_LkcWnLTaUx_O7Z3iGy760gvrT2_Iyo,175
|
1760
1761
|
vellum/types/workflow_request_string_input_request.py,sha256=ivQxu4db3dB7tlDlD8GUiVpn6IbsPVsuxdXeA2Jtk-4,175
|
1761
1762
|
vellum/types/workflow_request_video_input_request.py,sha256=x4f5IMo8EaLGz0gckHBl-1bXHP9I5QrL8A-wBa11FYc,174
|
1763
|
+
vellum/types/workflow_resolved_state.py,sha256=aPKgnObJm8I6R4MXn7P3RiG5q2JB6AuOkw0C4Hzh-Eg,161
|
1762
1764
|
vellum/types/workflow_result_event.py,sha256=JifChSMV7_5gIVYwHlvOxe2JD-HfSWBfTsCQghpO0yU,159
|
1763
1765
|
vellum/types/workflow_result_event_output_data.py,sha256=jfl2_Oo21LmC1HOsZpt2Xkm6NhsW_DY9gt1EUfxOdJU,171
|
1764
1766
|
vellum/types/workflow_result_event_output_data_array.py,sha256=MnUSnSZgUdFSOblnHhV6juyLEDvanINvmXCo7ixwZVw,177
|
@@ -1790,7 +1792,7 @@ vellum/workflows/__init__.py,sha256=gd5AiZqVTcvqelhysG0jOWYfC6pJKRAVhS7qwf0bHU4,
|
|
1790
1792
|
vellum/workflows/constants.py,sha256=ApFp3fm_DOuakvZV-c0ybieyVp-wELgHk-GTzDJoDCg,1429
|
1791
1793
|
vellum/workflows/context.py,sha256=ViyIeMDhUv-MhnynLaXPlvlbYxRU45ySvYidCNSbFZU,2458
|
1792
1794
|
vellum/workflows/descriptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1793
|
-
vellum/workflows/descriptors/base.py,sha256=
|
1795
|
+
vellum/workflows/descriptors/base.py,sha256=v3WG2d_pekYtVK3Y2FSdVhf_XwNUnvXgSWuhr0VQRJM,16666
|
1794
1796
|
vellum/workflows/descriptors/exceptions.py,sha256=Rv2uMiaO2a2SADhJzl_VHhV6dqwAhZAzaJPoThP7SZc,653
|
1795
1797
|
vellum/workflows/descriptors/tests/test_utils.py,sha256=HJ5DoRz0sJvViGxyZ_FtytZjxN2J8xTkGtaVwCy6Q90,6928
|
1796
1798
|
vellum/workflows/descriptors/utils.py,sha256=Z7kuhwb_D_kfcwKIAr1xI_AqYH6WFoZBYuslKQWZBFU,4399
|
@@ -1802,7 +1804,7 @@ vellum/workflows/emitters/vellum_emitter.py,sha256=t4ixrN0NNXrydMP9PVKYvcOMxoMqs
|
|
1802
1804
|
vellum/workflows/environment/__init__.py,sha256=TJz0m9dwIs6YOwCTeuN0HHsU-ecyjc1OJXx4AFy83EQ,121
|
1803
1805
|
vellum/workflows/environment/environment.py,sha256=Ck3RPKXJvtMGx_toqYQQQF-ZwXm5ijVwJpEPTeIJ4_Q,471
|
1804
1806
|
vellum/workflows/errors/__init__.py,sha256=tWGPu5xyAU8gRb8_bl0fL7OfU3wxQ9UH6qVwy4X4P_Q,113
|
1805
|
-
vellum/workflows/errors/types.py,sha256=
|
1807
|
+
vellum/workflows/errors/types.py,sha256=dmIYCJl2OdQnU5CW_fgKcQy7tERAeddLQ1FSp7gIKeA,4541
|
1806
1808
|
vellum/workflows/events/__init__.py,sha256=V4mh766fyA70WvHelm9kfVZGrUgEKcJ9tJt8EepfQYU,832
|
1807
1809
|
vellum/workflows/events/context.py,sha256=vCfMIPmz4j9Om36rRWa35A_JU_VccWWS52_mZkkqxak,3345
|
1808
1810
|
vellum/workflows/events/exception_handling.py,sha256=2okFtCzrOzaCP-HEwBPMvHn-evlyyE1zRkmIYjR__jQ,1975
|
@@ -1865,10 +1867,10 @@ vellum/workflows/graph/graph.py,sha256=vkpteMc2a61IFGHlrA50J4ntVj6m3agcyWrXGQEbj
|
|
1865
1867
|
vellum/workflows/graph/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1866
1868
|
vellum/workflows/graph/tests/test_graph.py,sha256=0Pov0sCsxjzUDL9wy7xy9jFD-F2GsMJnZVEVFXzQGdM,15433
|
1867
1869
|
vellum/workflows/inputs/__init__.py,sha256=02pj0IbJkN1AxTreswK39cNi45tA8GWcAAdRJve4cuM,116
|
1868
|
-
vellum/workflows/inputs/base.py,sha256=
|
1870
|
+
vellum/workflows/inputs/base.py,sha256=79Dw3jiSnCVFeySg6rMFPIqPfErmGKY0XPhpW0dSY-E,5454
|
1869
1871
|
vellum/workflows/inputs/dataset_row.py,sha256=Szdb_RKysCEBRfy4B5LoXoPiTZPEFp_0_RqRZUZRGbU,1076
|
1870
1872
|
vellum/workflows/inputs/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1871
|
-
vellum/workflows/inputs/tests/test_inputs.py,sha256=
|
1873
|
+
vellum/workflows/inputs/tests/test_inputs.py,sha256=E6I2pEfGjCeQg0GAsjvKFEjO32bQ3H9VeRnLv3ry9O0,2828
|
1872
1874
|
vellum/workflows/integrations/__init__.py,sha256=KoA7tGX_UiImu6erJKJ5tmLFpNFEqblsWFGPoWNsS1U,220
|
1873
1875
|
vellum/workflows/integrations/composio_service.py,sha256=rSliaZtNiBcDSvDxz9k5i1KkyUIrbxyegu0yU9cDByU,6023
|
1874
1876
|
vellum/workflows/integrations/mcp_service.py,sha256=9DYb8dg2_kgc1UOu830kxhaFlt9yTbhKPhK3L6kb1t4,9831
|
@@ -2019,7 +2021,7 @@ vellum/workflows/resolvers/resolver.py,sha256=yK-oY0HDsFJcjlNKAm3vpsPKRIFerIh59F
|
|
2019
2021
|
vellum/workflows/resolvers/tests/test_resolver.py,sha256=jXkJBb9SwtoH__bBN-ECohpyD0aTIB9ErEvtFhuTMQM,9750
|
2020
2022
|
vellum/workflows/resolvers/types.py,sha256=Hndhlk69g6EKLh_LYg5ILepW5U_h_BYNllfzhS9k8p4,237
|
2021
2023
|
vellum/workflows/runner/__init__.py,sha256=i1iG5sAhtpdsrlvwgH6B-m49JsINkiWyPWs8vyT-bqM,72
|
2022
|
-
vellum/workflows/runner/runner.py,sha256
|
2024
|
+
vellum/workflows/runner/runner.py,sha256=rwMZlQBkzK-EfewC6OysNCeuDeTCfpNuzaUlgYoFJMw,43329
|
2023
2025
|
vellum/workflows/sandbox.py,sha256=mezSZmilR_fwR8164n8CEfzlMeQ55IqfapHp4ftImvQ,3212
|
2024
2026
|
vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
|
2025
2027
|
vellum/workflows/state/base.py,sha256=m9fCqbZn21GshCVCjJTD1dPZEQjFrsMXqlg7tM9fIwM,24283
|
@@ -2058,13 +2060,13 @@ vellum/workflows/utils/vellum_variables.py,sha256=X3lZn-EoWengRWBWRhTNW7hqbj7LkV
|
|
2058
2060
|
vellum/workflows/utils/zip.py,sha256=HVg_YZLmBOTXKaDV3Xhaf3V6sYnfqqZXQ8CpuafkbPY,1181
|
2059
2061
|
vellum/workflows/vellum_client.py,sha256=3iDR7VV_NgLSm1iZQCKDvrmfEaX1bOJiU15QrxyHpv0,1237
|
2060
2062
|
vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
|
2061
|
-
vellum/workflows/workflows/base.py,sha256=
|
2063
|
+
vellum/workflows/workflows/base.py,sha256=7LVmHbewLLQiOX1QAlZoKnuwTNgubn34Kn_QC6jKNnA,29993
|
2062
2064
|
vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnadGsrSZGa7t7LpJA,2008
|
2063
2065
|
vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2064
2066
|
vellum/workflows/workflows/tests/test_base_workflow.py,sha256=Boa-_m9ii2Qsa1RvVM-VYniF7zCpzGgEGy-OnPZkrHg,23941
|
2065
2067
|
vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
|
2066
|
-
vellum_ai-1.
|
2067
|
-
vellum_ai-1.
|
2068
|
-
vellum_ai-1.
|
2069
|
-
vellum_ai-1.
|
2070
|
-
vellum_ai-1.
|
2068
|
+
vellum_ai-1.7.0.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
|
2069
|
+
vellum_ai-1.7.0.dist-info/METADATA,sha256=SMmQ-iMX4Dymys9Y_j7Jz4xq_QJGNUf8U9xYOgYKSw0,5547
|
2070
|
+
vellum_ai-1.7.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
2071
|
+
vellum_ai-1.7.0.dist-info/entry_points.txt,sha256=xVavzAKN4iF_NbmhWOlOkHluka0YLkbN_pFQ9pW3gLI,117
|
2072
|
+
vellum_ai-1.7.0.dist-info/RECORD,,
|
@@ -542,6 +542,163 @@
|
|
542
542
|
}
|
543
543
|
]
|
544
544
|
},
|
545
|
+
{
|
546
|
+
"id": "3ae7366b-28ce-4d6b-8ec1-c6366b1e1a8b",
|
547
|
+
"display_data": {
|
548
|
+
"position": {
|
549
|
+
"x": 0.0,
|
550
|
+
"y": 0.0
|
551
|
+
},
|
552
|
+
"comment": {
|
553
|
+
"value": "\n Used to execute a Workflow Deployment.\n\n subworkflow_inputs: EntityInputsInterface - The inputs for the Subworkflow\n deployment: Union[UUID, str] - Either the Workflow Deployment's UUID or its name.\n release_tag: str = LATEST_RELEASE_TAG - The release tag to use for the Workflow Execution\n external_id: Optional[str] = OMIT - Optionally include a unique identifier for tracking purposes.\n Must be unique within a given Workflow Deployment.\n expand_meta: Optional[WorkflowExpandMetaRequest] = OMIT - Expandable execution fields to include in the response\n metadata: Optional[Dict[str, Optional[Any]]] = OMIT - The metadata to use for the Workflow Execution\n request_options: Optional[RequestOptions] = None - The request options to use for the Workflow Execution\n ",
|
554
|
+
"expanded": true
|
555
|
+
}
|
556
|
+
},
|
557
|
+
"base": {
|
558
|
+
"name": "BaseNode",
|
559
|
+
"module": [
|
560
|
+
"vellum",
|
561
|
+
"workflows",
|
562
|
+
"nodes",
|
563
|
+
"bases",
|
564
|
+
"base"
|
565
|
+
]
|
566
|
+
},
|
567
|
+
"definition": {
|
568
|
+
"name": "SubworkflowDeploymentNode",
|
569
|
+
"module": [
|
570
|
+
"vellum",
|
571
|
+
"workflows",
|
572
|
+
"nodes",
|
573
|
+
"displayable",
|
574
|
+
"subworkflow_deployment_node",
|
575
|
+
"node"
|
576
|
+
]
|
577
|
+
},
|
578
|
+
"trigger": {
|
579
|
+
"id": "a6eecf28-5c21-4406-80bb-917c6de84050",
|
580
|
+
"merge_behavior": "AWAIT_ANY"
|
581
|
+
},
|
582
|
+
"ports": [
|
583
|
+
{
|
584
|
+
"id": "8fc8d25b-c9b5-4db7-a632-d4eb1eb3e9fd",
|
585
|
+
"name": "default",
|
586
|
+
"type": "DEFAULT"
|
587
|
+
}
|
588
|
+
]
|
589
|
+
},
|
590
|
+
{
|
591
|
+
"id": "d2f9a8ec-3023-46bb-aca3-dd67ffb61e18",
|
592
|
+
"display_data": {
|
593
|
+
"position": {
|
594
|
+
"x": 0.0,
|
595
|
+
"y": 0.0
|
596
|
+
},
|
597
|
+
"comment": {
|
598
|
+
"value": "\n Used to execute a Prompt Deployment and surface a string output and json output if applicable for convenience.\n\n prompt_inputs: EntityInputsInterface - The inputs for the Prompt\n deployment: Union[UUID, str] - Either the Prompt Deployment's UUID or its name.\n release_tag: str - The release tag to use for the Prompt Execution\n external_id: Optional[str] - Optionally include a unique identifier for tracking purposes.\n Must be unique within a given Prompt Deployment.\n expand_meta: Optional[PromptDeploymentExpandMetaRequest] - Expandable execution fields to include in the response\n raw_overrides: Optional[RawPromptExecutionOverridesRequest] - The raw overrides to use for the Prompt Execution\n expand_raw: Optional[Sequence[str]] - Expandable raw fields to include in the response\n metadata: Optional[Dict[str, Optional[Any]]] - The metadata to use for the Prompt Execution\n request_options: Optional[RequestOptions] - The request options to use for the Prompt Execution\n ",
|
599
|
+
"expanded": true
|
600
|
+
}
|
601
|
+
},
|
602
|
+
"base": {
|
603
|
+
"name": "BasePromptDeploymentNode",
|
604
|
+
"module": [
|
605
|
+
"vellum",
|
606
|
+
"workflows",
|
607
|
+
"nodes",
|
608
|
+
"displayable",
|
609
|
+
"bases",
|
610
|
+
"prompt_deployment_node"
|
611
|
+
]
|
612
|
+
},
|
613
|
+
"definition": {
|
614
|
+
"name": "PromptDeploymentNode",
|
615
|
+
"module": [
|
616
|
+
"vellum",
|
617
|
+
"workflows",
|
618
|
+
"nodes",
|
619
|
+
"displayable",
|
620
|
+
"prompt_deployment_node",
|
621
|
+
"node"
|
622
|
+
]
|
623
|
+
},
|
624
|
+
"trigger": {
|
625
|
+
"id": "7d209a9c-14a5-4b74-949c-d3e681750049",
|
626
|
+
"merge_behavior": "AWAIT_ANY"
|
627
|
+
},
|
628
|
+
"ports": [
|
629
|
+
{
|
630
|
+
"id": "d51b7c72-3e1f-400c-ba1c-1125b1047d9a",
|
631
|
+
"name": "default",
|
632
|
+
"type": "DEFAULT"
|
633
|
+
}
|
634
|
+
],
|
635
|
+
"outputs": [
|
636
|
+
{
|
637
|
+
"id": "09c6ba90-4d69-4848-aa0b-74bdfcdd5a97",
|
638
|
+
"name": "json",
|
639
|
+
"type": "JSON",
|
640
|
+
"value": null
|
641
|
+
},
|
642
|
+
{
|
643
|
+
"id": "5ef5e3c6-1578-46da-89f6-6da3dd01fb5f",
|
644
|
+
"name": "text",
|
645
|
+
"type": "STRING",
|
646
|
+
"value": null
|
647
|
+
},
|
648
|
+
{
|
649
|
+
"id": "48513658-a72b-4db4-ad49-75a48a6cd084",
|
650
|
+
"name": "results",
|
651
|
+
"type": "ARRAY",
|
652
|
+
"value": null
|
653
|
+
}
|
654
|
+
]
|
655
|
+
},
|
656
|
+
{
|
657
|
+
"id": "0ac6bdba-dbae-4ce5-b815-3d670aae0572",
|
658
|
+
"display_data": {
|
659
|
+
"position": {
|
660
|
+
"x": 0.0,
|
661
|
+
"y": 0.0
|
662
|
+
},
|
663
|
+
"comment": {
|
664
|
+
"value": "\n Used to perform a hybrid search against a Document Index in Vellum.\n\n document_index: Union[UUID, str] - Either the UUID or name of the Vellum Document Index that you'd like to search\n against\n query: str - The query to search for\n options: Optional[SearchRequestOptionsRequest] = None - Runtime configuration for the search\n request_options: Optional[RequestOptions] = None - The request options to use for the search\n chunk_separator: str = \"\n\n#####\n\n\" - The separator to use when joining the text of each search result\n ",
|
665
|
+
"expanded": true
|
666
|
+
}
|
667
|
+
},
|
668
|
+
"base": {
|
669
|
+
"name": "BaseSearchNode",
|
670
|
+
"module": [
|
671
|
+
"vellum",
|
672
|
+
"workflows",
|
673
|
+
"nodes",
|
674
|
+
"displayable",
|
675
|
+
"bases",
|
676
|
+
"search_node"
|
677
|
+
]
|
678
|
+
},
|
679
|
+
"definition": {
|
680
|
+
"name": "SearchNode",
|
681
|
+
"module": [
|
682
|
+
"vellum",
|
683
|
+
"workflows",
|
684
|
+
"nodes",
|
685
|
+
"displayable",
|
686
|
+
"search_node",
|
687
|
+
"node"
|
688
|
+
]
|
689
|
+
},
|
690
|
+
"trigger": {
|
691
|
+
"id": "37e64cf0-e604-4045-b8a0-d17e68c037e1",
|
692
|
+
"merge_behavior": "AWAIT_ANY"
|
693
|
+
},
|
694
|
+
"ports": [
|
695
|
+
{
|
696
|
+
"id": "8dea61c3-107c-4f17-bcba-dbbdc1185360",
|
697
|
+
"name": "default",
|
698
|
+
"type": "DEFAULT"
|
699
|
+
}
|
700
|
+
]
|
701
|
+
},
|
545
702
|
{
|
546
703
|
"id": "035842e0-34ed-43af-97de-a706e40912ae",
|
547
704
|
"label": "Tool Calling Node",
|
@@ -854,18 +1011,6 @@
|
|
854
1011
|
}
|
855
1012
|
],
|
856
1013
|
"errors": [
|
857
|
-
{
|
858
|
-
"node": "SubworkflowDeploymentNode",
|
859
|
-
"error": "ApiError: headers: {'server': 'gunicorn', 'date': 'Wed, 24 Sep 2025 04:58:53 GMT', 'content-type': 'application/json', 'allow': 'GET, PUT, PATCH, DELETE, HEAD, OPTIONS', 'x-frame-options': 'DENY', 'content-length': '58', 'vary': 'Accept-Language, Origin', 'content-language': 'en', 'strict-transport-security': 'max-age=60; includeSubDomains; preload', 'x-content-type-options': 'nosniff', 'referrer-policy': 'same-origin', 'cross-origin-opener-policy': 'same-origin', 'via': '1.1 google', 'alt-svc': 'h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000'}, status_code: 403, body: {'detail': 'Authentication credentials were not provided.'}"
|
860
|
-
},
|
861
|
-
{
|
862
|
-
"node": "PromptDeploymentNode",
|
863
|
-
"error": "ApiError: headers: {'server': 'gunicorn', 'date': 'Wed, 24 Sep 2025 04:58:53 GMT', 'content-type': 'application/json', 'allow': 'GET, PUT, PATCH, DELETE, HEAD, OPTIONS', 'x-frame-options': 'DENY', 'content-length': '58', 'vary': 'Accept-Language, Origin', 'content-language': 'en', 'strict-transport-security': 'max-age=60; includeSubDomains; preload', 'x-content-type-options': 'nosniff', 'referrer-policy': 'same-origin', 'cross-origin-opener-policy': 'same-origin', 'via': '1.1 google', 'alt-svc': 'h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000'}, status_code: 403, body: {'detail': 'Authentication credentials were not provided.'}"
|
864
|
-
},
|
865
|
-
{
|
866
|
-
"node": "SearchNode",
|
867
|
-
"error": "ValueError: Expected NodeReference query to have an instance"
|
868
|
-
},
|
869
1014
|
{
|
870
1015
|
"node": "TemplatingNode",
|
871
1016
|
"error": "KeyError: TemplatingNode.Outputs.result"
|
@@ -1,7 +1,3 @@
|
|
1
|
-
|
2
|
-
"""Exception raised when a node fails validation during workflow display serialization."""
|
1
|
+
from vellum_ee.workflows.display.utils.exceptions import NodeValidationError
|
3
2
|
|
4
|
-
|
5
|
-
self.message = message
|
6
|
-
self.node_class_name = node_class_name
|
7
|
-
super().__init__(f"Node validation error in {node_class_name}: {message}")
|
3
|
+
__all__ = ["NodeValidationError"]
|
@@ -6,11 +6,11 @@ from typing import ClassVar, Generic, Optional, TypeVar
|
|
6
6
|
from vellum.workflows.nodes.displayable.code_execution_node import CodeExecutionNode
|
7
7
|
from vellum.workflows.types.core import JsonObject
|
8
8
|
from vellum.workflows.utils.vellum_variables import primitive_type_to_vellum_variable_type
|
9
|
-
from vellum_ee.workflows.display.exceptions import NodeValidationError
|
10
9
|
from vellum_ee.workflows.display.nodes.base_node_display import BaseNodeDisplay
|
11
10
|
from vellum_ee.workflows.display.nodes.utils import raise_if_descriptor
|
12
11
|
from vellum_ee.workflows.display.nodes.vellum.utils import create_node_input
|
13
12
|
from vellum_ee.workflows.display.types import WorkflowDisplayContext
|
13
|
+
from vellum_ee.workflows.display.utils.exceptions import NodeValidationError
|
14
14
|
from vellum_ee.workflows.display.utils.expressions import virtual_open
|
15
15
|
|
16
16
|
_CodeExecutionNodeType = TypeVar("_CodeExecutionNodeType", bound=CodeExecutionNode)
|
@@ -8,11 +8,11 @@ from vellum.workflows.nodes import InlineSubworkflowNode
|
|
8
8
|
from vellum.workflows.nodes.displayable.bases.utils import primitive_to_vellum_value
|
9
9
|
from vellum.workflows.types.core import JsonObject
|
10
10
|
from vellum.workflows.workflows.base import BaseWorkflow
|
11
|
-
from vellum_ee.workflows.display.exceptions import NodeValidationError
|
12
11
|
from vellum_ee.workflows.display.nodes.base_node_display import BaseNodeDisplay
|
13
12
|
from vellum_ee.workflows.display.nodes.utils import raise_if_descriptor
|
14
13
|
from vellum_ee.workflows.display.nodes.vellum.utils import create_node_input
|
15
14
|
from vellum_ee.workflows.display.types import WorkflowDisplayContext
|
15
|
+
from vellum_ee.workflows.display.utils.exceptions import NodeValidationError
|
16
16
|
from vellum_ee.workflows.display.utils.vellum import infer_vellum_variable_type
|
17
17
|
from vellum_ee.workflows.display.vellum import NodeInput
|
18
18
|
from vellum_ee.workflows.display.workflows.get_vellum_workflow_display_class import get_workflow_display
|
@@ -3,6 +3,7 @@ from typing import Generic, Optional, TypeVar
|
|
3
3
|
|
4
4
|
from vellum.workflows.nodes.displayable.prompt_deployment_node import PromptDeploymentNode
|
5
5
|
from vellum.workflows.types.core import JsonObject
|
6
|
+
from vellum.workflows.utils.uuids import uuid4_from_hash
|
6
7
|
from vellum_ee.workflows.display.nodes.base_node_display import BaseNodeDisplay
|
7
8
|
from vellum_ee.workflows.display.nodes.utils import raise_if_descriptor
|
8
9
|
from vellum_ee.workflows.display.nodes.vellum.utils import create_node_input
|
@@ -43,9 +44,15 @@ class BasePromptDeploymentNodeDisplay(BaseNodeDisplay[_PromptDeploymentNodeType]
|
|
43
44
|
array_display = self.output_display[node.Outputs.results]
|
44
45
|
json_display = self.output_display[node.Outputs.json]
|
45
46
|
|
46
|
-
|
47
|
-
|
48
|
-
|
47
|
+
deployment_descriptor_id = str(raise_if_descriptor(node.deployment))
|
48
|
+
try:
|
49
|
+
deployment = display_context.client.deployments.retrieve(
|
50
|
+
id=deployment_descriptor_id,
|
51
|
+
)
|
52
|
+
deployment_id = str(deployment.id)
|
53
|
+
except Exception as e:
|
54
|
+
display_context.add_error(e)
|
55
|
+
deployment_id = str(uuid4_from_hash(deployment_descriptor_id))
|
49
56
|
ml_model_fallbacks = raise_if_descriptor(node.ml_model_fallbacks)
|
50
57
|
|
51
58
|
return {
|
@@ -60,7 +67,7 @@ class BasePromptDeploymentNodeDisplay(BaseNodeDisplay[_PromptDeploymentNodeType]
|
|
60
67
|
"source_handle_id": str(self.get_source_handle_id(display_context.port_displays)),
|
61
68
|
"target_handle_id": str(self.get_target_handle_id()),
|
62
69
|
"variant": "DEPLOYMENT",
|
63
|
-
"prompt_deployment_id":
|
70
|
+
"prompt_deployment_id": deployment_id,
|
64
71
|
"release_tag": raise_if_descriptor(node.release_tag),
|
65
72
|
"ml_model_fallbacks": list(ml_model_fallbacks) if ml_model_fallbacks else None,
|
66
73
|
},
|
@@ -48,8 +48,8 @@ class BaseSearchNodeDisplay(BaseNodeDisplay[_SearchNodeType], Generic[_SearchNod
|
|
48
48
|
node_id = self.node_id
|
49
49
|
node_inputs = self._generate_search_node_inputs(node_id, node, display_context)
|
50
50
|
|
51
|
-
results_output_display =
|
52
|
-
text_output_display =
|
51
|
+
results_output_display = self.get_node_output_display(node.Outputs.results)
|
52
|
+
text_output_display = self.get_node_output_display(node.Outputs.text)
|
53
53
|
|
54
54
|
return {
|
55
55
|
"id": str(node_id),
|
@@ -111,8 +111,8 @@ class BaseSearchNodeDisplay(BaseNodeDisplay[_SearchNodeType], Generic[_SearchNod
|
|
111
111
|
limit = raw_limit if raw_limit is not None else options.limit if options is not None else None
|
112
112
|
|
113
113
|
node_input_names_and_values = [
|
114
|
-
("query", node.query),
|
115
|
-
("document_index_id", node.document_index),
|
114
|
+
("query", raise_if_descriptor(node.query)),
|
115
|
+
("document_index_id", raise_if_descriptor(node.document_index)),
|
116
116
|
("weights", weights.dict() if weights else None),
|
117
117
|
("limit", limit),
|
118
118
|
("separator", raise_if_descriptor(node.chunk_separator)),
|
@@ -4,6 +4,7 @@ from typing import Generic, Optional, TypeVar
|
|
4
4
|
from vellum.workflows.inputs.base import BaseInputs
|
5
5
|
from vellum.workflows.nodes import SubworkflowDeploymentNode
|
6
6
|
from vellum.workflows.types.core import JsonObject
|
7
|
+
from vellum.workflows.utils.uuids import uuid4_from_hash
|
7
8
|
from vellum_ee.workflows.display.nodes.base_node_display import BaseNodeDisplay
|
8
9
|
from vellum_ee.workflows.display.nodes.utils import raise_if_descriptor
|
9
10
|
from vellum_ee.workflows.display.nodes.vellum.utils import create_node_input
|
@@ -44,9 +45,15 @@ class BaseSubworkflowDeploymentNodeDisplay(
|
|
44
45
|
for variable_name, variable_value in input_items
|
45
46
|
]
|
46
47
|
|
47
|
-
|
48
|
-
|
49
|
-
|
48
|
+
deployment_descriptor_id = str(raise_if_descriptor(node.deployment))
|
49
|
+
try:
|
50
|
+
deployment = display_context.client.workflow_deployments.retrieve(
|
51
|
+
id=deployment_descriptor_id,
|
52
|
+
)
|
53
|
+
deployment_id = str(deployment.id)
|
54
|
+
except Exception as e:
|
55
|
+
display_context.add_error(e)
|
56
|
+
deployment_id = str(uuid4_from_hash(deployment_descriptor_id))
|
50
57
|
|
51
58
|
return {
|
52
59
|
"id": str(node_id),
|
@@ -58,7 +65,7 @@ class BaseSubworkflowDeploymentNodeDisplay(
|
|
58
65
|
"source_handle_id": str(self.get_source_handle_id(display_context.port_displays)),
|
59
66
|
"target_handle_id": str(self.get_target_handle_id()),
|
60
67
|
"variant": "DEPLOYMENT",
|
61
|
-
"workflow_deployment_id":
|
68
|
+
"workflow_deployment_id": deployment_id,
|
62
69
|
"release_tag": raise_if_descriptor(node.release_tag),
|
63
70
|
},
|
64
71
|
**self.serialize_generic_fields(display_context),
|
@@ -6,8 +6,8 @@ from vellum.client.core.api_error import ApiError
|
|
6
6
|
from vellum.workflows.nodes.displayable.code_execution_node.node import CodeExecutionNode
|
7
7
|
from vellum.workflows.references.vellum_secret import VellumSecretReference
|
8
8
|
from vellum.workflows.workflows.base import BaseWorkflow
|
9
|
-
from vellum_ee.workflows.display.exceptions import NodeValidationError
|
10
9
|
from vellum_ee.workflows.display.nodes.vellum.code_execution_node import BaseCodeExecutionNodeDisplay
|
10
|
+
from vellum_ee.workflows.display.utils.exceptions import NodeValidationError
|
11
11
|
from vellum_ee.workflows.display.workflows.get_vellum_workflow_display_class import get_workflow_display
|
12
12
|
|
13
13
|
|
@@ -5,3 +5,22 @@ class UserFacingException(Exception):
|
|
5
5
|
|
6
6
|
class UnsupportedSerializationException(UserFacingException):
|
7
7
|
pass
|
8
|
+
|
9
|
+
|
10
|
+
class NodeValidationError(UserFacingException):
|
11
|
+
"""Exception raised when a node fails validation during workflow display serialization."""
|
12
|
+
|
13
|
+
def __init__(self, message: str, node_class_name: str):
|
14
|
+
self.message = message
|
15
|
+
self.node_class_name = node_class_name
|
16
|
+
super().__init__(f"Node validation error in {node_class_name}: {message}")
|
17
|
+
|
18
|
+
|
19
|
+
class InvalidInputReferenceError(UserFacingException):
|
20
|
+
"""Exception raised when a node references a non-existent workflow input."""
|
21
|
+
|
22
|
+
def __init__(self, message: str, inputs_class_name: str, attribute_name: str):
|
23
|
+
self.message = message
|
24
|
+
self.inputs_class_name = inputs_class_name
|
25
|
+
self.attribute_name = attribute_name
|
26
|
+
super().__init__(f"Invalid input reference in {inputs_class_name}.{attribute_name}: {message}")
|
@@ -56,7 +56,7 @@ from vellum.workflows.types.core import JsonArray, JsonObject
|
|
56
56
|
from vellum.workflows.types.generics import is_workflow_class
|
57
57
|
from vellum.workflows.utils.functions import compile_function_definition
|
58
58
|
from vellum.workflows.utils.uuids import uuid4_from_hash
|
59
|
-
from vellum_ee.workflows.display.utils.exceptions import UnsupportedSerializationException
|
59
|
+
from vellum_ee.workflows.display.utils.exceptions import InvalidInputReferenceError, UnsupportedSerializationException
|
60
60
|
from vellum_ee.workflows.server.virtual_file_loader import VirtualFileLoader
|
61
61
|
|
62
62
|
if TYPE_CHECKING:
|
@@ -275,16 +275,24 @@ def serialize_value(executable_id: UUID, display_context: "WorkflowDisplayContex
|
|
275
275
|
return serialize_value(executable_id, display_context, child_descriptor)
|
276
276
|
|
277
277
|
if isinstance(value, WorkflowInputReference):
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
278
|
+
if value not in display_context.global_workflow_input_displays:
|
279
|
+
workflow_inputs_class = display_context.workflow_display_class.infer_workflow_class().get_inputs_class()
|
280
|
+
if value.inputs_class != workflow_inputs_class:
|
281
|
+
inputs_class_name = value.inputs_class.__name__
|
282
|
+
workflow_class_name = display_context.workflow_display_class.infer_workflow_class().__name__
|
283
|
+
raise UnsupportedSerializationException(
|
284
|
+
f"Inputs class '{inputs_class_name}' referenced during serialization of "
|
285
|
+
f"'{workflow_class_name}' without parameterizing this Workflow with this Inputs definition. "
|
286
|
+
f"Update your Workflow definition to "
|
287
|
+
f"'{workflow_class_name}(BaseWorkflow[{inputs_class_name}, BaseState])'."
|
288
|
+
)
|
289
|
+
else:
|
290
|
+
raise InvalidInputReferenceError(
|
291
|
+
message=f"Inputs class '{value.inputs_class.__qualname__}' has no attribute '{value.name}'",
|
292
|
+
inputs_class_name=value.inputs_class.__qualname__,
|
293
|
+
attribute_name=value.name,
|
294
|
+
)
|
295
|
+
workflow_input_display = display_context.global_workflow_input_displays[value]
|
288
296
|
return {
|
289
297
|
"type": "WORKFLOW_INPUT",
|
290
298
|
"input_variable_id": str(workflow_input_display.id),
|