vellum-ai 1.2.1__py3-none-any.whl → 1.2.2__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/client/core/client_wrapper.py +2 -2
- vellum/prompts/blocks/compilation.py +13 -11
- vellum/workflows/emitters/vellum_emitter.py +16 -69
- vellum/workflows/events/tests/test_event.py +1 -0
- vellum/workflows/events/workflow.py +3 -0
- vellum/workflows/nodes/bases/base.py +0 -1
- vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py +35 -0
- vellum/workflows/nodes/displayable/bases/utils.py +4 -2
- vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +88 -2
- vellum/workflows/nodes/displayable/tool_calling_node/node.py +1 -0
- vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py +85 -1
- vellum/workflows/nodes/displayable/tool_calling_node/tests/test_utils.py +12 -0
- vellum/workflows/nodes/displayable/tool_calling_node/utils.py +5 -2
- vellum/workflows/ports/port.py +1 -11
- vellum/workflows/state/context.py +14 -0
- vellum/workflows/types/definition.py +4 -4
- vellum/workflows/utils/vellum_variables.py +5 -3
- vellum/workflows/workflows/base.py +1 -0
- {vellum_ai-1.2.1.dist-info → vellum_ai-1.2.2.dist-info}/METADATA +1 -1
- {vellum_ai-1.2.1.dist-info → vellum_ai-1.2.2.dist-info}/RECORD +55 -55
- vellum_ee/workflows/display/nodes/base_node_display.py +19 -10
- vellum_ee/workflows/display/nodes/vellum/api_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/code_execution_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/conditional_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/error_node.py +6 -4
- vellum_ee/workflows/display/nodes/vellum/final_output_node.py +6 -4
- vellum_ee/workflows/display/nodes/vellum/guardrail_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py +1 -8
- vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/map_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/merge_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/note_node.py +2 -4
- vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/search_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/templating_node.py +1 -4
- vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py +4 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py +12 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py +16 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py +5 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py +4 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py +4 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py +4 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py +4 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py +12 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py +4 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py +4 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py +4 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py +5 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_composio_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py +5 -0
- {vellum_ai-1.2.1.dist-info → vellum_ai-1.2.2.dist-info}/LICENSE +0 -0
- {vellum_ai-1.2.1.dist-info → vellum_ai-1.2.2.dist-info}/WHEEL +0 -0
- {vellum_ai-1.2.1.dist-info → vellum_ai-1.2.2.dist-info}/entry_points.txt +0 -0
@@ -28,33 +28,33 @@ vellum_ee/workflows/display/editor/__init__.py,sha256=MSAgY91xCEg2neH5d8jXx5wRdR
|
|
28
28
|
vellum_ee/workflows/display/editor/types.py,sha256=x-tOOCJ6CF4HmiKDfCmcc3bOVfc1EBlP5o6u5WEfLoY,567
|
29
29
|
vellum_ee/workflows/display/exceptions.py,sha256=Oys39dHoW-s-1dnlRSZxTntMq8_macj-b2CT_6dqzJs,355
|
30
30
|
vellum_ee/workflows/display/nodes/__init__.py,sha256=jI1aPBQf8DkmrYoZ4O-wR1duqZByOf5mDFmo_wFJPE4,307
|
31
|
-
vellum_ee/workflows/display/nodes/base_node_display.py,sha256=
|
31
|
+
vellum_ee/workflows/display/nodes/base_node_display.py,sha256=bxDJxtNqcyy1LwFltggm63W1ZHZPuwK1NyA6KPLHRQQ,18345
|
32
32
|
vellum_ee/workflows/display/nodes/get_node_display_class.py,sha256=jI_kUi9LnNLDpY63QtlC4TfN8P571VN4LpzH0I1ZtLk,1149
|
33
33
|
vellum_ee/workflows/display/nodes/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
34
34
|
vellum_ee/workflows/display/nodes/tests/test_base_node_display.py,sha256=wBoCqULS4XO3s9Vwhd9v4g10opfBFqeZgRqB8CoFz0c,3015
|
35
35
|
vellum_ee/workflows/display/nodes/types.py,sha256=St1BB6no528OyELGiyRabWao0GGw6mLhstQAvEACbGk,247
|
36
36
|
vellum_ee/workflows/display/nodes/utils.py,sha256=sloya5TpXsnot1HURc9L51INwflRqUzHxRVnCS9Cd-4,973
|
37
37
|
vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=nUIgH2s0-7IbQRNrBhLPyRNe8YIrx3Yo9HeeW-aXXFk,1668
|
38
|
-
vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=
|
38
|
+
vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=TD23uXA4vhRvsfiq7B10XHpFnsS1CA9M7WH9jsOYNB0,9242
|
39
39
|
vellum_ee/workflows/display/nodes/vellum/base_adornment_node.py,sha256=FHhPoGmmny4Xcxi2pm12Sk3ZOREanWEVrOWcjRhncH4,6337
|
40
|
-
vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=
|
41
|
-
vellum_ee/workflows/display/nodes/vellum/conditional_node.py,sha256=
|
42
|
-
vellum_ee/workflows/display/nodes/vellum/error_node.py,sha256=
|
43
|
-
vellum_ee/workflows/display/nodes/vellum/final_output_node.py,sha256=
|
44
|
-
vellum_ee/workflows/display/nodes/vellum/guardrail_node.py,sha256=
|
45
|
-
vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=
|
46
|
-
vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=
|
47
|
-
vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=
|
48
|
-
vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=
|
49
|
-
vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=
|
50
|
-
vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=
|
40
|
+
vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=w8tO4EZj4Swy5e_2lIYTeoWzghj8ikMLnjML5OqevLg,4570
|
41
|
+
vellum_ee/workflows/display/nodes/vellum/conditional_node.py,sha256=dtO9A-rjbDEJrywwrOxwEXahqrW-S493OIDHOti9Sjs,11498
|
42
|
+
vellum_ee/workflows/display/nodes/vellum/error_node.py,sha256=6ZXpJVvpq5mJ6gVnv0qsjG312w4RHVltH3R4C39la6I,2424
|
43
|
+
vellum_ee/workflows/display/nodes/vellum/final_output_node.py,sha256=wmq-bEtDeBkLOJ6w9nAc0tT9LanGJXBVciX6PXTN8wM,3156
|
44
|
+
vellum_ee/workflows/display/nodes/vellum/guardrail_node.py,sha256=9_AslWjzj4RHH2sq3SIaq9FU0NCg7ex5TIWrNMybqXg,2173
|
45
|
+
vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=20tahU75zKImm6sAwLIYA9VEC6aNATjZdwA2beNnCIk,11949
|
46
|
+
vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=qy_EtBIAHIhju68PA-skm-WbFnaNEuDoxkSMWRl2SpQ,5870
|
47
|
+
vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=kwLqptup7bzYUDkGDbpcJPMMusMezsYrG5rSUYl5TlQ,3750
|
48
|
+
vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=xMHaPfTSZWYprQenlHm2g47u0a5O9Me_dhAjfqo8nKQ,3116
|
49
|
+
vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=6PcAFA_EJn7vEMdqgoRjYTLHwnXCrJv80B10zuUx4jE,1026
|
50
|
+
vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=uo4YZRV48iX4peGAA1xkGniSPrepywvW_gS7codt-VQ,3378
|
51
51
|
vellum_ee/workflows/display/nodes/vellum/retry_node.py,sha256=3tkrZu7LczrD6KwdtU3g3xGOyVR3KKSbG5_H3Lbqvho,3274
|
52
|
-
vellum_ee/workflows/display/nodes/vellum/search_node.py,sha256=
|
53
|
-
vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=
|
54
|
-
vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=
|
52
|
+
vellum_ee/workflows/display/nodes/vellum/search_node.py,sha256=RMBW2cKbwCBPXqrkEo8zAHlMltotZJz3S8QjWnBgiEg,12161
|
53
|
+
vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=n6gaTWOkiycUExbO5Vk_ZYNXRW6_V4LNfXdxPDevWIs,2800
|
54
|
+
vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=NwyFvpkk87nBI5KbncAVQZdyimvN2q4Ko7hDg7jmbnA,3181
|
55
55
|
vellum_ee/workflows/display/nodes/vellum/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
56
|
vellum_ee/workflows/display/nodes/vellum/tests/test_api_node.py,sha256=DQAtsabvn6BE6xWwKNHzMOppzoy1-1dssNnrwbHUdRU,1490
|
57
|
-
vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py,sha256=
|
57
|
+
vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py,sha256=oEH9myRn-NAP_mRstV0LifX3ncbmAOjCvyIVCZhACk0,10885
|
58
58
|
vellum_ee/workflows/display/nodes/vellum/tests/test_error_node.py,sha256=540FoWMpJ3EN_DPjHsr9ODJWCRVcUa5hZBn-5T2GiHU,1665
|
59
59
|
vellum_ee/workflows/display/nodes/vellum/tests/test_inline_subworkflow_node.py,sha256=SKOYan-dxY4gsO0R4JyQUyWrABHBN8XImKw9Eeo4wGo,3535
|
60
60
|
vellum_ee/workflows/display/nodes/vellum/tests/test_note_node.py,sha256=uiMB0cOxKZzos7YKnj4ef4DFa2bOvZJWIv-hfbUV6Go,1218
|
@@ -79,29 +79,29 @@ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attr
|
|
79
79
|
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py,sha256=O1CIKMmRTaMaT3IhjwCAiMz1ZThPg9lAUbSiZkx_E8c,6321
|
80
80
|
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py,sha256=fPXcX-tWQ0UMuEyOFAylgi7pWiE7lZWk9vrShlTExik,40053
|
81
81
|
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py,sha256=FLvcD8eoABHUPv08oSpIp_P-65sw2gl4whMXEJJj4f8,6785
|
82
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=
|
83
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=
|
84
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256
|
82
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=ygNirKPjErhjTkDIgFZdaLrsvxDmUEionlmYFMJju3w,16338
|
83
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=arl-tho6f0qstUM2ejONEO4ru_6TxCPbni3FS-UZouQ,30108
|
84
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=-BiFVw3JUx_79isQNgAtZB2362oByRcuAuUVK9uzCJI,54204
|
85
85
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py,sha256=E1ww97BFoGbnRkxf84TScat5NQhP8nLVrdaOlpGnSKU,8615
|
86
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=
|
86
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=03Mk8OE3kWcoZW9lNBe7v4KThCYN-pXg5Rjbkfx-jOQ,6031
|
87
87
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py,sha256=-T0cd2jx1bC0ZNtAESF78fnYD_0nOqo8zMMLwRHUTRM,6227
|
88
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py,sha256=
|
88
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py,sha256=LnZp1YXDn-AaaxiYgxrhCQeH-rLgmlu_r_lvM65EQ5w,7517
|
89
89
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_prompt_node_serialization.py,sha256=zOv-CzFZs_9NqlINQ7hzJmd4o8ArDBKB7Eyr1Rfd-BU,25767
|
90
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=
|
91
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=
|
92
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=
|
93
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=
|
94
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py,sha256=
|
95
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=
|
96
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py,sha256=
|
97
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=
|
98
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_composio_serialization.py,sha256=
|
90
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=yKmOyunzt5_0cUcqhvCmV2pu81TTkshVi_uN3yt76Wc,21816
|
91
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=W4--Ldih7mRMnfyJ9G7kdyeoKkeebSu_5d33TJQzShU,16735
|
92
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=UnfWTfKN8DrOLpjCfWMgENJBjgNLWcRVfexbwERKY-c,8501
|
93
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=SGlBiwohTTuf7oXqO3R1lP6u7gPea8Elt1CpZU_W9Bk,21482
|
94
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py,sha256=JKfYNBCmy7n6v2fd6NyYGHI1_TJRlfDNWiZMvHrdCWU,13079
|
95
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=yP1_oy6UpwlZ7UAn9AoUYbjIJ6Z0K8crM0Xdx8EcwYE,11358
|
96
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py,sha256=ddPa8gNBYH2tWk92ymngY7M8n74J-8CEre50HISP_-g,7877
|
97
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=A7Ef8P1-Nyvsb97bumKT9W2R1LuZaY9IKFV-7iRueog,4010
|
98
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_composio_serialization.py,sha256=oVXCjkU0G56QJmqnd_xIwF3D9bhJwALFibM2wmRhwUk,3739
|
99
99
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_inline_workflow_serialization.py,sha256=Sg82qV5NCzQDy-RD90hA6QaHgFHOq6ESNkbWXygsnNw,26367
|
100
100
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_mcp_serialization.py,sha256=9ORex-okcpwbbkxEDJyyRlbPid6zLSDduK0fBfrp8kk,2415
|
101
101
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_serialization.py,sha256=-7NvpYUZEl2T15AS9MPt_scyhKmUmS3wEPa320sgWOI,10085
|
102
102
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_workflow_deployment_serialization.py,sha256=XIZZr5POo2NLn2uEWm9EC3rejeBMoO4X-JtzTH6mvp4,4074
|
103
103
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=pLCyMScV88DTBXRH7jXaXOEA1GBq8NIipCUFwIAWnwI,2771
|
104
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=
|
104
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=exT7U-axwtYgFylagScflSQLJEND51qIAx2UATju6JM,6023
|
105
105
|
vellum_ee/workflows/display/tests/workflow_serialization/test_workflow_input_parameterization_error.py,sha256=vAdmn3YTBDpo55znbydQxsgg9ASqHcvsUPwiBR_7wfo,1461
|
106
106
|
vellum_ee/workflows/display/types.py,sha256=cyZruu4sXAdHjwuFc7dydM4DcFNf-pp_CmulXItxac4,3679
|
107
107
|
vellum_ee/workflows/display/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -148,7 +148,7 @@ vellum/client/README.md,sha256=gxc7JlJRBrBZpN5LHa2ORxYTRHFLPnWmnIugN8pmQh4,5600
|
|
148
148
|
vellum/client/__init__.py,sha256=LOu_TklkJG01SgXIpPWDhOX2QvKDyd2ZbQyr5H0m31I,72349
|
149
149
|
vellum/client/core/__init__.py,sha256=lTcqUPXcx4112yLDd70RAPeqq6tu3eFMe1pKOqkW9JQ,1562
|
150
150
|
vellum/client/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
|
151
|
-
vellum/client/core/client_wrapper.py,sha256
|
151
|
+
vellum/client/core/client_wrapper.py,sha256=h3gOxYd7zfNLLRswckUQCf1CLWZjbx1I0pokwO-Ci-0,2840
|
152
152
|
vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
153
153
|
vellum/client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
154
154
|
vellum/client/core/force_multipart.py,sha256=awxh5MtcRYe74ehY8U76jzv6fYM_w_D3Rur7KQQzSDk,429
|
@@ -895,7 +895,7 @@ vellum/plugins/utils.py,sha256=cPmxE9R2CK1bki2jKE8rB-G9zMf2pzHjSPDHFPXwd3Q,878
|
|
895
895
|
vellum/plugins/vellum_mypy.py,sha256=hfjC2rIxNdQuJa6fIN4PDgODnQ3YaUszyaV2eNbLJlE,27952
|
896
896
|
vellum/prompts/__init__.py,sha256=kn-btvQOMNnnBuyQiUpie48_VBJAk7tFFU-ul5dwK60,107
|
897
897
|
vellum/prompts/blocks/__init__.py,sha256=Zwvncjd8sUCPmT-8pFpgLYsKJl0xB6td1GTQzjV9hYA,108
|
898
|
-
vellum/prompts/blocks/compilation.py,sha256=
|
898
|
+
vellum/prompts/blocks/compilation.py,sha256=mCGfqJXcKMkv565Ye5y9MsPdVAmkCGOnqQBRa3nJVg8,10754
|
899
899
|
vellum/prompts/blocks/exceptions.py,sha256=vmk5PV6Vyw9nKjZYQDUDW0LH8MfQNIgFvFb_mFWdIRI,50
|
900
900
|
vellum/prompts/blocks/helpers.py,sha256=7G1Qi6N3V1K73iqTypMTcl6Rum7wk449yHStkakLy-U,961
|
901
901
|
vellum/prompts/blocks/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1615,7 +1615,7 @@ vellum/workflows/edges/__init__.py,sha256=wSkmAnz9xyi4vZwtDbKxwlplt2skD7n3NsxkvR
|
|
1615
1615
|
vellum/workflows/edges/edge.py,sha256=N0SnY3gKVuxImPAdCbPMPlHJIXbkQ3fwq_LbJRvVMFc,677
|
1616
1616
|
vellum/workflows/emitters/__init__.py,sha256=d9QFOI3eVg6rzpSFLvrjkDYXWikf1tcp3ruTRa2Boyc,143
|
1617
1617
|
vellum/workflows/emitters/base.py,sha256=Tcp13VMB-GMwEJdl-6XTPckspdOdwpMgBx22-PcQxds,892
|
1618
|
-
vellum/workflows/emitters/vellum_emitter.py,sha256=
|
1618
|
+
vellum/workflows/emitters/vellum_emitter.py,sha256=hhMX8uXZFH2ZYHJP77uA6U4ECisacwdTBKI7papU79Y,2899
|
1619
1619
|
vellum/workflows/environment/__init__.py,sha256=TJz0m9dwIs6YOwCTeuN0HHsU-ecyjc1OJXx4AFy83EQ,121
|
1620
1620
|
vellum/workflows/environment/environment.py,sha256=Ck3RPKXJvtMGx_toqYQQQF-ZwXm5ijVwJpEPTeIJ4_Q,471
|
1621
1621
|
vellum/workflows/errors/__init__.py,sha256=tWGPu5xyAU8gRb8_bl0fL7OfU3wxQ9UH6qVwy4X4P_Q,113
|
@@ -1625,9 +1625,9 @@ vellum/workflows/events/context.py,sha256=81367zwg23PUBsrDJyF0rbcswNOIMTwWveAjmq
|
|
1625
1625
|
vellum/workflows/events/node.py,sha256=ldHK3sZtCiDwvSr935zRRY_d2KNDfS7siOfpilLr1MI,5770
|
1626
1626
|
vellum/workflows/events/stream.py,sha256=xhXJTZirFi0xad5neAQNogrIQ4h47fpnKbVC3vCM5Js,889
|
1627
1627
|
vellum/workflows/events/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1628
|
-
vellum/workflows/events/tests/test_event.py,sha256=
|
1628
|
+
vellum/workflows/events/tests/test_event.py,sha256=355RjK5F4qzDEGa4OlO5sZlCwY8Y1Z313nSAIVJpt4k,18132
|
1629
1629
|
vellum/workflows/events/types.py,sha256=3cv2r3e57yto7M4Nlobtyz9GO4bXubj4TMHSFvdECP8,4840
|
1630
|
-
vellum/workflows/events/workflow.py,sha256=
|
1630
|
+
vellum/workflows/events/workflow.py,sha256=kLYl9uF2pNmNMdbnQr5TUdWsxjUUOtyzleO3YO71DKw,8228
|
1631
1631
|
vellum/workflows/exceptions.py,sha256=NiBiR3ggfmPxBVqD-H1SqmjI-7mIn0EStSN1BqApvCM,1213
|
1632
1632
|
vellum/workflows/expressions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1633
1633
|
vellum/workflows/expressions/accessor.py,sha256=3lu1-_-dBfZdJvtX-q66jbmRAZtqIfdsh_3_JNuzg1E,4462
|
@@ -1686,7 +1686,7 @@ vellum/workflows/integrations/mcp_service.py,sha256=SaOLg76JBAiBDAMUn04mxVWmf2Bt
|
|
1686
1686
|
vellum/workflows/logging.py,sha256=_a217XogktV4Ncz6xKFz7WfYmZAzkfVRVuC0rWob8ls,437
|
1687
1687
|
vellum/workflows/nodes/__init__.py,sha256=aVdQVv7Y3Ro3JlqXGpxwaU2zrI06plDHD2aumH5WUIs,1157
|
1688
1688
|
vellum/workflows/nodes/bases/__init__.py,sha256=cniHuz_RXdJ4TQgD8CBzoiKDiPxg62ErdVpCbWICX64,58
|
1689
|
-
vellum/workflows/nodes/bases/base.py,sha256=
|
1689
|
+
vellum/workflows/nodes/bases/base.py,sha256=9vOPHP6K6oK36bEby1KFRXpMevMwq6slwuSRhC-bWFc,20752
|
1690
1690
|
vellum/workflows/nodes/bases/base_adornment_node.py,sha256=hrgzuTetM4ynPd9YGHoK8Vwwn4XITi3aZZ_OCnQrq4Y,3433
|
1691
1691
|
vellum/workflows/nodes/bases/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1692
1692
|
vellum/workflows/nodes/bases/tests/test_base_adornment_node.py,sha256=fXZI9KqpS4XMBrBnIEkK3foHaBVvyHwYcQWWDKay7ic,1148
|
@@ -1697,7 +1697,7 @@ vellum/workflows/nodes/core/error_node/node.py,sha256=MFHU5vITYSK-L9CuMZ49In2ZeN
|
|
1697
1697
|
vellum/workflows/nodes/core/inline_subworkflow_node/__init__.py,sha256=nKNEH1QTl-1PcvmYoqSWEl0-t6gAur8GLTXHzklRQfM,84
|
1698
1698
|
vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=TCmO0wPbt7kc89K1iGqeeoZy-yn1z0iioYSSN6mErdY,6997
|
1699
1699
|
vellum/workflows/nodes/core/inline_subworkflow_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1700
|
-
vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py,sha256=
|
1700
|
+
vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py,sha256=RK2g1h2ib-ruQZ9A2_2L-B9WBdHV44WZj75rkDNL0cE,5766
|
1701
1701
|
vellum/workflows/nodes/core/map_node/__init__.py,sha256=MXpZYmGfhsMJHqqlpd64WiJRtbAtAMQz-_3fCU_cLV0,56
|
1702
1702
|
vellum/workflows/nodes/core/map_node/node.py,sha256=rbF7fLAU0vUDEpgtWqeQTZFlhWOhJw38tgxWJ6exud8,9313
|
1703
1703
|
vellum/workflows/nodes/core/map_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1734,7 +1734,7 @@ vellum/workflows/nodes/displayable/bases/search_node.py,sha256=9TtFn6oNpEkpCL59Q
|
|
1734
1734
|
vellum/workflows/nodes/displayable/bases/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1735
1735
|
vellum/workflows/nodes/displayable/bases/tests/test_utils.py,sha256=eqdqbKNRWVMDPevgwLg1i6YK0g4L4bCy-7xCBN5yYZI,3156
|
1736
1736
|
vellum/workflows/nodes/displayable/bases/types.py,sha256=C37B2Qh2YP7s7pUjd-EYKc2Zl1TbnCgI_mENuUSb8bo,1706
|
1737
|
-
vellum/workflows/nodes/displayable/bases/utils.py,sha256=
|
1737
|
+
vellum/workflows/nodes/displayable/bases/utils.py,sha256=lHlb_76bzC3FI6C3ZS3pq6LFhX8AuP6I5pIma_4FEfc,5700
|
1738
1738
|
vellum/workflows/nodes/displayable/code_execution_node/__init__.py,sha256=0FLWMMktpzSnmBMizQglBpcPrP80fzVsoJwJgf822Cg,76
|
1739
1739
|
vellum/workflows/nodes/displayable/code_execution_node/node.py,sha256=cCpZPna1Exw060KlI8j3oMCfru1GCzUFJz9ucWdcZVM,10311
|
1740
1740
|
vellum/workflows/nodes/displayable/code_execution_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1771,7 +1771,7 @@ vellum/workflows/nodes/displayable/search_node/node.py,sha256=1dGCB1kb7MvX3fUJ5z
|
|
1771
1771
|
vellum/workflows/nodes/displayable/search_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1772
1772
|
vellum/workflows/nodes/displayable/search_node/tests/test_node.py,sha256=WVZR3BI_CvxBG9hulv0-tcAc_gW5ozs0nH4uVNRJa2U,8863
|
1773
1773
|
vellum/workflows/nodes/displayable/subworkflow_deployment_node/__init__.py,sha256=9yYM6001YZeqI1VOk1QuEM_yrffk_EdsO7qaPzINKds,92
|
1774
|
-
vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=
|
1774
|
+
vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=1wgjZiuRjcSgyMOrZTEuvUu1K3sVp0BuvHV72XPeit8,13785
|
1775
1775
|
vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1776
1776
|
vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/test_node.py,sha256=c98nMPogZ6iN_pTvVUMTB3J72Hj--H-XVgvvRXhdSQE,19085
|
1777
1777
|
vellum/workflows/nodes/displayable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1780,13 +1780,13 @@ vellum/workflows/nodes/displayable/tests/test_search_node_error_handling.py,sha2
|
|
1780
1780
|
vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=VepO5z1277c1y5N6LLIC31nnWD1aak2m5oPFplfJHHs,6935
|
1781
1781
|
vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=Bjv-wZyFgNaVZb9KEMMZd9lFoLzbPEPjEMpANizMZw4,2413
|
1782
1782
|
vellum/workflows/nodes/displayable/tool_calling_node/__init__.py,sha256=3n0-ysmFKsr40CVxPthc0rfJgqVJeZuUEsCmYudLVRg,117
|
1783
|
-
vellum/workflows/nodes/displayable/tool_calling_node/node.py,sha256=
|
1783
|
+
vellum/workflows/nodes/displayable/tool_calling_node/node.py,sha256=diAm1hJ4ZywdRmwZAYhBq_TjmCsUt_qc6ew7tywV1rs,7840
|
1784
1784
|
vellum/workflows/nodes/displayable/tool_calling_node/state.py,sha256=CcBVb_YtwfSSka4ze678k6-qwmzMSfjfVP8_Y95feSo,302
|
1785
1785
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1786
1786
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_composio_service.py,sha256=in1fbEz5x1tx3uKv9YXdvOncsHucNL8Ro6Go7lBuuOQ,8962
|
1787
|
-
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py,sha256=
|
1788
|
-
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_utils.py,sha256=
|
1789
|
-
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=
|
1787
|
+
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py,sha256=GZoeybB9uM7ai8sBLAtUMHrMVgh-WrJDWrKZci6feDs,11892
|
1788
|
+
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_utils.py,sha256=SIu5GCj4tIE4fz-cAcdULtQfqZIhrcc3Doo6TWLXBws,8804
|
1789
|
+
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=7pM6MH3Z7r0k7Kpr3d-26QXUo_4GrxLflKwFTxRPREY,22844
|
1790
1790
|
vellum/workflows/nodes/experimental/README.md,sha256=eF6DfIL8t-HbF9-mcofOMymKrraiBHDLKTlnBa51ZiE,284
|
1791
1791
|
vellum/workflows/nodes/experimental/__init__.py,sha256=jCQgvZEknXKfuNhGSOou4XPfrPqZ1_XBj5F0n0fgiWM,106
|
1792
1792
|
vellum/workflows/nodes/experimental/openai_chat_completion_node/__init__.py,sha256=lsyD9laR9p7kx5-BXGH2gUTM242UhKy8SMV0SR6S2iE,90
|
@@ -1800,7 +1800,7 @@ vellum/workflows/outputs/__init__.py,sha256=AyZ4pRh_ACQIGvkf0byJO46EDnSix1ZCAXfv
|
|
1800
1800
|
vellum/workflows/outputs/base.py,sha256=PUn0zhGzYCSZL34JXtXg9zALlXS_cqxZldLilPxDzb8,9614
|
1801
1801
|
vellum/workflows/ports/__init__.py,sha256=bZuMt-R7z5bKwpu4uPW7LlJeePOQWmCcDSXe5frUY5g,101
|
1802
1802
|
vellum/workflows/ports/node_ports.py,sha256=2Uo9gwNVCuH86J-GXcpc95QSDh5I-XVvhHJCMSWe-S8,2825
|
1803
|
-
vellum/workflows/ports/port.py,sha256
|
1803
|
+
vellum/workflows/ports/port.py,sha256=-ogEg96yK38D9eRJ-JBwgSS7tOIhtVWGHlNBqYolwkw,3659
|
1804
1804
|
vellum/workflows/ports/utils.py,sha256=gD8iijX8D3tjx1Tj2FW8-QIubCphTqW_gqROt6w6MOM,3790
|
1805
1805
|
vellum/workflows/references/__init__.py,sha256=glHFC1VfXmcbNvH5VzFbkT03d8_D7MMcvEcsUBrzLIs,591
|
1806
1806
|
vellum/workflows/references/constant.py,sha256=6yUT4q1sMj1hkI_tzzQ9AYcmeeDYFUNCqUq_W2DN0S8,540
|
@@ -1822,7 +1822,7 @@ vellum/workflows/runner/runner.py,sha256=sADrp593ia4auJ8fIP6jc5na3b5WaTvvBdjpkTt
|
|
1822
1822
|
vellum/workflows/sandbox.py,sha256=jwlFFQjHDwmbVoBah_Q3i8K_BrzOt-F6TXFauiyVyIk,3021
|
1823
1823
|
vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
|
1824
1824
|
vellum/workflows/state/base.py,sha256=m9fCqbZn21GshCVCjJTD1dPZEQjFrsMXqlg7tM9fIwM,24283
|
1825
|
-
vellum/workflows/state/context.py,sha256=
|
1825
|
+
vellum/workflows/state/context.py,sha256=6ToLxjwz106U5UFXtFXR9-mjvzZun0UaMkbSm8wwZ-c,5670
|
1826
1826
|
vellum/workflows/state/delta.py,sha256=7h8wR10lRCm15SykaPj-gSEvvsMjCwYLPsOx3nsvBQg,440
|
1827
1827
|
vellum/workflows/state/encoder.py,sha256=HdNlabmBOcFSeY_dgn4LNtQEugyzsw3p4mvn2ChC1Io,3380
|
1828
1828
|
vellum/workflows/state/store.py,sha256=uVe-oN73KwGV6M6YLhwZMMUQhzTQomsVfVnb8V91gVo,1147
|
@@ -1834,7 +1834,7 @@ vellum/workflows/tests/test_undefined.py,sha256=zMCVliCXVNLrlC6hEGyOWDnQADJ2g83y
|
|
1834
1834
|
vellum/workflows/types/__init__.py,sha256=KxUTMBGzuRCfiMqzzsykOeVvrrkaZmTTo1a7SLu8gRM,68
|
1835
1835
|
vellum/workflows/types/code_execution_node_wrappers.py,sha256=3MNIoFZKzVzNS5qFLVuDwMV17QJw72zo7NRf52yMq5A,3074
|
1836
1836
|
vellum/workflows/types/core.py,sha256=TggDVs2lVya33xvu374EDhMC1b7RRlAAs0zWLaF46BA,1385
|
1837
|
-
vellum/workflows/types/definition.py,sha256=
|
1837
|
+
vellum/workflows/types/definition.py,sha256=AiiA1tg7RUpcX3d4xy6GhOET65ZPDq7ushM8T1B06Fo,4909
|
1838
1838
|
vellum/workflows/types/generics.py,sha256=8jptbEx1fnJV0Lhj0MpCJOT6yNiEWeTOYOwrEAb5CRU,1576
|
1839
1839
|
vellum/workflows/types/stack.py,sha256=h7NE0vXR7l9DevFBIzIAk1Zh59K-kECQtDTKOUunwMY,1314
|
1840
1840
|
vellum/workflows/types/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1852,16 +1852,16 @@ vellum/workflows/utils/tests/test_names.py,sha256=aOqpyvMsOEK_9mg_-yaNxQDW7QQfwq
|
|
1852
1852
|
vellum/workflows/utils/tests/test_uuids.py,sha256=i77ABQ0M3S-aFLzDXHJq_yr5FPkJEWCMBn1HJ3DObrE,437
|
1853
1853
|
vellum/workflows/utils/tests/test_vellum_variables.py,sha256=vbnKgm41aB5OXlO-ZIPbhQ6xDiZkT8KMxCLqz4zocWY,1791
|
1854
1854
|
vellum/workflows/utils/uuids.py,sha256=DFzPv9RCvsKhvdTEIQyfSek2A31D6S_QcmeLPbgrgTY,739
|
1855
|
-
vellum/workflows/utils/vellum_variables.py,sha256
|
1855
|
+
vellum/workflows/utils/vellum_variables.py,sha256=-CohqD3AeyCYzqwyrPZ7mt_lt7ibWLyx0MuS484feJk,5503
|
1856
1856
|
vellum/workflows/vellum_client.py,sha256=xkfoucodxNK5JR2-lbRqZx3xzDgExWkP6kySrpi_Ubc,1079
|
1857
1857
|
vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
|
1858
|
-
vellum/workflows/workflows/base.py,sha256=
|
1858
|
+
vellum/workflows/workflows/base.py,sha256=TPsdIj8bcMZikytxIJd-wyS7TGSf1FkAQnfVkf6zSrI,27393
|
1859
1859
|
vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnadGsrSZGa7t7LpJA,2008
|
1860
1860
|
vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1861
1861
|
vellum/workflows/workflows/tests/test_base_workflow.py,sha256=ptMntHzVyy8ZuzNgeTuk7hREgKQ5UBdgq8VJFSGaW4Y,20832
|
1862
1862
|
vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
|
1863
|
-
vellum_ai-1.2.
|
1864
|
-
vellum_ai-1.2.
|
1865
|
-
vellum_ai-1.2.
|
1866
|
-
vellum_ai-1.2.
|
1867
|
-
vellum_ai-1.2.
|
1863
|
+
vellum_ai-1.2.2.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
|
1864
|
+
vellum_ai-1.2.2.dist-info/METADATA,sha256=7WZjTaQIebzPDryrIbPmVwD4iETt2g-r_GLQQzXkkhI,5547
|
1865
|
+
vellum_ai-1.2.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1866
|
+
vellum_ai-1.2.2.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
|
1867
|
+
vellum_ai-1.2.2.dist-info/RECORD,,
|
@@ -183,8 +183,6 @@ class BaseNodeDisplay(Generic[NodeType], metaclass=BaseNodeDisplayMeta):
|
|
183
183
|
existing_adornments = adornments if adornments is not None else []
|
184
184
|
return display_class().serialize(display_context, adornments=existing_adornments + [adornment])
|
185
185
|
|
186
|
-
ports = self.serialize_ports(display_context)
|
187
|
-
|
188
186
|
outputs: JsonArray = []
|
189
187
|
for output in node.Outputs:
|
190
188
|
type = primitive_type_to_vellum_variable_type(output)
|
@@ -207,14 +205,7 @@ class BaseNodeDisplay(Generic[NodeType], metaclass=BaseNodeDisplayMeta):
|
|
207
205
|
"id": str(node_id),
|
208
206
|
"label": self.label,
|
209
207
|
"type": "GENERIC",
|
210
|
-
|
211
|
-
"base": self.get_base().dict(),
|
212
|
-
"definition": self.get_definition().dict(),
|
213
|
-
"trigger": {
|
214
|
-
"id": str(self.get_target_handle_id()),
|
215
|
-
"merge_behavior": node.Trigger.merge_behavior.value,
|
216
|
-
},
|
217
|
-
"ports": ports,
|
208
|
+
**self.serialize_generic_fields(display_context),
|
218
209
|
"adornments": adornments,
|
219
210
|
"attributes": attributes,
|
220
211
|
"outputs": outputs,
|
@@ -247,6 +238,14 @@ class BaseNodeDisplay(Generic[NodeType], metaclass=BaseNodeDisplayMeta):
|
|
247
238
|
|
248
239
|
return ports
|
249
240
|
|
241
|
+
def serialize_trigger(self) -> JsonObject:
|
242
|
+
"""Serialize the trigger of the node."""
|
243
|
+
node = self._node
|
244
|
+
return {
|
245
|
+
"id": str(self.get_target_handle_id()),
|
246
|
+
"merge_behavior": node.Trigger.merge_behavior.value,
|
247
|
+
}
|
248
|
+
|
250
249
|
def _serialize_attributes(self, display_context: "WorkflowDisplayContext") -> JsonArray:
|
251
250
|
"""Serialize node attributes, skipping unserializable ones."""
|
252
251
|
attributes: JsonArray = []
|
@@ -271,6 +270,16 @@ class BaseNodeDisplay(Generic[NodeType], metaclass=BaseNodeDisplayMeta):
|
|
271
270
|
|
272
271
|
return attributes
|
273
272
|
|
273
|
+
def serialize_generic_fields(self, display_context: "WorkflowDisplayContext") -> JsonObject:
|
274
|
+
"""Serialize generic fields that are common to all nodes."""
|
275
|
+
return {
|
276
|
+
"display_data": self.get_display_data().dict(),
|
277
|
+
"base": self.get_base().dict(),
|
278
|
+
"definition": self.get_definition().dict(),
|
279
|
+
"trigger": self.serialize_trigger(),
|
280
|
+
"ports": self.serialize_ports(display_context),
|
281
|
+
}
|
282
|
+
|
274
283
|
def get_base(self) -> CodeResourceDefinition:
|
275
284
|
node = self._node
|
276
285
|
|
@@ -213,10 +213,7 @@ class BaseAPINodeDisplay(BaseNodeDisplay[_APINodeType], Generic[_APINodeType]):
|
|
213
213
|
"json_output_id": str(json_output_display.id),
|
214
214
|
"status_code_output_id": str(status_code_output_display.id),
|
215
215
|
},
|
216
|
-
|
217
|
-
"base": self.get_base().dict(),
|
218
|
-
"definition": self.get_definition().dict(),
|
219
|
-
"ports": self.serialize_ports(display_context),
|
216
|
+
**self.serialize_generic_fields(display_context),
|
220
217
|
}
|
221
218
|
|
222
219
|
attributes = self._serialize_attributes(display_context)
|
@@ -103,8 +103,5 @@ class BaseCodeExecutionNodeDisplay(BaseNodeDisplay[_CodeExecutionNodeType], Gene
|
|
103
103
|
"output_id": str(self.output_id) if self.output_id else str(output_display.id),
|
104
104
|
"log_output_id": str(self.log_output_id) if self.log_output_id else str(log_output_display.id),
|
105
105
|
},
|
106
|
-
|
107
|
-
"base": self.get_base().dict(),
|
108
|
-
"definition": self.get_definition().dict(),
|
109
|
-
"ports": self.serialize_ports(display_context),
|
106
|
+
**self.serialize_generic_fields(display_context),
|
110
107
|
}
|
@@ -217,10 +217,7 @@ but the defined conditions have length {len(condition_ids)}"""
|
|
217
217
|
"conditions": conditions, # type: ignore
|
218
218
|
"version": "2",
|
219
219
|
},
|
220
|
-
|
221
|
-
"base": self.get_base().dict(),
|
222
|
-
"definition": self.get_definition().dict(),
|
223
|
-
"ports": self.serialize_ports(display_context),
|
220
|
+
**self.serialize_generic_fields(display_context),
|
224
221
|
}
|
225
222
|
|
226
223
|
def get_nested_rule_details_by_path(
|
@@ -2,7 +2,7 @@ from uuid import UUID
|
|
2
2
|
from typing import Any, ClassVar, Generic, Optional, TypeVar
|
3
3
|
|
4
4
|
from vellum.workflows.nodes import ErrorNode
|
5
|
-
from vellum.workflows.types.core import JsonObject
|
5
|
+
from vellum.workflows.types.core import JsonArray, JsonObject
|
6
6
|
from vellum_ee.workflows.display.nodes.base_node_display import BaseNodeDisplay
|
7
7
|
from vellum_ee.workflows.display.nodes.utils import raise_if_descriptor
|
8
8
|
from vellum_ee.workflows.display.nodes.vellum.utils import create_node_input
|
@@ -20,6 +20,10 @@ class BaseErrorNodeDisplay(BaseNodeDisplay[_ErrorNodeType], Generic[_ErrorNodeTy
|
|
20
20
|
|
21
21
|
__serializable_inputs__ = {ErrorNode.error}
|
22
22
|
|
23
|
+
def serialize_ports(self, display_context: "WorkflowDisplayContext") -> JsonArray:
|
24
|
+
"""Error nodes have no ports."""
|
25
|
+
return []
|
26
|
+
|
23
27
|
def serialize(self, display_context: WorkflowDisplayContext, **_kwargs) -> JsonObject:
|
24
28
|
node_id = self.node_id
|
25
29
|
error_source_input_id = self.node_input_ids_by_name.get(
|
@@ -47,9 +51,7 @@ class BaseErrorNodeDisplay(BaseNodeDisplay[_ErrorNodeType], Generic[_ErrorNodeTy
|
|
47
51
|
"target_handle_id": str(self.get_target_handle_id()),
|
48
52
|
"error_source_input_id": str(error_source_input_id),
|
49
53
|
},
|
50
|
-
|
51
|
-
"base": self.get_base().dict(),
|
52
|
-
"definition": self.get_definition().dict(),
|
54
|
+
**self.serialize_generic_fields(display_context),
|
53
55
|
}
|
54
56
|
|
55
57
|
if self.name:
|
@@ -2,7 +2,7 @@ from uuid import UUID
|
|
2
2
|
from typing import ClassVar, Generic, Optional, TypeVar
|
3
3
|
|
4
4
|
from vellum.workflows.nodes.displayable.final_output_node import FinalOutputNode
|
5
|
-
from vellum.workflows.types.core import JsonObject
|
5
|
+
from vellum.workflows.types.core import JsonArray, JsonObject
|
6
6
|
from vellum.workflows.utils.uuids import uuid4_from_hash
|
7
7
|
from vellum_ee.workflows.display.nodes.base_node_display import BaseNodeDisplay
|
8
8
|
from vellum_ee.workflows.display.nodes.utils import to_kebab_case
|
@@ -19,6 +19,10 @@ NODE_INPUT_KEY = "node_input"
|
|
19
19
|
class BaseFinalOutputNodeDisplay(BaseNodeDisplay[_FinalOutputNodeType], Generic[_FinalOutputNodeType]):
|
20
20
|
output_name: ClassVar[Optional[str]] = None
|
21
21
|
|
22
|
+
def serialize_ports(self, display_context: "WorkflowDisplayContext") -> JsonArray:
|
23
|
+
"""Final output nodes have no ports."""
|
24
|
+
return []
|
25
|
+
|
22
26
|
def serialize(self, display_context: WorkflowDisplayContext, **_kwargs) -> JsonObject:
|
23
27
|
node = self._node
|
24
28
|
node_id = self.node_id
|
@@ -45,9 +49,7 @@ class BaseFinalOutputNodeDisplay(BaseNodeDisplay[_FinalOutputNodeType], Generic[
|
|
45
49
|
"node_input_id": str(node_input.id),
|
46
50
|
},
|
47
51
|
"inputs": [node_input.dict()],
|
48
|
-
|
49
|
-
"base": self.get_base().dict(),
|
50
|
-
"definition": self.get_definition().dict(),
|
52
|
+
**self.serialize_generic_fields(display_context),
|
51
53
|
"outputs": [
|
52
54
|
{
|
53
55
|
"id": str(self._get_output_id()),
|
@@ -45,8 +45,5 @@ class BaseGuardrailNodeDisplay(BaseNodeDisplay[_GuardrailNodeType], Generic[_Gua
|
|
45
45
|
"metric_definition_id": str(raise_if_descriptor(node.metric_definition)),
|
46
46
|
"release_tag": raise_if_descriptor(node.release_tag),
|
47
47
|
},
|
48
|
-
|
49
|
-
"base": self.get_base().dict(),
|
50
|
-
"definition": self.get_definition().dict(),
|
51
|
-
"ports": self.serialize_ports(display_context),
|
48
|
+
**self.serialize_generic_fields(display_context),
|
52
49
|
}
|
@@ -109,19 +109,12 @@ class BaseInlinePromptNodeDisplay(BaseNodeDisplay[_InlinePromptNodeType], Generi
|
|
109
109
|
},
|
110
110
|
"ml_model_name": ml_model,
|
111
111
|
},
|
112
|
-
|
113
|
-
"base": self.get_base().dict(),
|
114
|
-
"definition": self.get_definition().dict(),
|
115
|
-
"trigger": {
|
116
|
-
"id": str(self.get_target_handle_id()),
|
117
|
-
"merge_behavior": node.Trigger.merge_behavior.value,
|
118
|
-
},
|
112
|
+
**self.serialize_generic_fields(display_context),
|
119
113
|
"outputs": [
|
120
114
|
{"id": str(json_display.id), "name": "json", "type": "JSON", "value": None},
|
121
115
|
{"id": str(output_display.id), "name": "text", "type": "STRING", "value": None},
|
122
116
|
{"id": str(array_display.id), "name": "results", "type": "ARRAY", "value": None},
|
123
117
|
],
|
124
|
-
"ports": self.serialize_ports(display_context),
|
125
118
|
}
|
126
119
|
attributes = self._serialize_attributes(display_context)
|
127
120
|
if attributes:
|
@@ -55,10 +55,7 @@ class BaseInlineSubworkflowNodeDisplay(
|
|
55
55
|
"input_variables": [workflow_input.dict() for workflow_input in workflow_inputs],
|
56
56
|
"output_variables": [workflow_output.dict() for workflow_output in workflow_outputs],
|
57
57
|
},
|
58
|
-
|
59
|
-
"base": self.get_base().dict(),
|
60
|
-
"definition": self.get_definition().dict(),
|
61
|
-
"ports": self.serialize_ports(display_context),
|
58
|
+
**self.serialize_generic_fields(display_context),
|
62
59
|
}
|
63
60
|
|
64
61
|
def _generate_node_and_workflow_inputs(
|
@@ -79,8 +79,5 @@ class BaseMapNodeDisplay(BaseAdornmentNodeDisplay[_MapNodeType], Generic[_MapNod
|
|
79
79
|
"item_input_id": item_workflow_input_id,
|
80
80
|
"index_input_id": index_workflow_input_id,
|
81
81
|
},
|
82
|
-
|
83
|
-
"base": self.get_base().dict(),
|
84
|
-
"definition": self.get_definition().dict(),
|
85
|
-
"ports": self.serialize_ports(display_context),
|
82
|
+
**self.serialize_generic_fields(display_context),
|
86
83
|
}
|
@@ -47,10 +47,7 @@ class BaseMergeNodeDisplay(BaseNodeDisplay[_MergeNodeType], Generic[_MergeNodeTy
|
|
47
47
|
"target_handles": [{"id": str(target_handle_id)} for target_handle_id in target_handle_ids],
|
48
48
|
"source_handle_id": str(self.get_source_handle_id(display_context.port_displays)),
|
49
49
|
},
|
50
|
-
|
51
|
-
"base": self.get_base().dict(),
|
52
|
-
"definition": self.get_definition().dict(),
|
53
|
-
"ports": self.serialize_ports(display_context),
|
50
|
+
**self.serialize_generic_fields(display_context),
|
54
51
|
}
|
55
52
|
|
56
53
|
def get_target_handle_ids(self) -> Optional[List[UUID]]:
|
@@ -13,7 +13,7 @@ class BaseNoteNodeDisplay(BaseNodeDisplay[_NoteNodeType], Generic[_NoteNodeType]
|
|
13
13
|
style: ClassVar[Union[Dict[str, Any], None]] = None
|
14
14
|
|
15
15
|
def serialize(self, display_context: WorkflowDisplayContext, **kwargs: Any) -> JsonObject:
|
16
|
-
del
|
16
|
+
del kwargs # Unused parameters
|
17
17
|
node_id = self.node_id
|
18
18
|
|
19
19
|
return {
|
@@ -25,7 +25,5 @@ class BaseNoteNodeDisplay(BaseNodeDisplay[_NoteNodeType], Generic[_NoteNodeType]
|
|
25
25
|
"text": self.text,
|
26
26
|
"style": self.style,
|
27
27
|
},
|
28
|
-
|
29
|
-
"base": self.get_base().dict(),
|
30
|
-
"definition": self.get_definition().dict(),
|
28
|
+
**self.serialize_generic_fields(display_context),
|
31
29
|
}
|
@@ -64,10 +64,7 @@ class BasePromptDeploymentNodeDisplay(BaseNodeDisplay[_PromptDeploymentNodeType]
|
|
64
64
|
"release_tag": raise_if_descriptor(node.release_tag),
|
65
65
|
"ml_model_fallbacks": list(ml_model_fallbacks) if ml_model_fallbacks else None,
|
66
66
|
},
|
67
|
-
|
68
|
-
"base": self.get_base().dict(),
|
69
|
-
"definition": self.get_definition().dict(),
|
70
|
-
"ports": self.serialize_ports(display_context),
|
67
|
+
**self.serialize_generic_fields(display_context),
|
71
68
|
"outputs": [
|
72
69
|
{"id": str(json_display.id), "name": "json", "type": "JSON", "value": None},
|
73
70
|
{"id": str(output_display.id), "name": "text", "type": "STRING", "value": None},
|
@@ -74,10 +74,7 @@ class BaseSearchNodeDisplay(BaseNodeDisplay[_SearchNodeType], Generic[_SearchNod
|
|
74
74
|
"external_id_filters_node_input_id": str(node_inputs["external_id_filters"].id),
|
75
75
|
"metadata_filters_node_input_id": str(node_inputs["metadata_filters"].id),
|
76
76
|
},
|
77
|
-
|
78
|
-
"base": self.get_base().dict(),
|
79
|
-
"definition": self.get_definition().dict(),
|
80
|
-
"ports": self.serialize_ports(display_context),
|
77
|
+
**self.serialize_generic_fields(display_context),
|
81
78
|
}
|
82
79
|
|
83
80
|
def _generate_search_node_inputs(
|
@@ -61,8 +61,5 @@ class BaseSubworkflowDeploymentNodeDisplay(
|
|
61
61
|
"workflow_deployment_id": str(deployment.id),
|
62
62
|
"release_tag": raise_if_descriptor(node.release_tag),
|
63
63
|
},
|
64
|
-
|
65
|
-
"base": self.get_base().dict(),
|
66
|
-
"definition": self.get_definition().dict(),
|
67
|
-
"ports": self.serialize_ports(display_context),
|
64
|
+
**self.serialize_generic_fields(display_context),
|
68
65
|
}
|
@@ -66,8 +66,5 @@ class BaseTemplatingNodeDisplay(BaseNodeDisplay[_TemplatingNodeType], Generic[_T
|
|
66
66
|
"template_node_input_id": str(template_node_input.id),
|
67
67
|
"output_type": inferred_output_type,
|
68
68
|
},
|
69
|
-
|
70
|
-
"base": self.get_base().dict(),
|
71
|
-
"definition": self.get_definition().dict(),
|
72
|
-
"ports": self.serialize_ports(display_context),
|
69
|
+
**self.serialize_generic_fields(display_context),
|
73
70
|
}
|
@@ -251,6 +251,7 @@ def test_serialize_node__with_non_exist_code_input_path_with_dry_run():
|
|
251
251
|
],
|
252
252
|
},
|
253
253
|
"ports": [{"id": "7afa3858-f50c-4116-936a-a401e3b2c60f", "name": "default", "type": "DEFAULT"}],
|
254
|
+
"trigger": {"id": "3a39ea63-9f86-4891-a902-0216a7190720", "merge_behavior": "AWAIT_ANY"},
|
254
255
|
},
|
255
256
|
],
|
256
257
|
"edges": [
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py
CHANGED
@@ -203,6 +203,10 @@ def test_serialize_workflow(vellum_client):
|
|
203
203
|
"name": "SimpleAPINode",
|
204
204
|
"module": ["tests", "workflows", "basic_api_node", "workflow"],
|
205
205
|
},
|
206
|
+
"trigger": {
|
207
|
+
"id": "14b538a5-aedb-41f3-b579-039956b7c7ed",
|
208
|
+
"merge_behavior": "AWAIT_ANY",
|
209
|
+
},
|
206
210
|
"ports": [{"id": "7c33b4d3-9204-4bd5-9371-80ee34f83073", "name": "default", "type": "DEFAULT"}],
|
207
211
|
},
|
208
212
|
api_node,
|