vellum-ai 1.7.11__py3-none-any.whl → 1.7.13__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.
Potentially problematic release.
This version of vellum-ai might be problematic. Click here for more details.
- vellum/__init__.py +2 -0
- vellum/client/core/client_wrapper.py +2 -2
- vellum/client/types/__init__.py +2 -0
- vellum/client/types/auth_type_enum.py +5 -0
- vellum/client/types/integration_name.py +4 -0
- vellum/client/types/slim_integration_auth_config_read.py +2 -0
- vellum/client/types/slim_workflow_execution_read.py +3 -3
- vellum/client/types/vellum_error_code_enum.py +1 -0
- vellum/client/types/vellum_sdk_error_code_enum.py +1 -0
- vellum/client/types/workflow_event_execution_read.py +3 -3
- vellum/client/types/workflow_execution_event_error_code.py +1 -0
- vellum/client/types/workflow_execution_snapshotted_body.py +1 -0
- vellum/types/auth_type_enum.py +3 -0
- vellum/workflows/events/workflow.py +18 -2
- vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py +3 -0
- vellum/workflows/nodes/displayable/inline_prompt_node/tests/test_node.py +3 -0
- vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py +52 -0
- vellum/workflows/nodes/displayable/tool_calling_node/utils.py +2 -0
- vellum/workflows/references/trigger.py +3 -9
- vellum/workflows/runner/runner.py +14 -8
- vellum/workflows/tests/triggers/test_vellum_integration_trigger.py +134 -176
- vellum/workflows/triggers/__init__.py +1 -2
- vellum/workflows/triggers/tests/test_integration.py +2 -2
- vellum/workflows/triggers/vellum_integration.py +133 -141
- vellum/workflows/types/trigger_exec_config.py +8 -11
- vellum/workflows/utils/uuids.py +33 -0
- {vellum_ai-1.7.11.dist-info → vellum_ai-1.7.13.dist-info}/METADATA +1 -1
- {vellum_ai-1.7.11.dist-info → vellum_ai-1.7.13.dist-info}/RECORD +34 -35
- vellum_ee/workflows/display/base.py +1 -3
- vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py +3 -1
- vellum_ee/workflows/display/workflows/base_workflow_display.py +14 -7
- vellum/workflows/triggers/slack.py +0 -101
- vellum/workflows/triggers/tests/test_slack.py +0 -180
- vellum_ee/workflows/display/tests/workflow_serialization/test_slack_trigger_serialization.py +0 -52
- {vellum_ai-1.7.11.dist-info → vellum_ai-1.7.13.dist-info}/LICENSE +0 -0
- {vellum_ai-1.7.11.dist-info → vellum_ai-1.7.13.dist-info}/WHEEL +0 -0
- {vellum_ai-1.7.11.dist-info → vellum_ai-1.7.13.dist-info}/entry_points.txt +0 -0
|
@@ -27,7 +27,7 @@ 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=wlvMJzOsA8UDHm-dSkaRzS3MwFUfFbj3qswQcHYpx_0,2638
|
|
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
|
|
@@ -46,7 +46,7 @@ vellum_ee/workflows/display/nodes/vellum/conditional_node.py,sha256=lzYPDO7JRdIK
|
|
|
46
46
|
vellum_ee/workflows/display/nodes/vellum/error_node.py,sha256=BXNgRk9YY6CZT056ManeIqsJbEnkDui_JPe47Xy6VVw,2287
|
|
47
47
|
vellum_ee/workflows/display/nodes/vellum/final_output_node.py,sha256=SPMrXqDIJ_YBlnjjdF5ymH5stPkp4apyCLYRBjJep9M,3021
|
|
48
48
|
vellum_ee/workflows/display/nodes/vellum/guardrail_node.py,sha256=gNa5COUKKO1VioJAg2ZWxpNKbY5aAfHN9QYAcS2HJF0,2194
|
|
49
|
-
vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=
|
|
49
|
+
vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=KB2Zfa50COVxUSv4LJ0-UaL9sPXHa5Xvqtx-nracReQ,12243
|
|
50
50
|
vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=ocpe8sHbievEqUix4a7psjFvTrjGBuGrzz_uGU1wnPw,6461
|
|
51
51
|
vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=LZHY8XZLzHHWUQdk70KHOLMJb17jeZVjvy7VAWP8wzg,4318
|
|
52
52
|
vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=S39Oo8PXHbvSwOjtFcXE-Cg4Dey6GveNtR0wQnzUQ34,3137
|
|
@@ -112,7 +112,6 @@ vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_n
|
|
|
112
112
|
vellum_ee/workflows/display/tests/workflow_serialization/test_final_output_node_map_reference_serialization.py,sha256=vl3pxUJlrYRA8zzFJ-gRm7fe-5fviLNSIsUC7imnMqk,3502
|
|
113
113
|
vellum_ee/workflows/display/tests/workflow_serialization/test_list_vellum_document_serialization.py,sha256=ZRcDhOSVKFHvt_rBkNSL7j3VLeWKQbH-KRoJWrtWD2s,2193
|
|
114
114
|
vellum_ee/workflows/display/tests/workflow_serialization/test_manual_trigger_serialization.py,sha256=L4bJWW94eq5cl6pjIaX7pQrDHoF67Gudfx-41dmmd10,2330
|
|
115
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_slack_trigger_serialization.py,sha256=HCZKF2_wOrn05s94PKWBP8cLl6Uw8j3y7Ec83xxQfLM,2258
|
|
116
115
|
vellum_ee/workflows/display/tests/workflow_serialization/test_terminal_node_any_serialization.py,sha256=4WAmSEJZlDBLPhsD1f4GwY9ahB9F6qJKGnL6j7ZYlzQ,1740
|
|
117
116
|
vellum_ee/workflows/display/tests/workflow_serialization/test_web_search_node_serialization.py,sha256=vbDFBrWUPeeW7cxjNA6SXrsHlYcbOAhlQ4C45Vdnr1c,3428
|
|
118
117
|
vellum_ee/workflows/display/tests/workflow_serialization/test_workflow_input_parameterization_error.py,sha256=vAdmn3YTBDpo55znbydQxsgg9ASqHcvsUPwiBR_7wfo,1461
|
|
@@ -129,7 +128,7 @@ vellum_ee/workflows/display/utils/tests/test_events.py,sha256=gjC_p3UuAbRANLbQbo
|
|
|
129
128
|
vellum_ee/workflows/display/utils/vellum.py,sha256=Bt7kdLdXoBsHn5dVEY2uKcF542VL09jwu8J_30rl2vk,6413
|
|
130
129
|
vellum_ee/workflows/display/vellum.py,sha256=J2mdJZ1sdLW535DDUkq_Vm8Z572vhuxHxVZF9deKSdk,391
|
|
131
130
|
vellum_ee/workflows/display/workflows/__init__.py,sha256=JTB9ObEV3l4gGGdtfBHwVJtTTKC22uj-a-XjTVwXCyA,148
|
|
132
|
-
vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=
|
|
131
|
+
vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=8WfIwmTIqrnt8Cbhu1dfuF4NIxTXKX0yO1AoSAuIL_I,48022
|
|
133
132
|
vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=gxz76AeCqgAZ9D2lZeTiZzxY9eMgn3qOSfVgiqYcOh8,2028
|
|
134
133
|
vellum_ee/workflows/display/workflows/tests/test_workflow_display.py,sha256=lg-c_3P3ldtqWq2VFsk_2Mkn3pVdXWuT59QpH7QwXVs,39764
|
|
135
134
|
vellum_ee/workflows/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -158,12 +157,12 @@ vellum_ee/workflows/tests/test_registry.py,sha256=B8xRIuEyLWfSqrYoPldNQXhKPfe50P
|
|
|
158
157
|
vellum_ee/workflows/tests/test_serialize_module.py,sha256=thzGsNzYCRXXdaC5yk1ZjtXrIO6uPdSnzdapKLCOsC8,6241
|
|
159
158
|
vellum_ee/workflows/tests/test_server.py,sha256=2_n84q_QZN_zW2rZgDenQUXM3x43TcPsRs1fDA6BK1U,29805
|
|
160
159
|
vellum_ee/workflows/tests/test_virtual_files.py,sha256=TJEcMR0v2S8CkloXNmCHA0QW0K6pYNGaIjraJz7sFvY,2762
|
|
161
|
-
vellum/__init__.py,sha256=
|
|
160
|
+
vellum/__init__.py,sha256=dhTWMEjt7OThAeMIhO0we-kI8mBj7Juy7Lrse7RuZR0,49540
|
|
162
161
|
vellum/client/README.md,sha256=flqu57ubZNTfpq60CdLtJC9gp4WEkyjb_n_eZ4OYf9w,6497
|
|
163
162
|
vellum/client/__init__.py,sha256=rMnKRqL5-356SBc-rfm56MkO87PuAi2mtcfBszcJU1M,74316
|
|
164
163
|
vellum/client/core/__init__.py,sha256=lTcqUPXcx4112yLDd70RAPeqq6tu3eFMe1pKOqkW9JQ,1562
|
|
165
164
|
vellum/client/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
|
|
166
|
-
vellum/client/core/client_wrapper.py,sha256=
|
|
165
|
+
vellum/client/core/client_wrapper.py,sha256=s5e8KcZ_efo5mXORP4r0pPHo5OS615gsyWW0vN4ZmMc,2842
|
|
167
166
|
vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
|
168
167
|
vellum/client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
|
169
168
|
vellum/client/core/force_multipart.py,sha256=awxh5MtcRYe74ehY8U76jzv6fYM_w_D3Rur7KQQzSDk,429
|
|
@@ -269,7 +268,7 @@ vellum/client/resources/workspaces/client.py,sha256=36KYa2FDu6h65q2GscUFOJs4qKei
|
|
|
269
268
|
vellum/client/resources/workspaces/raw_client.py,sha256=M3Ewk1ZfEZ44EeTvBtBNoNKi5whwfLY-1GR07SyfDTI,3517
|
|
270
269
|
vellum/client/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
271
270
|
vellum/client/tests/test_utils.py,sha256=zk8z45-2xrm9sZ2hq8PTqY8MXmXtPqMqYK0VBBX0GHg,1176
|
|
272
|
-
vellum/client/types/__init__.py,sha256=
|
|
271
|
+
vellum/client/types/__init__.py,sha256=e98Ekl0t25X8kuhn-W0pceTSoXFPmECG4vcCdRXvlkU,74987
|
|
273
272
|
vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=B69EesIH6fpNsdoiJaSG9zF1Sl17FnjoTu4CBkUSoHk,608
|
|
274
273
|
vellum/client/types/ad_hoc_expand_meta.py,sha256=Kajcj3dKKed5e7uZibRnE3ZonK_bB2JPM-3aLjLfUp4,1295
|
|
275
274
|
vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=5kD6ZcbU8P8ynK0lMD8Mh7vHzvQt06ziMyphvWYg6FU,968
|
|
@@ -295,6 +294,7 @@ vellum/client/types/audio_input_request.py,sha256=dtmM17yqCecZj1vJn3HK6IMF2rpXPw
|
|
|
295
294
|
vellum/client/types/audio_prompt_block.py,sha256=5GXedTnmZF7vDiq-sIDMtksm3CExNNYoJVXMgRnmuR8,977
|
|
296
295
|
vellum/client/types/audio_vellum_value.py,sha256=TPZYq8sjlFFhSfHGif9OuGVWUtzeZ4LjDPYcLXDjI7I,709
|
|
297
296
|
vellum/client/types/audio_vellum_value_request.py,sha256=Hn4qkUV5hBNaNxdmwDA18BtmLxOFqwLeOdKI7k8HHJk,738
|
|
297
|
+
vellum/client/types/auth_type_enum.py,sha256=7lZelL6Vu_fPOJgtGnm_h5h7X1rPziQxRweuOG8iKao,157
|
|
298
298
|
vellum/client/types/base_output.py,sha256=-O5DOk4K11MKQU8otOVeu3HMjtFdKLmpKHgYyXq1DXc,679
|
|
299
299
|
vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large.py,sha256=D1Fs9_9Tm8XuiB4ErmkdHqXWq6nvbZX6rYObnKaSDTA,791
|
|
300
300
|
vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py,sha256=7rJ589uXvc-WotTpRoBQjz6PE2bnuYBBms3RlyC3tLI,798
|
|
@@ -489,7 +489,7 @@ vellum/client/types/instructor_vectorizer_config_request.py,sha256=B5Wy5FI8utwi4
|
|
|
489
489
|
vellum/client/types/integration_auth_config_integration.py,sha256=W3DrzVPwLrqm0wCYVF-sHyQPoKNxoliFgFJWEwW_Yqc,710
|
|
490
490
|
vellum/client/types/integration_auth_config_integration_credential.py,sha256=lUNuJ1GyFps3M85Mff1C-SAeEacCMkJdmayFfYrTFXA,547
|
|
491
491
|
vellum/client/types/integration_credential_access_type.py,sha256=sWkuDjW3aD7ApZ1xQ7Bu8g5kCIwqUqzm1TDliUQWeRI,178
|
|
492
|
-
vellum/client/types/integration_name.py,sha256=
|
|
492
|
+
vellum/client/types/integration_name.py,sha256=LOboR5sP9EQZgT2rFNNScbTbO71KOxr6TbuxWXYgwOE,477
|
|
493
493
|
vellum/client/types/integration_provider.py,sha256=lIh3yPyPEzmSAu8L4Gsd-iDkmDSNobo0_TB75zMtIXk,129
|
|
494
494
|
vellum/client/types/integration_read.py,sha256=sUNCS01TIlHPJHEH3ZheIbPi-CplbFQ5XAV1QtOO1Gg,1035
|
|
495
495
|
vellum/client/types/invoked_port.py,sha256=nw2k-y7NrpcH6T1V96U3F8_pbrsceqBPIz3RQXN8gJY,518
|
|
@@ -709,11 +709,11 @@ vellum/client/types/slim_composio_tool_definition.py,sha256=1wQRXqS4-DVq0JO8F7L2
|
|
|
709
709
|
vellum/client/types/slim_deployment_read.py,sha256=lEJ8Fx7QSmqjEK-LcR0y_hX2ywcaPbYjxINwPGy_ofw,1733
|
|
710
710
|
vellum/client/types/slim_document.py,sha256=aytvaz8SF6MSSEA3iLXP7ZgZOw33CA-_bv2iSj5cH24,2409
|
|
711
711
|
vellum/client/types/slim_document_document_to_document_index.py,sha256=Ogo8OFjtmcHjDmIynB9vckfjSZxFNhKM-cYpqSfREGI,1515
|
|
712
|
-
vellum/client/types/slim_integration_auth_config_read.py,sha256=
|
|
712
|
+
vellum/client/types/slim_integration_auth_config_read.py,sha256=Mbn1DjJIJJjkqrtaW_93XecMPOQK8phPBVJm2LwNhu8,1206
|
|
713
713
|
vellum/client/types/slim_integration_read.py,sha256=hKc9a85Vi7WNIq6JDPABettHUz-vmV-ViXRsoIpD_MY,754
|
|
714
714
|
vellum/client/types/slim_release_review.py,sha256=vWNkPXk5wZ_scHsWHz_77PfMZRDn-4qUkqVbCKqY1zQ,747
|
|
715
715
|
vellum/client/types/slim_workflow_deployment.py,sha256=jIciGPCW9QNtDRdq3w_zUdrrE4cg1LWkcoyGM-L6cs0,2085
|
|
716
|
-
vellum/client/types/slim_workflow_execution_read.py,sha256=
|
|
716
|
+
vellum/client/types/slim_workflow_execution_read.py,sha256=NHNLs5Uf6YvrRZbFnnaYj2iTe2zozsbd5M-tZixu9jU,2302
|
|
717
717
|
vellum/client/types/span_link.py,sha256=roO93-xRnqZy2hx9WJFNZW46o8l2bGf3ugeaBepegr4,1433
|
|
718
718
|
vellum/client/types/span_link_type_enum.py,sha256=SQsPKp1Jb8PWE2tkCHt9d5fZP8Oz77vG8_VYKF-h9J4,186
|
|
719
719
|
vellum/client/types/streaming_ad_hoc_execute_prompt_event.py,sha256=BZZHXI_vq28VAmRbbIIK2wyRSkQpWfOPD7kiydhQmd8,1147
|
|
@@ -845,13 +845,13 @@ vellum/client/types/vellum_code_resource_definition.py,sha256=XdueTR342BDjevZ3kt
|
|
|
845
845
|
vellum/client/types/vellum_document.py,sha256=qwXqMS2Eud2a5KmF8QHhU_vJzDX0g5cesrCpmBqREsA,604
|
|
846
846
|
vellum/client/types/vellum_document_request.py,sha256=P9vA7ZDNeaHNlMqyzfl-ZD4bpdf-xA5mH8R1QuOAmOY,611
|
|
847
847
|
vellum/client/types/vellum_error.py,sha256=G4WSD-w_skoDDnsAt-TtImt-hZT-Sc8LjHvERBUVnhE,691
|
|
848
|
-
vellum/client/types/vellum_error_code_enum.py,sha256=
|
|
848
|
+
vellum/client/types/vellum_error_code_enum.py,sha256=vMmcp99RWQK5a4OqQ58HxZUgFSwFzGsuuBLcgxjOw7U,512
|
|
849
849
|
vellum/client/types/vellum_error_request.py,sha256=7l4Ux6wj3C9BdSXUPBrtxECsAirmvaLU42Y23VqncBU,698
|
|
850
850
|
vellum/client/types/vellum_image.py,sha256=LAGUYBDsT0bmMOqgbaeCTCy2w4zAeHEyUIgPtmdjjJ4,601
|
|
851
851
|
vellum/client/types/vellum_image_request.py,sha256=6DoI2AdJIG8NShHSslpHvsFUw5PwIMconjlHSipOP5Q,608
|
|
852
852
|
vellum/client/types/vellum_node_execution_event.py,sha256=-MXat2wAZx4sx3JRp7gwJIOInPNwPMDpZmXtP8NC3O8,736
|
|
853
853
|
vellum/client/types/vellum_sdk_error.py,sha256=oURNuw5zH4HqV6Ygw0MgVWH2DcuxekWvS_ZXA8tU31I,704
|
|
854
|
-
vellum/client/types/vellum_sdk_error_code_enum.py,sha256=
|
|
854
|
+
vellum/client/types/vellum_sdk_error_code_enum.py,sha256=M_NfzXsdL4VxTpDbj1KsMPHbZoNU6IH7tEJKuz57rwI,612
|
|
855
855
|
vellum/client/types/vellum_secret.py,sha256=04WlBWphqiJSUKM2NeJE32IDt-ZpVO_LOXkpXvBh3f0,519
|
|
856
856
|
vellum/client/types/vellum_span.py,sha256=dmZOBXlDeXx4eLvBJBiOp07xuyjhisgXgnvYFSmctYE,259
|
|
857
857
|
vellum/client/types/vellum_value.py,sha256=douOrlRh2ko1gmN8oDjsaoAEtyDcfq-OV_GThW92GNk,1188
|
|
@@ -882,13 +882,13 @@ vellum/client/types/workflow_deployment_release_workflow_version.py,sha256=VbVrw
|
|
|
882
882
|
vellum/client/types/workflow_error.py,sha256=iDMQ3Wx7E8lf6BYtBTGpeIxG46iF9mjzTpjxyJVTXgM,283
|
|
883
883
|
vellum/client/types/workflow_event.py,sha256=M_ra0CjUffCPqPRFJM_oR1IY4egHDGa0tY1HAoA8j5k,1532
|
|
884
884
|
vellum/client/types/workflow_event_error.py,sha256=qNqSGvPOLODPTiaWmsUKyTx9W91JDIm9r9s05zsTsfg,779
|
|
885
|
-
vellum/client/types/workflow_event_execution_read.py,sha256=
|
|
885
|
+
vellum/client/types/workflow_event_execution_read.py,sha256=9AZGartKk8qZxepwmjOKEIcWGxGUIOlusZqCxpfgrOw,2456
|
|
886
886
|
vellum/client/types/workflow_execution_actual.py,sha256=QJn7xXOtSJT30se2KdOyAYVJKjU53uhdvpjcMDIz1eM,962
|
|
887
887
|
vellum/client/types/workflow_execution_actual_chat_history_request.py,sha256=E3Vt4l6PpE24_teWe3Kfu_4z1sbosaz_Uk1iUI9cZ-s,1957
|
|
888
888
|
vellum/client/types/workflow_execution_actual_json_request.py,sha256=jLsQxdg7SVyUkdu_Gyo3iDKgZcQnO5hsP0PHPsiGwrg,1895
|
|
889
889
|
vellum/client/types/workflow_execution_actual_string_request.py,sha256=syFCXeB4MwjKblXfSBNfCSG4dJIR8Ww937gTcmTPh1w,1859
|
|
890
890
|
vellum/client/types/workflow_execution_detail.py,sha256=R1tONdNarehoqk7zsK0D2wCSJEe9WauZmKHp5yKVLB8,2186
|
|
891
|
-
vellum/client/types/workflow_execution_event_error_code.py,sha256=
|
|
891
|
+
vellum/client/types/workflow_execution_event_error_code.py,sha256=z4ZFWSlsKQKGcgZvqygtSliJBoeWKR9K-UqS7QTxx5U,603
|
|
892
892
|
vellum/client/types/workflow_execution_event_type.py,sha256=ESKqV3ItoAlqBooruf-i0AnmEh_GvCySZ0Co3r9Bvt0,170
|
|
893
893
|
vellum/client/types/workflow_execution_fulfilled_body.py,sha256=dQYhKU5D7vZR36zyBHUbXUNv_TjnnMNNPvxpPmH0-OU,797
|
|
894
894
|
vellum/client/types/workflow_execution_fulfilled_event.py,sha256=eZ_DtDmRK-S2Q0LEJHlGS_FPd-UVvpgetRXqvWlSh4M,1925
|
|
@@ -901,7 +901,7 @@ vellum/client/types/workflow_execution_rejected_body.py,sha256=biJQ8_PDeJGELgjjU
|
|
|
901
901
|
vellum/client/types/workflow_execution_rejected_event.py,sha256=j1QzOxkcmcFfA9zHOiKBnv7qF_YrFePq380us1nnYEk,1918
|
|
902
902
|
vellum/client/types/workflow_execution_resumed_body.py,sha256=L0Atzk7328tpjhRKC0Y8AoWuMebtdHzd4gBjYkvKDIM,649
|
|
903
903
|
vellum/client/types/workflow_execution_resumed_event.py,sha256=7PTH1rLBlvC4414LG3L3AdMRrJEmtrJSOWwM5sptAZc,1911
|
|
904
|
-
vellum/client/types/workflow_execution_snapshotted_body.py,sha256=
|
|
904
|
+
vellum/client/types/workflow_execution_snapshotted_body.py,sha256=1r0dnZJNAy34ckeNfCvkSphs_AfVbKhn0IJKvB06Yyo,778
|
|
905
905
|
vellum/client/types/workflow_execution_snapshotted_event.py,sha256=sEQ-fqW0VmiuigFZnPvtd2wNZG462-rnsk4Zi8qlA6I,1939
|
|
906
906
|
vellum/client/types/workflow_execution_span.py,sha256=xeePJEONTakpoEf1aodhs10E8GPoxy7oSdogZARxYO0,1984
|
|
907
907
|
vellum/client/types/workflow_execution_span_attributes.py,sha256=OE_uL3qChioClcS3P46EW6ajLEyDsNl9sQJ13Tw50cY,560
|
|
@@ -1116,6 +1116,7 @@ vellum/types/audio_input_request.py,sha256=vmN-KTn6OEuE6MK2t_lllo9lr1ln1839PjwgA
|
|
|
1116
1116
|
vellum/types/audio_prompt_block.py,sha256=zpQcvY3Fic82mPlPyOLCjZBBq0dFyCyKuGRkYNDWQko,156
|
|
1117
1117
|
vellum/types/audio_vellum_value.py,sha256=-9HkLXeBD-IMh_TwKdmQVfAD_F0et2gYKT2ykb_jaAM,156
|
|
1118
1118
|
vellum/types/audio_vellum_value_request.py,sha256=YuwrbVZK1EuUKkir5H9-ipeLTPfSF8h6Yy5lS_pAZg4,164
|
|
1119
|
+
vellum/types/auth_type_enum.py,sha256=SkvJdAKXtyxgPiH6tVfqAzwhiM_-kjUZ9RzSoYJYPO4,152
|
|
1119
1120
|
vellum/types/base_output.py,sha256=5fBRPScgqh4m13rbbfxszK03o8zg-Sa_bGp2kTmacMo,149
|
|
1120
1121
|
vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large.py,sha256=4PC3AVVZh7r0zbeY4pV-tpAFkt1EAuRjI0Rsc-s6WX0,186
|
|
1121
1122
|
vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py,sha256=NQd8lYb9HnO2UXOuri-8CdmN5lFdaRpXMdN3BJOm9JA,194
|
|
@@ -1821,7 +1822,7 @@ vellum/workflows/events/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
|
|
|
1821
1822
|
vellum/workflows/events/tests/test_basic_workflow.py,sha256=Pj6orHsXz37jWC5FARi0Sx2Gjf99Owri2Cvr6Chb79k,1765
|
|
1822
1823
|
vellum/workflows/events/tests/test_event.py,sha256=R9H_W9RuZAY1b_ElnfyekS-Fl6Z02lldOf8EkCJssBE,21476
|
|
1823
1824
|
vellum/workflows/events/types.py,sha256=mVrqAH9Hs9SpXm08Hcxdyap_ImQPwGsxRr56rSNMP34,5043
|
|
1824
|
-
vellum/workflows/events/workflow.py,sha256=
|
|
1825
|
+
vellum/workflows/events/workflow.py,sha256=Nv9wyiXAhyR9TVk8YGR4kyAnh7WVmjsuM3EY-FOZUgg,10307
|
|
1825
1826
|
vellum/workflows/exceptions.py,sha256=l_ZklQQVvbsIdbmbn89aEeTL7x6x08m5kCwKXXPnTDc,2277
|
|
1826
1827
|
vellum/workflows/executable.py,sha256=um-gLJMVYfGJwGJfZIPlCRHhHIYm6pn8PUEfeqrNx5k,218
|
|
1827
1828
|
vellum/workflows/expressions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -1927,7 +1928,7 @@ vellum/workflows/nodes/displayable/bases/api_node/node.py,sha256=cOYaIqimzDL6TuX
|
|
|
1927
1928
|
vellum/workflows/nodes/displayable/bases/api_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1928
1929
|
vellum/workflows/nodes/displayable/bases/api_node/tests/test_node.py,sha256=5C59vn_yg4r5EWioKIr658Jr1MSGX3YF4yKJokY37Xc,4726
|
|
1929
1930
|
vellum/workflows/nodes/displayable/bases/base_prompt_node/__init__.py,sha256=Org3xTvgp1pA0uUXFfnJr29D3HzCey2lEdYF4zbIUgo,70
|
|
1930
|
-
vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py,sha256=
|
|
1931
|
+
vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py,sha256=oN1GF47DPj1WgED1c5SO2XBInU7Gqaa6rAZGKsTFgv8,5299
|
|
1931
1932
|
vellum/workflows/nodes/displayable/bases/inline_prompt_node/__init__.py,sha256=Hl35IAoepRpE-j4cALaXVJIYTYOF3qszyVbxTj4kS1s,82
|
|
1932
1933
|
vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=ITxAa1HWF6OPdcKg0DdTK7YP94ezzzWVyZzCRMiybIg,18638
|
|
1933
1934
|
vellum/workflows/nodes/displayable/bases/inline_prompt_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -1960,7 +1961,7 @@ vellum/workflows/nodes/displayable/guardrail_node/tests/test_node.py,sha256=X2pd
|
|
|
1960
1961
|
vellum/workflows/nodes/displayable/inline_prompt_node/__init__.py,sha256=gSUOoEZLlrx35-tQhSAd3An8WDwBqyiQh-sIebLU9wU,74
|
|
1961
1962
|
vellum/workflows/nodes/displayable/inline_prompt_node/node.py,sha256=0O1dksk0h6-V-Mp5_yTuU3PFrUpLIgsqVMTP8mxTryU,2227
|
|
1962
1963
|
vellum/workflows/nodes/displayable/inline_prompt_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1963
|
-
vellum/workflows/nodes/displayable/inline_prompt_node/tests/test_node.py,sha256=
|
|
1964
|
+
vellum/workflows/nodes/displayable/inline_prompt_node/tests/test_node.py,sha256=CukYNAH8Y1NP0yJGz_gFtK0L-DLlU-K-06cmxEJ0Nts,11038
|
|
1964
1965
|
vellum/workflows/nodes/displayable/merge_node/__init__.py,sha256=J8IC08dSH7P76wKlNuxe1sn7toNGtSQdFirUbtPDEs0,60
|
|
1965
1966
|
vellum/workflows/nodes/displayable/merge_node/node.py,sha256=_zHW9fReWdpiM3GiUzdEgyOSznRqkPsTj-XKD6Oja8I,563
|
|
1966
1967
|
vellum/workflows/nodes/displayable/note_node/__init__.py,sha256=KWA3P4fyYJ-fOTky8qNGlcOotQ-HeHJ9AjZt6mRQmCE,58
|
|
@@ -1987,9 +1988,9 @@ vellum/workflows/nodes/displayable/tool_calling_node/node.py,sha256=rvCGtnCM1bFk
|
|
|
1987
1988
|
vellum/workflows/nodes/displayable/tool_calling_node/state.py,sha256=CcBVb_YtwfSSka4ze678k6-qwmzMSfjfVP8_Y95feSo,302
|
|
1988
1989
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1989
1990
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_composio_service.py,sha256=in1fbEz5x1tx3uKv9YXdvOncsHucNL8Ro6Go7lBuuOQ,8962
|
|
1990
|
-
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py,sha256=
|
|
1991
|
+
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py,sha256=tsOcwf7YQX79tzvzoJjR8H7evr8Yi76gXnKcegSdyoA,17162
|
|
1991
1992
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_utils.py,sha256=EmKFA-ELdTzlK0xMqWnuSZPoGNLYCwk6b0amTqirZo0,11305
|
|
1992
|
-
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=
|
|
1993
|
+
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=iD_w2XxpHvM7KYlOeZHOiOZlGq4rPPi6mI5AlFx-LMI,24701
|
|
1993
1994
|
vellum/workflows/nodes/displayable/web_search_node/__init__.py,sha256=8FOnEP-n-U68cvxTlJW9wphIAGHq5aqjzLM-DoSSXnU,61
|
|
1994
1995
|
vellum/workflows/nodes/displayable/web_search_node/node.py,sha256=NQYux2bOtuBF5E4tn-fXi5y3btURPRrNqMSM9MAZYI4,5091
|
|
1995
1996
|
vellum/workflows/nodes/displayable/web_search_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -2021,7 +2022,7 @@ vellum/workflows/references/node.py,sha256=LP854wDVs-9I_aZ7-nkbwXqL2H7W2_3LED2e9
|
|
|
2021
2022
|
vellum/workflows/references/output.py,sha256=qVa3QmlOyJhyIMOHwOmi1RgHPAOryhdPr2DRj97aEvU,3321
|
|
2022
2023
|
vellum/workflows/references/state_value.py,sha256=bInUF0A3Pt4-zhA0f6LdSuyv8tz7n5QRkHAEn4gsmqI,711
|
|
2023
2024
|
vellum/workflows/references/tests/test_lazy.py,sha256=0s50-LizMTlSTBQahpK0fg_xqCucA8YTp6QmIMqPvMk,919
|
|
2024
|
-
vellum/workflows/references/trigger.py,sha256=
|
|
2025
|
+
vellum/workflows/references/trigger.py,sha256=4QWRnw_k6Hmqm9U4sftd-bnG9R9tbDAOuWRmCsNplYE,2605
|
|
2025
2026
|
vellum/workflows/references/vellum_secret.py,sha256=Od4d19a5yletWMqNfJR5d_mZQUkVcFzj29mE-T9J7yE,480
|
|
2026
2027
|
vellum/workflows/references/workflow_input.py,sha256=W3rOK1EPd2gYHb04WJwmNm1CUSdvZ9LKrs8RMKxACBs,1751
|
|
2027
2028
|
vellum/workflows/resolvers/__init__.py,sha256=eH6hTvZO4IciDaf_cf7aM2vs-DkBDyJPycOQevJxQnI,82
|
|
@@ -2030,7 +2031,7 @@ vellum/workflows/resolvers/resolver.py,sha256=3uEYscB_2PHTazc0Y9SzOe_yiQZhVLfey1
|
|
|
2030
2031
|
vellum/workflows/resolvers/tests/test_resolver.py,sha256=PnUGzsulo1It_LjjhHsRNiILvvl5G_IaK8ZX56zKC28,6204
|
|
2031
2032
|
vellum/workflows/resolvers/types.py,sha256=Hndhlk69g6EKLh_LYg5ILepW5U_h_BYNllfzhS9k8p4,237
|
|
2032
2033
|
vellum/workflows/runner/__init__.py,sha256=i1iG5sAhtpdsrlvwgH6B-m49JsINkiWyPWs8vyT-bqM,72
|
|
2033
|
-
vellum/workflows/runner/runner.py,sha256=
|
|
2034
|
+
vellum/workflows/runner/runner.py,sha256=GuY5b7AKTdOxdDRhteVW3tGf-i31H-rdZBTLYwfNcLc,46542
|
|
2034
2035
|
vellum/workflows/sandbox.py,sha256=mezSZmilR_fwR8164n8CEfzlMeQ55IqfapHp4ftImvQ,3212
|
|
2035
2036
|
vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
|
|
2036
2037
|
vellum/workflows/state/base.py,sha256=8Zr7UIM_eC0O2N6w_1gYqyrjgJ9D9z-VqLFnBETEF7Q,26753
|
|
@@ -2044,16 +2045,14 @@ vellum/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
|
|
|
2044
2045
|
vellum/workflows/tests/test_dataset_row.py,sha256=S8aIiYU9TRzJ8GTl5qCjnJ-fuHdxatHJFGLlKTVHPr4,4174
|
|
2045
2046
|
vellum/workflows/tests/test_sandbox.py,sha256=JKwaluI-lODQo7Ek9sjDstjL_WTdSqUlVik6ZVTfVOA,1826
|
|
2046
2047
|
vellum/workflows/tests/test_undefined.py,sha256=zMCVliCXVNLrlC6hEGyOWDnQADJ2g83yc5FIM33zuo8,353
|
|
2047
|
-
vellum/workflows/tests/triggers/test_vellum_integration_trigger.py,sha256=
|
|
2048
|
-
vellum/workflows/triggers/__init__.py,sha256
|
|
2048
|
+
vellum/workflows/tests/triggers/test_vellum_integration_trigger.py,sha256=N9DStn5Jwty1r9ELxTGSkqnAF-Z5oXRXB5RhOEda87w,6102
|
|
2049
|
+
vellum/workflows/triggers/__init__.py,sha256=-TCWDx0WdjV4V3z7VJMbfIBRxEycVgQr3lz9laS32Og,359
|
|
2049
2050
|
vellum/workflows/triggers/base.py,sha256=sLH0qzfRYbJRQX6ukGzSy6PaXxlDUSobdFSz8G_4v98,10140
|
|
2050
2051
|
vellum/workflows/triggers/integration.py,sha256=hAWQMoIubosKgM56rrsAJVhPnc4MjA5YBPRpDgl6J08,2221
|
|
2051
2052
|
vellum/workflows/triggers/manual.py,sha256=PgbZ92gcK25yz6REXm98zWic1QBfhxLKfGCeHpZEUx4,1266
|
|
2052
|
-
vellum/workflows/triggers/slack.py,sha256=NBc4Af3PdnhiqTzeS-zyPf7JkrPG0FHT7uP0qNYeBfg,3418
|
|
2053
2053
|
vellum/workflows/triggers/tests/__init__.py,sha256=R8lag_iCRyulijHMK4e3Gf6YVB5NplfvwZeTkaRj8gQ,30
|
|
2054
|
-
vellum/workflows/triggers/tests/test_integration.py,sha256=
|
|
2055
|
-
vellum/workflows/triggers/
|
|
2056
|
-
vellum/workflows/triggers/vellum_integration.py,sha256=03YWZ3UpcZSLzenvuJZqOPYvjaEbcDU9HbYGbTbY_QQ,16866
|
|
2054
|
+
vellum/workflows/triggers/tests/test_integration.py,sha256=q7EeftNwgI2EcnV8GwHTxCQ_SyZKHl2dIPCQOQ7yxSM,4046
|
|
2055
|
+
vellum/workflows/triggers/vellum_integration.py,sha256=25_YHJoqDhITLBWqnmangvcFo3d5UwMSg4xu6spGNpE,16036
|
|
2057
2056
|
vellum/workflows/types/__init__.py,sha256=P3KhHAeoAj8cQti89o3nyPgCfC4BjK1LOFv58A76ktM,290
|
|
2058
2057
|
vellum/workflows/types/code_execution_node_wrappers.py,sha256=fewX9bqF_4TZuK-gZYIn12s31-k03vHMGRpvFAPm11Y,3206
|
|
2059
2058
|
vellum/workflows/types/core.py,sha256=R7snCd7ci4tiRuHi5ALGh_5DIIF0T9eze3sf6EnJN-c,1126
|
|
@@ -2063,7 +2062,7 @@ vellum/workflows/types/stack.py,sha256=h7NE0vXR7l9DevFBIzIAk1Zh59K-kECQtDTKOUunw
|
|
|
2063
2062
|
vellum/workflows/types/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2064
2063
|
vellum/workflows/types/tests/test_definition.py,sha256=QUI9_Wsm2k-ZxQTXogsB0L4csSvVFOvLXHb-asC6K2w,7193
|
|
2065
2064
|
vellum/workflows/types/tests/test_utils.py,sha256=-kMF1mxYlW4Njh8fKjbo45Wc-jOJ7GBYKKjIviuzd4I,2837
|
|
2066
|
-
vellum/workflows/types/trigger_exec_config.py,sha256=
|
|
2065
|
+
vellum/workflows/types/trigger_exec_config.py,sha256=mQwyhDFwUuDoX-Zdg1vfi7LqTissHXJ9h21nyJvc2E4,2480
|
|
2067
2066
|
vellum/workflows/types/utils.py,sha256=pCC3HlnLaT4HcCKA_JSoWLnDB1czB3HwjirTiP9RDQs,7680
|
|
2068
2067
|
vellum/workflows/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2069
2068
|
vellum/workflows/utils/functions.py,sha256=uIg8As0c1BGwXmwectbAQWLWWIWoeHCduGhhoOqQVVU,13157
|
|
@@ -2075,7 +2074,7 @@ vellum/workflows/utils/tests/test_functions.py,sha256=J_WEyVX1yE3lUhoX8etgkbPuwQ
|
|
|
2075
2074
|
vellum/workflows/utils/tests/test_names.py,sha256=DnRRnuORxQXx9ESegCzkxiWcHy2_bBi7lXgbFi3FZK8,757
|
|
2076
2075
|
vellum/workflows/utils/tests/test_uuids.py,sha256=i77ABQ0M3S-aFLzDXHJq_yr5FPkJEWCMBn1HJ3DObrE,437
|
|
2077
2076
|
vellum/workflows/utils/tests/test_vellum_variables.py,sha256=X7b-bbN3bFRx0WG31bowcaOgsXxEPYnh2sgpsqgKIsQ,2096
|
|
2078
|
-
vellum/workflows/utils/uuids.py,sha256=
|
|
2077
|
+
vellum/workflows/utils/uuids.py,sha256=xQ-Clad8Srl3QqCrs8_UEgto0OFe8zH7VtuIlCgMWHg,2412
|
|
2079
2078
|
vellum/workflows/utils/vellum_variables.py,sha256=X3lZn-EoWengRWBWRhTNW7hqbj7LkV-6NSMwCskWEbg,7203
|
|
2080
2079
|
vellum/workflows/utils/zip.py,sha256=HVg_YZLmBOTXKaDV3Xhaf3V6sYnfqqZXQ8CpuafkbPY,1181
|
|
2081
2080
|
vellum/workflows/vellum_client.py,sha256=3iDR7VV_NgLSm1iZQCKDvrmfEaX1bOJiU15QrxyHpv0,1237
|
|
@@ -2085,8 +2084,8 @@ vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnad
|
|
|
2085
2084
|
vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2086
2085
|
vellum/workflows/workflows/tests/test_base_workflow.py,sha256=Boa-_m9ii2Qsa1RvVM-VYniF7zCpzGgEGy-OnPZkrHg,23941
|
|
2087
2086
|
vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
|
|
2088
|
-
vellum_ai-1.7.
|
|
2089
|
-
vellum_ai-1.7.
|
|
2090
|
-
vellum_ai-1.7.
|
|
2091
|
-
vellum_ai-1.7.
|
|
2092
|
-
vellum_ai-1.7.
|
|
2087
|
+
vellum_ai-1.7.13.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
|
|
2088
|
+
vellum_ai-1.7.13.dist-info/METADATA,sha256=Pc0Rjgvp11_vuFKPrb5F97ZDurGljmbMUOkP83pviwo,5548
|
|
2089
|
+
vellum_ai-1.7.13.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
2090
|
+
vellum_ai-1.7.13.dist-info/entry_points.txt,sha256=xVavzAKN4iF_NbmhWOlOkHluka0YLkbN_pFQ9pW3gLI,117
|
|
2091
|
+
vellum_ai-1.7.13.dist-info/RECORD,,
|
|
@@ -16,7 +16,7 @@ if TYPE_CHECKING:
|
|
|
16
16
|
|
|
17
17
|
class WorkflowTriggerType(Enum):
|
|
18
18
|
MANUAL = "MANUAL"
|
|
19
|
-
|
|
19
|
+
INTEGRATION = "INTEGRATION"
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
def get_trigger_type_mapping() -> Dict[Type["BaseTrigger"], WorkflowTriggerType]:
|
|
@@ -30,11 +30,9 @@ def get_trigger_type_mapping() -> Dict[Type["BaseTrigger"], WorkflowTriggerType]
|
|
|
30
30
|
Dictionary mapping trigger classes to their enum types
|
|
31
31
|
"""
|
|
32
32
|
from vellum.workflows.triggers.manual import ManualTrigger
|
|
33
|
-
from vellum.workflows.triggers.slack import SlackTrigger
|
|
34
33
|
|
|
35
34
|
return {
|
|
36
35
|
ManualTrigger: WorkflowTriggerType.MANUAL,
|
|
37
|
-
SlackTrigger: WorkflowTriggerType.SLACK_MESSAGE,
|
|
38
36
|
}
|
|
39
37
|
|
|
40
38
|
|
|
@@ -153,7 +153,9 @@ class BaseInlinePromptNodeDisplay(BaseNodeDisplay[_InlinePromptNodeType], Generi
|
|
|
153
153
|
|
|
154
154
|
def _generate_function_tools(
|
|
155
155
|
self,
|
|
156
|
-
function: Union[
|
|
156
|
+
function: Union[
|
|
157
|
+
FunctionDefinition, Callable, DeploymentDefinition, Type["BaseWorkflow"], VellumIntegrationToolDefinition
|
|
158
|
+
],
|
|
157
159
|
index: int,
|
|
158
160
|
display_context: WorkflowDisplayContext,
|
|
159
161
|
) -> JsonObject:
|
|
@@ -25,10 +25,11 @@ from vellum.workflows.nodes.utils import get_unadorned_node, get_unadorned_port,
|
|
|
25
25
|
from vellum.workflows.ports import Port
|
|
26
26
|
from vellum.workflows.references import OutputReference, WorkflowInputReference
|
|
27
27
|
from vellum.workflows.state.encoder import DefaultStateEncoder
|
|
28
|
+
from vellum.workflows.triggers.vellum_integration import VellumIntegrationTrigger
|
|
28
29
|
from vellum.workflows.types.core import Json, JsonArray, JsonObject
|
|
29
30
|
from vellum.workflows.types.generics import WorkflowType
|
|
30
31
|
from vellum.workflows.types.utils import get_original_base
|
|
31
|
-
from vellum.workflows.utils.uuids import uuid4_from_hash
|
|
32
|
+
from vellum.workflows.utils.uuids import get_trigger_id, uuid4_from_hash
|
|
32
33
|
from vellum.workflows.utils.vellum_variables import primitive_type_to_vellum_variable_type
|
|
33
34
|
from vellum.workflows.vellum_client import create_vellum_client
|
|
34
35
|
from vellum_ee.workflows.display.base import (
|
|
@@ -38,6 +39,7 @@ from vellum_ee.workflows.display.base import (
|
|
|
38
39
|
WorkflowInputsDisplay,
|
|
39
40
|
WorkflowMetaDisplay,
|
|
40
41
|
WorkflowOutputDisplay,
|
|
42
|
+
WorkflowTriggerType,
|
|
41
43
|
get_trigger_type_mapping,
|
|
42
44
|
)
|
|
43
45
|
from vellum_ee.workflows.display.editor.types import NodeDisplayData, NodeDisplayPosition
|
|
@@ -465,16 +467,21 @@ class BaseWorkflowDisplay(Generic[WorkflowType]):
|
|
|
465
467
|
f"{edge.trigger_class.__name__} in the same workflow."
|
|
466
468
|
)
|
|
467
469
|
|
|
468
|
-
# Get the trigger type from the mapping
|
|
470
|
+
# Get the trigger type from the mapping, or check if it's a VellumIntegrationTrigger subclass
|
|
469
471
|
trigger_type = trigger_type_mapping.get(trigger_class)
|
|
470
472
|
if trigger_type is None:
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
473
|
+
# Check if it's a VellumIntegrationTrigger subclass
|
|
474
|
+
|
|
475
|
+
if issubclass(trigger_class, VellumIntegrationTrigger):
|
|
476
|
+
trigger_type = WorkflowTriggerType.INTEGRATION
|
|
477
|
+
else:
|
|
478
|
+
raise ValueError(
|
|
479
|
+
f"Unknown trigger type: {trigger_class.__name__}. "
|
|
480
|
+
f"Please add it to the trigger type mapping in get_trigger_type_mapping()."
|
|
481
|
+
)
|
|
475
482
|
|
|
476
483
|
# Return as a list with a single trigger object matching Django schema
|
|
477
|
-
trigger_id =
|
|
484
|
+
trigger_id = get_trigger_id(trigger_class)
|
|
478
485
|
|
|
479
486
|
# Serialize trigger attributes like node outputs
|
|
480
487
|
attribute_references = trigger_class.attribute_references().values()
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
from typing import Optional
|
|
2
|
-
|
|
3
|
-
from vellum.workflows.triggers.integration import IntegrationTrigger
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class SlackTrigger(IntegrationTrigger):
|
|
7
|
-
"""
|
|
8
|
-
Trigger for Slack events (messages, mentions, reactions, etc.).
|
|
9
|
-
|
|
10
|
-
SlackTrigger enables workflows to be initiated from Slack events such as
|
|
11
|
-
messages in channels, direct messages, app mentions, or reactions. The trigger
|
|
12
|
-
parses Slack webhook payloads and provides structured attributes that downstream
|
|
13
|
-
nodes can reference.
|
|
14
|
-
|
|
15
|
-
Examples:
|
|
16
|
-
Basic Slack message trigger:
|
|
17
|
-
>>> class MyWorkflow(BaseWorkflow):
|
|
18
|
-
... graph = SlackTrigger >> ProcessMessageNode
|
|
19
|
-
|
|
20
|
-
Access trigger attributes in nodes:
|
|
21
|
-
>>> class ProcessMessageNode(BaseNode):
|
|
22
|
-
... class Outputs(BaseNode.Outputs):
|
|
23
|
-
... response = SlackTrigger.message
|
|
24
|
-
|
|
25
|
-
Multiple entry points:
|
|
26
|
-
>>> class MyWorkflow(BaseWorkflow):
|
|
27
|
-
... graph = {
|
|
28
|
-
... SlackTrigger >> ProcessSlackNode,
|
|
29
|
-
... ManualTrigger >> ProcessManualNode,
|
|
30
|
-
... }
|
|
31
|
-
|
|
32
|
-
Attributes:
|
|
33
|
-
message: str
|
|
34
|
-
The message text from Slack
|
|
35
|
-
channel: str
|
|
36
|
-
Slack channel ID where message was sent
|
|
37
|
-
user: str
|
|
38
|
-
User ID who sent the message
|
|
39
|
-
timestamp: str
|
|
40
|
-
Message timestamp (ts field from Slack)
|
|
41
|
-
thread_ts: Optional[str]
|
|
42
|
-
Thread timestamp if message is in a thread, None otherwise
|
|
43
|
-
event_type: str
|
|
44
|
-
Type of Slack event (e.g., "message", "app_mention")
|
|
45
|
-
|
|
46
|
-
Note:
|
|
47
|
-
The trigger expects Slack Event API webhook payloads. For details on
|
|
48
|
-
the payload structure, see: https://api.slack.com/apis/connections/events-api
|
|
49
|
-
"""
|
|
50
|
-
|
|
51
|
-
message: str
|
|
52
|
-
channel: str
|
|
53
|
-
user: str
|
|
54
|
-
timestamp: str
|
|
55
|
-
thread_ts: Optional[str]
|
|
56
|
-
event_type: str
|
|
57
|
-
|
|
58
|
-
def __init__(self, event_data: dict):
|
|
59
|
-
"""
|
|
60
|
-
Initialize SlackTrigger with Slack webhook payload.
|
|
61
|
-
|
|
62
|
-
Args:
|
|
63
|
-
event_data: Slack event payload from webhook. Expected structure:
|
|
64
|
-
{
|
|
65
|
-
"event": {
|
|
66
|
-
"type": "message",
|
|
67
|
-
"text": "Hello world",
|
|
68
|
-
"channel": "C123456",
|
|
69
|
-
"user": "U123456",
|
|
70
|
-
"ts": "1234567890.123456",
|
|
71
|
-
"thread_ts": "1234567890.123456" # optional
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
Examples:
|
|
76
|
-
>>> slack_payload = {
|
|
77
|
-
... "event": {
|
|
78
|
-
... "type": "message",
|
|
79
|
-
... "text": "Hello!",
|
|
80
|
-
... "channel": "C123",
|
|
81
|
-
... "user": "U456",
|
|
82
|
-
... "ts": "1234567890.123456"
|
|
83
|
-
... }
|
|
84
|
-
... }
|
|
85
|
-
>>> trigger = SlackTrigger(slack_payload)
|
|
86
|
-
>>> trigger.message
|
|
87
|
-
'Hello!'
|
|
88
|
-
"""
|
|
89
|
-
# Call parent init
|
|
90
|
-
super().__init__(event_data)
|
|
91
|
-
|
|
92
|
-
# Extract from Slack's event structure
|
|
93
|
-
event = event_data.get("event", {})
|
|
94
|
-
|
|
95
|
-
# Populate trigger attributes
|
|
96
|
-
self.message = event.get("text", "")
|
|
97
|
-
self.channel = event.get("channel", "")
|
|
98
|
-
self.user = event.get("user", "")
|
|
99
|
-
self.timestamp = event.get("ts", "")
|
|
100
|
-
self.thread_ts = event.get("thread_ts")
|
|
101
|
-
self.event_type = event.get("type", "message")
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
"""Tests for SlackTrigger."""
|
|
2
|
-
|
|
3
|
-
from typing import cast
|
|
4
|
-
|
|
5
|
-
from vellum.workflows.nodes.bases.base import BaseNode
|
|
6
|
-
from vellum.workflows.references.trigger import TriggerAttributeReference
|
|
7
|
-
from vellum.workflows.state.base import BaseState
|
|
8
|
-
from vellum.workflows.triggers.slack import SlackTrigger
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def test_slack_trigger__basic():
|
|
12
|
-
"""SlackTrigger parses Slack payload correctly."""
|
|
13
|
-
# GIVEN a Slack event payload
|
|
14
|
-
slack_payload = {
|
|
15
|
-
"event": {
|
|
16
|
-
"type": "message",
|
|
17
|
-
"text": "Hello world!",
|
|
18
|
-
"channel": "C123456",
|
|
19
|
-
"user": "U123456",
|
|
20
|
-
"ts": "1234567890.123456",
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
# WHEN we create a trigger instance
|
|
25
|
-
trigger = SlackTrigger(slack_payload)
|
|
26
|
-
|
|
27
|
-
# THEN trigger attributes contain the correct data
|
|
28
|
-
assert trigger.message == "Hello world!"
|
|
29
|
-
assert trigger.channel == "C123456"
|
|
30
|
-
assert trigger.user == "U123456"
|
|
31
|
-
assert trigger.timestamp == "1234567890.123456"
|
|
32
|
-
assert trigger.thread_ts is None
|
|
33
|
-
assert trigger.event_type == "message"
|
|
34
|
-
|
|
35
|
-
# AND the trigger can bind values to workflow state
|
|
36
|
-
state = BaseState()
|
|
37
|
-
trigger.bind_to_state(state)
|
|
38
|
-
stored = state.meta.trigger_attributes
|
|
39
|
-
message_ref = cast(TriggerAttributeReference[str], SlackTrigger.message)
|
|
40
|
-
assert message_ref in stored
|
|
41
|
-
assert stored[message_ref] == "Hello world!"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
def test_slack_trigger__with_thread():
|
|
45
|
-
"""SlackTrigger handles threaded messages."""
|
|
46
|
-
# GIVEN a Slack event payload with thread_ts
|
|
47
|
-
slack_payload = {
|
|
48
|
-
"event": {
|
|
49
|
-
"type": "message",
|
|
50
|
-
"text": "Reply in thread",
|
|
51
|
-
"channel": "C123456",
|
|
52
|
-
"user": "U123456",
|
|
53
|
-
"ts": "1234567891.123456",
|
|
54
|
-
"thread_ts": "1234567890.123456",
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
# WHEN we create a trigger instance
|
|
59
|
-
trigger = SlackTrigger(slack_payload)
|
|
60
|
-
|
|
61
|
-
# THEN thread_ts is populated
|
|
62
|
-
assert trigger.thread_ts == "1234567890.123456"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
def test_slack_trigger__empty_payload():
|
|
66
|
-
"""SlackTrigger handles empty payload gracefully."""
|
|
67
|
-
# GIVEN an empty payload
|
|
68
|
-
slack_payload: dict[str, str] = {}
|
|
69
|
-
|
|
70
|
-
# WHEN we create a trigger instance
|
|
71
|
-
trigger = SlackTrigger(slack_payload)
|
|
72
|
-
|
|
73
|
-
# THEN it returns empty strings for required fields
|
|
74
|
-
assert trigger.message == ""
|
|
75
|
-
assert trigger.channel == ""
|
|
76
|
-
assert trigger.user == ""
|
|
77
|
-
assert trigger.timestamp == ""
|
|
78
|
-
assert trigger.thread_ts is None
|
|
79
|
-
assert trigger.event_type == "message" # default value
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
def test_slack_trigger__app_mention():
|
|
83
|
-
"""SlackTrigger handles app_mention events."""
|
|
84
|
-
# GIVEN an app_mention event
|
|
85
|
-
slack_payload = {
|
|
86
|
-
"event": {
|
|
87
|
-
"type": "app_mention",
|
|
88
|
-
"text": "<@U0LAN0Z89> is it everything a river should be?",
|
|
89
|
-
"channel": "C123456",
|
|
90
|
-
"user": "U123456",
|
|
91
|
-
"ts": "1234567890.123456",
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
# WHEN we create a trigger instance
|
|
96
|
-
trigger = SlackTrigger(slack_payload)
|
|
97
|
-
|
|
98
|
-
# THEN event_type is app_mention
|
|
99
|
-
assert trigger.event_type == "app_mention"
|
|
100
|
-
assert trigger.message == "<@U0LAN0Z89> is it everything a river should be?"
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
def test_slack_trigger__attributes():
|
|
104
|
-
"""SlackTrigger has correct attributes."""
|
|
105
|
-
# GIVEN SlackTrigger class
|
|
106
|
-
# THEN it exposes attribute references for annotated fields
|
|
107
|
-
reference = SlackTrigger.message
|
|
108
|
-
assert isinstance(reference, TriggerAttributeReference)
|
|
109
|
-
assert reference.name == "message"
|
|
110
|
-
assert SlackTrigger.message is reference # cache returns same reference
|
|
111
|
-
|
|
112
|
-
annotations = SlackTrigger.__annotations__
|
|
113
|
-
assert set(annotations) >= {"message", "channel", "user", "timestamp", "thread_ts", "event_type"}
|
|
114
|
-
|
|
115
|
-
# AND references resolve when present on state
|
|
116
|
-
state = BaseState()
|
|
117
|
-
state.meta.trigger_attributes[reference] = "Hello"
|
|
118
|
-
assert reference.resolve(state) == "Hello"
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
def test_slack_trigger__graph_syntax():
|
|
122
|
-
"""SlackTrigger can be used in graph syntax."""
|
|
123
|
-
|
|
124
|
-
# GIVEN a node
|
|
125
|
-
class TestNode(BaseNode):
|
|
126
|
-
pass
|
|
127
|
-
|
|
128
|
-
# WHEN we use SlackTrigger >> Node syntax
|
|
129
|
-
graph = SlackTrigger >> TestNode
|
|
130
|
-
|
|
131
|
-
# THEN a graph is created with trigger edge
|
|
132
|
-
assert graph is not None
|
|
133
|
-
trigger_edges = list(graph.trigger_edges)
|
|
134
|
-
assert len(trigger_edges) == 1
|
|
135
|
-
assert trigger_edges[0].trigger_class == SlackTrigger
|
|
136
|
-
assert trigger_edges[0].to_node == TestNode
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
def test_slack_trigger__multiple_entrypoints():
|
|
140
|
-
"""SlackTrigger works with multiple entry points."""
|
|
141
|
-
|
|
142
|
-
# GIVEN multiple nodes
|
|
143
|
-
class NodeA(BaseNode):
|
|
144
|
-
pass
|
|
145
|
-
|
|
146
|
-
class NodeB(BaseNode):
|
|
147
|
-
pass
|
|
148
|
-
|
|
149
|
-
# WHEN we use SlackTrigger >> {NodeA, NodeB} syntax
|
|
150
|
-
graph = SlackTrigger >> {NodeA, NodeB}
|
|
151
|
-
|
|
152
|
-
# THEN both nodes have trigger edges
|
|
153
|
-
trigger_edges = list(graph.trigger_edges)
|
|
154
|
-
assert len(trigger_edges) == 2
|
|
155
|
-
target_nodes = {edge.to_node for edge in trigger_edges}
|
|
156
|
-
assert target_nodes == {NodeA, NodeB}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
def test_slack_trigger__trigger_then_graph():
|
|
160
|
-
"""SlackTrigger works with trigger >> node >> node syntax."""
|
|
161
|
-
|
|
162
|
-
# GIVEN two nodes
|
|
163
|
-
class StartNode(BaseNode):
|
|
164
|
-
pass
|
|
165
|
-
|
|
166
|
-
class EndNode(BaseNode):
|
|
167
|
-
pass
|
|
168
|
-
|
|
169
|
-
# WHEN we create SlackTrigger >> StartNode >> EndNode
|
|
170
|
-
graph = SlackTrigger >> StartNode >> EndNode
|
|
171
|
-
|
|
172
|
-
# THEN the graph has one trigger edge and one regular edge
|
|
173
|
-
trigger_edges = list(graph.trigger_edges)
|
|
174
|
-
assert len(trigger_edges) == 1
|
|
175
|
-
assert trigger_edges[0].trigger_class == SlackTrigger
|
|
176
|
-
assert trigger_edges[0].to_node == StartNode
|
|
177
|
-
|
|
178
|
-
edges = list(graph.edges)
|
|
179
|
-
assert len(edges) == 1
|
|
180
|
-
assert edges[0].to_node == EndNode
|