vellum-ai 0.14.2__py3-none-any.whl → 0.14.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. vellum/client/core/client_wrapper.py +1 -1
  2. vellum/client/resources/document_indexes/client.py +4 -4
  3. vellum/client/resources/documents/client.py +0 -2
  4. vellum/client/resources/folder_entities/client.py +4 -8
  5. vellum/client/resources/test_suite_runs/client.py +0 -2
  6. vellum/client/types/deployment_read.py +5 -5
  7. vellum/client/types/deployment_release_tag_read.py +2 -2
  8. vellum/client/types/document_document_to_document_index.py +5 -5
  9. vellum/client/types/document_index_read.py +5 -5
  10. vellum/client/types/document_read.py +1 -1
  11. vellum/client/types/enriched_normalized_completion.py +3 -3
  12. vellum/client/types/generate_options_request.py +2 -2
  13. vellum/client/types/slim_deployment_read.py +5 -5
  14. vellum/client/types/slim_document.py +3 -3
  15. vellum/client/types/slim_document_document_to_document_index.py +5 -5
  16. vellum/client/types/slim_workflow_deployment.py +5 -5
  17. vellum/client/types/test_suite_run_read.py +5 -5
  18. vellum/client/types/workflow_deployment_read.py +5 -5
  19. vellum/client/types/workflow_release_tag_read.py +2 -2
  20. vellum/prompts/blocks/compilation.py +2 -2
  21. vellum/prompts/blocks/tests/test_compilation.py +9 -0
  22. vellum/utils/templating/render.py +1 -1
  23. vellum/workflows/constants.py +9 -0
  24. vellum/workflows/nodes/core/map_node/node.py +1 -1
  25. vellum/workflows/nodes/core/retry_node/node.py +4 -3
  26. vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py +14 -0
  27. vellum/workflows/nodes/core/try_node/node.py +1 -1
  28. vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py +5 -0
  29. vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py +1 -0
  30. vellum/workflows/tests/test_undefined.py +12 -0
  31. vellum/workflows/workflows/base.py +59 -0
  32. vellum/workflows/workflows/tests/test_base_workflow.py +88 -0
  33. {vellum_ai-0.14.2.dist-info → vellum_ai-0.14.4.dist-info}/METADATA +1 -1
  34. {vellum_ai-0.14.2.dist-info → vellum_ai-0.14.4.dist-info}/RECORD +45 -44
  35. vellum_ee/workflows/display/base.py +7 -6
  36. vellum_ee/workflows/display/nodes/__init__.py +4 -0
  37. vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py +3 -5
  38. vellum_ee/workflows/display/types.py +2 -3
  39. vellum_ee/workflows/display/vellum.py +11 -5
  40. vellum_ee/workflows/display/workflows/base_workflow_display.py +10 -18
  41. vellum_ee/workflows/display/workflows/vellum_workflow_display.py +7 -41
  42. vellum_ee/workflows/tests/local_workflow/display/workflow.py +0 -2
  43. {vellum_ai-0.14.2.dist-info → vellum_ai-0.14.4.dist-info}/LICENSE +0 -0
  44. {vellum_ai-0.14.2.dist-info → vellum_ai-0.14.4.dist-info}/WHEEL +0 -0
  45. {vellum_ai-0.14.2.dist-info → vellum_ai-0.14.4.dist-info}/entry_points.txt +0 -0
@@ -1,3 +1,5 @@
1
+ import pytest
2
+
1
3
  from vellum.workflows.inputs.base import BaseInputs
2
4
  from vellum.workflows.nodes.bases.base import BaseNode
3
5
  from vellum.workflows.nodes.core.inline_subworkflow_node.node import InlineSubworkflowNode
@@ -78,3 +80,89 @@ def test_subworkflow__inherit_base_outputs():
78
80
  # TEST that the outputs are correct
79
81
  assert terminal_event.name == "workflow.execution.fulfilled", terminal_event
80
82
  assert terminal_event.outputs == {"output": "bar"}
83
+
84
+
85
+ def test_workflow__nodes_not_in_graph():
86
+ class NodeA(BaseNode):
87
+ pass
88
+
89
+ class NodeB(BaseNode):
90
+ pass
91
+
92
+ class NodeC(BaseNode):
93
+ pass
94
+
95
+ # WHEN we create a workflow with multiple unused nodes
96
+ class TestWorkflow(BaseWorkflow[BaseInputs, BaseState]):
97
+ graph = NodeA
98
+ unused_graphs = {NodeB, NodeC}
99
+
100
+ # TEST that all nodes from unused_graphs are collected
101
+ unused_graphs = set(TestWorkflow.get_unused_nodes())
102
+ assert unused_graphs == {NodeB, NodeC}
103
+
104
+
105
+ def test_workflow__unused_graphs():
106
+ class NodeA(BaseNode):
107
+ pass
108
+
109
+ class NodeB(BaseNode):
110
+ pass
111
+
112
+ class NodeC(BaseNode):
113
+ pass
114
+
115
+ class NodeD(BaseNode):
116
+ pass
117
+
118
+ class NodeE(BaseNode):
119
+ pass
120
+
121
+ class NodeF(BaseNode):
122
+ pass
123
+
124
+ # WHEN we create a workflow with unused nodes in a graph
125
+ class TestWorkflow(BaseWorkflow[BaseInputs, BaseState]):
126
+ graph = NodeA
127
+ unused_graphs = {NodeB >> {NodeC >> NodeD}, NodeE, NodeF}
128
+
129
+ # TEST that all nodes from unused_graphs are collected
130
+ unused_graphs = set(TestWorkflow.get_unused_nodes())
131
+ assert unused_graphs == {NodeB, NodeC, NodeD, NodeE, NodeF}
132
+
133
+
134
+ def test_workflow__no_unused_nodes():
135
+ class NodeA(BaseNode):
136
+ pass
137
+
138
+ class NodeB(BaseNode):
139
+ pass
140
+
141
+ # WHEN we create a workflow with no unused nodes
142
+ class TestWorkflow(BaseWorkflow[BaseInputs, BaseState]):
143
+ graph = NodeA >> NodeB
144
+
145
+ # TEST that nodes not in the graph are empty
146
+ nodes = set(TestWorkflow.get_unused_nodes())
147
+ assert nodes == set()
148
+
149
+
150
+ def test_workflow__node_in_both_graph_and_unused():
151
+ class NodeA(BaseNode):
152
+ pass
153
+
154
+ class NodeB(BaseNode):
155
+ pass
156
+
157
+ class NodeC(BaseNode):
158
+ pass
159
+
160
+ # WHEN we try to create a workflow where NodeA appears in both graph and unused
161
+ with pytest.raises(ValueError) as exc_info:
162
+
163
+ class TestWorkflow(BaseWorkflow[BaseInputs, BaseState]):
164
+ graph = NodeA >> NodeB
165
+ unused_graphs = {NodeA >> NodeC}
166
+
167
+ # THEN it should raise an error
168
+ assert "Node(s) NodeA cannot appear in both graph and unused_graphs" in str(exc_info.value)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.14.2
3
+ Version: 0.14.4
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.9,<4.0
@@ -19,8 +19,8 @@ vellum_ee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  vellum_ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  vellum_ee/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  vellum_ee/workflows/display/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- vellum_ee/workflows/display/base.py,sha256=i8o7Ex0S9BVub_91s6D2a8kHGcv3ro5XGEwSzeVSz-Y,2083
23
- vellum_ee/workflows/display/nodes/__init__.py,sha256=5XOcZJXYUgaLS55QgRJzyQ_W1tpeprjnYAeYVezqoGw,160
22
+ vellum_ee/workflows/display/base.py,sha256=ak29FIsawhaFa9_paZUHThlZRFJ1xB486JWKuSt1PYY,1965
23
+ vellum_ee/workflows/display/nodes/__init__.py,sha256=436iSAh_Ex5tC68oEYvNgPu05ZVIAVXnS4PKGrQeZ0Y,321
24
24
  vellum_ee/workflows/display/nodes/base_node_display.py,sha256=En8Ir2e1mpExkAi1T8ExOEpZbv5gu6OetaNq35-_WSY,16317
25
25
  vellum_ee/workflows/display/nodes/base_node_vellum_display.py,sha256=pLO0dORfRu--Ne9NgoyFT_CNjfpr5fGCsgbsMkUF5GM,2845
26
26
  vellum_ee/workflows/display/nodes/get_node_display_class.py,sha256=0S6ksPp53WXWh1RQVH71nj2bkCWBj4ZaFYhTxW3N2F4,1230
@@ -36,7 +36,7 @@ vellum_ee/workflows/display/nodes/vellum/error_node.py,sha256=I1Jkp2htRINJATtv1e
36
36
  vellum_ee/workflows/display/nodes/vellum/final_output_node.py,sha256=p-PvlnxpBQ7IKskZi2A19jKAtKnSxJ8LPbGMA83VkFk,2805
37
37
  vellum_ee/workflows/display/nodes/vellum/guardrail_node.py,sha256=aYZSJTxknU4LMiQdWk9LcK6CkhdozeDEMiRxfAyUNEc,2202
38
38
  vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=aNZhjw5CwpUO8IcLJ2nhYrzn96RJ3FWeJXdfDizuPzw,8491
39
- vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=9858pFzuhkAAmLcw4gkt5mPvsqWk5vqcX_vwHOg2xZw,5610
39
+ vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=MU9I8CB1X1TgL1aa1eT6DHWwNJ-2v79t74xl0oy-fBo,5510
40
40
  vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=VlO3UwkspCOdDQ-h3v8k16-7JZwWNSLpOLT4p-eirIs,3740
41
41
  vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=HkNMgdQELiON42jdO-xDLmqrEKdGx1RVqrz2DXNTLS8,3239
42
42
  vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=TMb8txILu2uWjzoxaghjgjlzeBAgzn4vkP_8zSh2qoE,1151
@@ -80,16 +80,16 @@ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_n
80
80
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=NdhE3lm7RMQ8DqkraPSq24IbOxNla9unbs4tsMWRzm4,3781
81
81
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=gHKU8Vg960ooV3uXqM2LMnVS-mGbv3aagGozQuTVTjI,2455
82
82
  vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=huKAOeMJ2MKmp6XtbvMJTUadqynoV40Ypoz9jsBEBEQ,7431
83
- vellum_ee/workflows/display/types.py,sha256=bm355ZcZ-7WaesBvIB8RbWDD7qiFmazfcNb6tEZWx3M,2940
83
+ vellum_ee/workflows/display/types.py,sha256=xDC1zy4rWKNqDtSr-h6MQfWnJ6scZ_Sadxp4t8Q3PY4,2897
84
84
  vellum_ee/workflows/display/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
85
  vellum_ee/workflows/display/utils/expressions.py,sha256=9FpOslDI-RCR5m4TgAu9KCHh4aTVnh7CHR2ykyMUDw0,1151
86
86
  vellum_ee/workflows/display/utils/vellum.py,sha256=UjK_RxnSEmlIu9klGCPWU5RAQBmgZ7cRbRdgxaTbubE,8081
87
- vellum_ee/workflows/display/vellum.py,sha256=iiBzMIHTnRb-Xb4Q9-26vOxPpK_rDPKBlky3dBew8Gg,8480
87
+ vellum_ee/workflows/display/vellum.py,sha256=0Uwe1NJA_7trwSqqqaYwilqRp6_u2GqOwSNbgTVlgZE,8638
88
88
  vellum_ee/workflows/display/workflows/__init__.py,sha256=kapXsC67VJcgSuiBMa86FdePG5A9kMB5Pi4Uy1O2ob4,207
89
- vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=Amow11LhE-GL3j8bNZ8rK1iYKjkNOhH1ECMQ-dvyLAU,17204
89
+ vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=mqP81wMam8Xl0g0qeBrFiCfpUdKqlwySINK28UU8EzM,16974
90
90
  vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=kp0u8LN_2IwshLrhMImhpZx1hRyAcD5gXY-kDuuaGMQ,1269
91
91
  vellum_ee/workflows/display/workflows/tests/test_workflow_display.py,sha256=yl1ytpl9_lijOGeDPWSypWYRJ7aOEVA7NgUg81jTuCs,2229
92
- vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=8roVFJ4SWrMRNpptwwneVcE6kJmoVtJPN-fmkfDNb7Q,19102
92
+ vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=3UHe61Em1Tj68ZAR4B6Ucas_vc1BuHlqwbicN-aJMys,17828
93
93
  vellum_ee/workflows/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
94
  vellum_ee/workflows/server/virtual_file_loader.py,sha256=X_DdNK7MfyOjKWekk6YQpOSCT6klKcdjT6nVJcBH1sM,1481
95
95
  vellum_ee/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -104,7 +104,7 @@ vellum_ee/workflows/tests/local_workflow/display/__init__.py,sha256=xo75Uqb4aErO
104
104
  vellum_ee/workflows/tests/local_workflow/display/nodes/__init__.py,sha256=szW_mgOUriyZ6v1vlnevBgkzNi8g83-ihS98UOLHVcE,155
105
105
  vellum_ee/workflows/tests/local_workflow/display/nodes/final_output.py,sha256=Kv92TCREiZsB9531KZYaBIq83uHn7e_ECw_yAbD1qfk,1017
106
106
  vellum_ee/workflows/tests/local_workflow/display/nodes/templating_node.py,sha256=5cankEe1rDZlXKgILFSPbmN0tUZhIdmcFgz_AguXTJc,1229
107
- vellum_ee/workflows/tests/local_workflow/display/workflow.py,sha256=XJCmx64TCsD2Zt55Q5SISdXSr1NO7n5xenkOtCk0WXI,2151
107
+ vellum_ee/workflows/tests/local_workflow/display/workflow.py,sha256=QV-TyH6FeqOZ53U8kj3m_annpYgRynG_hfrOuoV1cmk,2051
108
108
  vellum_ee/workflows/tests/local_workflow/inputs.py,sha256=4cgsZBoUbIY0Rs8gknC9yqxQ-sSoULclx_SAm1FT2RA,96
109
109
  vellum_ee/workflows/tests/local_workflow/metadata.json,sha256=rdu3h5qkFZiqhCAMxoyoWyMI0O8QALC5-URvSIW6F00,24
110
110
  vellum_ee/workflows/tests/local_workflow/nodes/__init__.py,sha256=1F6jxUpSKfPXPj4ZZKSbnX6Mg-VwF3euLJSZfGn6xkM,127
@@ -119,7 +119,7 @@ vellum/client/README.md,sha256=JkCJjmMZl4jrPj46pkmL9dpK4gSzQQmP5I7z4aME4LY,4749
119
119
  vellum/client/__init__.py,sha256=j6zi0NZ4BMC6JrwckvzMWuG5x8KoOvO4KqsLhvVCa68,117624
120
120
  vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
121
121
  vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
122
- vellum/client/core/client_wrapper.py,sha256=r8ZNshVLkA2wiH4k5knCrjqc-qjeEZ06Cpf5iE7nQ-g,1868
122
+ vellum/client/core/client_wrapper.py,sha256=pxEwlQ6QCqqK61MR38NnSRA28GMZgrYhfxlyjX2Sy-Y,1868
123
123
  vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
124
124
  vellum/client/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
125
125
  vellum/client/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
@@ -146,13 +146,13 @@ vellum/client/resources/deployments/types/__init__.py,sha256=29GVdoLOJsADSSSqZwb
146
146
  vellum/client/resources/deployments/types/deployments_list_request_status.py,sha256=CxlQD16KZXme7x31YYCe_3aAgEueutDTeJo5A4Au-aU,174
147
147
  vellum/client/resources/deployments/types/list_deployment_release_tags_request_source.py,sha256=hRGgWMYZL9uKCmD_2dU8-u9RCPUUGItpNn1tUY-NXKY,180
148
148
  vellum/client/resources/document_indexes/__init__.py,sha256=YpOl_9IV7xOlH4OmusQxtAJB11kxQfCSMDyT1_UD0oM,165
149
- vellum/client/resources/document_indexes/client.py,sha256=1kp5I8DC4UPvjlWsocuaNhgpIQppDfHFkZIMBKBFj9s,37520
149
+ vellum/client/resources/document_indexes/client.py,sha256=XDrceFkbX1MtrR4hoFR4b-UIC2PFS1AAlKPCWR6OcZQ,37520
150
150
  vellum/client/resources/document_indexes/types/__init__.py,sha256=IoFqKHN_VBdEhC7VL8_6Jbatrn0e0zuYEJAJUahcUR0,196
151
151
  vellum/client/resources/document_indexes/types/document_indexes_list_request_status.py,sha256=sfUEB0cvOSmlE2iITqnMVyHv05Zy2fWP4QjCIYqMg0M,178
152
152
  vellum/client/resources/documents/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
153
- vellum/client/resources/documents/client.py,sha256=V2OREx-YVxQxGgC_84QQGCUmW3QveOgLB2SEhUGPde4,27864
153
+ vellum/client/resources/documents/client.py,sha256=mSUvWf6iFXK6-QtfU9dTXNKhcRoMOA_6vyjtMzJ2S4g,27862
154
154
  vellum/client/resources/folder_entities/__init__.py,sha256=QOp7UMMB3a32GrfVaud35ECn4fqPBKXxCyClsDgd6GE,175
155
- vellum/client/resources/folder_entities/client.py,sha256=ep5dnfJmEuEyrOSUftEVwKaeXrg1DENEDjO4_nw9yq0,11114
155
+ vellum/client/resources/folder_entities/client.py,sha256=xkT6D1TwPxvf1eXgDhRpKg7_O2V78jwBsIGyJgnI5SY,11110
156
156
  vellum/client/resources/folder_entities/types/__init__.py,sha256=cHabrupjC-HL3kj-UZ9WdVzqHoQHCu6QsLFB3wlOs7k,212
157
157
  vellum/client/resources/folder_entities/types/folder_entities_list_request_entity_status.py,sha256=nK9b9fRSeCfjn2V2Hifl1IbhFeVsNkoeXJ8rCAPADFg,183
158
158
  vellum/client/resources/metric_definitions/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
@@ -164,7 +164,7 @@ vellum/client/resources/organizations/client.py,sha256=Uye92moqjAcOCs4astmuFpT92
164
164
  vellum/client/resources/sandboxes/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
165
165
  vellum/client/resources/sandboxes/client.py,sha256=i-6DHap5k6gFcYS-kWI8ayJFVZxb-GENRft6BJwVam4,17158
166
166
  vellum/client/resources/test_suite_runs/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
167
- vellum/client/resources/test_suite_runs/client.py,sha256=gCF1ewlUrCsZhnXYOYqdUuD2twTrQ-u95xOgvRy7WAw,15130
167
+ vellum/client/resources/test_suite_runs/client.py,sha256=tU-N1fEfXQPomt2f058PUNIhnGoMV4vo471PlQanTAs,15128
168
168
  vellum/client/resources/test_suites/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
169
169
  vellum/client/resources/test_suites/client.py,sha256=SlO-IXyhddm1U6WtrLIUUvlImf2vXC22bX2n9fpp6-c,25969
170
170
  vellum/client/resources/workflow_deployments/__init__.py,sha256=_duH6m1CDWcfqX6DTBNjO3ar4Xrl-f5PozMaTcT4Kow,251
@@ -249,20 +249,20 @@ vellum/client/types/create_test_suite_test_case_request.py,sha256=SYUz7_aZMQlin_
249
249
  vellum/client/types/deployment_history_item.py,sha256=YfcHo4X5OjHXsffndZoAjShYncUN19ZwIm96qKE0G7o,1310
250
250
  vellum/client/types/deployment_provider_payload_response.py,sha256=b0lkt0rK88ARQaMWn9MAHeWtMBsZKofDMlOAUsQvv7g,818
251
251
  vellum/client/types/deployment_provider_payload_response_payload.py,sha256=xHLQnWFN0AZRZdrOiKawwpoKK7BTmnZfp0P7FCc2ZqE,188
252
- vellum/client/types/deployment_read.py,sha256=NtXmYsYJOATxkMxeVkSM35XzDVGbva3RWmn5midBd1A,2160
252
+ vellum/client/types/deployment_read.py,sha256=e1Z3vHwtJ1AsNE83PqXte9aFV2LhqEK4zRUeMSVJPGA,2160
253
253
  vellum/client/types/deployment_release_tag_deployment_history_item.py,sha256=df4qKHT1f-z0jnRS4UmP8MQe6u3PwYej_d8KDF7EL88,631
254
- vellum/client/types/deployment_release_tag_read.py,sha256=YlwssIgBd5lKVqelH-gejQXQ7l31vrsRNMJKDGDyTEA,1129
254
+ vellum/client/types/deployment_release_tag_read.py,sha256=GXQBJYYYU30o_vAx6WWFAgliVXSP-mDTo7krCtbuyi4,1129
255
255
  vellum/client/types/docker_service_token.py,sha256=T0icNHBKsIs6TrEiDRjckM_f37hcF1DMwEE8161tTvY,614
256
- vellum/client/types/document_document_to_document_index.py,sha256=V0SkL-U3LHAL8dOp0fnOjdssuldkabZVJ2QCY_l5KFE,1404
256
+ vellum/client/types/document_document_to_document_index.py,sha256=hR8RUMQK8Nz0b1-xMbbQP66XKqvwC4V3__5Dk1Z47Dg,1404
257
257
  vellum/client/types/document_index_chunking.py,sha256=TU0Y7z0Xacm3dhzEDuDIG3ZKJCu3vNURRh3PqEd17mY,356
258
258
  vellum/client/types/document_index_chunking_request.py,sha256=g9BKCsHKg5kzjG7YYeMNQ_5R8TXLeSgumJlMXoSfBcs,435
259
259
  vellum/client/types/document_index_indexing_config.py,sha256=xL1pCzUOkw5sSie1OrBpasE3bVnv0UyZBn7uZztbhbs,781
260
260
  vellum/client/types/document_index_indexing_config_request.py,sha256=Wt-ys1o_acHNyLU0c1laG2PVT7rgCfwO54f5nudAxk4,832
261
- vellum/client/types/document_index_read.py,sha256=9btlJ9-H7DwTFfBljT2PuxtyTQjhiWTStvGqVJMwirE,1469
261
+ vellum/client/types/document_index_read.py,sha256=cXL115A4h-TFiGc29tAkXb1pkuK0RzIquyOu1Pv7Jug,1469
262
262
  vellum/client/types/document_processing_state.py,sha256=ISlurj7jQzwHzxPzDZTqeAIgSIIGMBBPgcOSoe04pTU,211
263
- vellum/client/types/document_read.py,sha256=NpI11FeW03pFiv-SMLEHu2yMkzibHQzzxqXRpcngi-s,1713
263
+ vellum/client/types/document_read.py,sha256=6nwEvVvVe-6y2vtPNYB7KtcFoaydH2ow-WhCmCAvMQ8,1713
264
264
  vellum/client/types/document_status.py,sha256=GD_TSoFmZUBJnPl-chAmaQFzQ2_TYO3PSqi3-9QfEHE,122
265
- vellum/client/types/enriched_normalized_completion.py,sha256=qk8o_PCj8rvgxa9omng0Nx5SvGNgzS7wnXMpoH56s8k,1825
265
+ vellum/client/types/enriched_normalized_completion.py,sha256=kdNabXh7azGZPGC4vdXLlXriH8L5sUmJ79uXYcJGh8o,1825
266
266
  vellum/client/types/entity_status.py,sha256=bY0jEpISwXqFnbWd3PSb3yXEr-ounPXlAO_fyvHV7l8,158
267
267
  vellum/client/types/entity_visibility.py,sha256=BX1KdYd7dirpv878XDDvtOHkMOqebM8-lkWmLyFLaw4,184
268
268
  vellum/client/types/environment_enum.py,sha256=Wcewxp1cpGAMDIAZbTp4Y0GGfvy2Bq_Qu_67f_wBDGA,179
@@ -319,7 +319,7 @@ vellum/client/types/function_call_request.py,sha256=udGEdk66q1zTpEFE2xq-cu6w_ahM
319
319
  vellum/client/types/function_call_vellum_value.py,sha256=lLJb-S_-S_UXm6una1BMyCbqLpMhbbMcaVIYNO45h5o,759
320
320
  vellum/client/types/function_call_vellum_value_request.py,sha256=oUteuCfWcj7UJbSE_Vywmmva9kyTaeL9iv5WJHabDVs,788
321
321
  vellum/client/types/function_definition.py,sha256=UzlrrBtdWe7RMStfc1UVdcnr4s8N4mOhsM306p6x_CE,1693
322
- vellum/client/types/generate_options_request.py,sha256=TUDqsH0tiPWDZH4T-p5gsvKvwVHEVZ_k6oI3qsjlsk4,782
322
+ vellum/client/types/generate_options_request.py,sha256=MGoX4EemN7ZVy-cTAcOQ_VuVibSzY_Rix3Ltp5aqSlo,782
323
323
  vellum/client/types/generate_request.py,sha256=gL6ywAJe6YCJ5oKbtYwL2H_TMdC_6PJZAI7-P3UOF3I,1286
324
324
  vellum/client/types/generate_response.py,sha256=QjbBGFGRE1tHcyDodM6Avzq0YHI4gsprkAWpdqZRrh4,1135
325
325
  vellum/client/types/generate_result.py,sha256=gh3cLPIFv2Jx4ZLx4ZY7s1iOzAjoA0Saj7cXMdp4v-A,1094
@@ -499,10 +499,10 @@ vellum/client/types/sentence_chunker_config.py,sha256=is3t8niS19gjRtqewSkLYpskJC
499
499
  vellum/client/types/sentence_chunker_config_request.py,sha256=EpGTP4z3YttiThYmdjwIBOI5YfsOlNP17dI9yiYqi3I,716
500
500
  vellum/client/types/sentence_chunking.py,sha256=guqU3072X4h8Laf6LhTWQ5lpjBpTgoXRxKp5iXJby2U,783
501
501
  vellum/client/types/sentence_chunking_request.py,sha256=77gv1fVc9IaTuGGx3O1HB0LF9sXM5pSTWksl8BEmvLU,812
502
- vellum/client/types/slim_deployment_read.py,sha256=DIYkuill3hfoNDYpgO8oZ7Aq9KGbM09dZv2gOEPPGeQ,1826
503
- vellum/client/types/slim_document.py,sha256=frw1r47C11M-AsQ5UiDMW-EIuK0JTYUrSh-s6ZPtQSA,2395
504
- vellum/client/types/slim_document_document_to_document_index.py,sha256=XDEkftIcN4w4LguyzSw7x-V-apbmxEAk2APZfAPzyiw,1346
505
- vellum/client/types/slim_workflow_deployment.py,sha256=FW7qXPtSIP9QAzECbl8gKL1iFqKWTAfIjSVwNTIL6GA,2189
502
+ vellum/client/types/slim_deployment_read.py,sha256=Xqwjx1QSpWzEXx5QPrBv5UT1QrwTrxoL2jpzOcf94Zc,1826
503
+ vellum/client/types/slim_document.py,sha256=HJiymYPvRxfxhBUkD8epW0hQ2Vt9PQtv398QsRb4DsI,2395
504
+ vellum/client/types/slim_document_document_to_document_index.py,sha256=vo7WbRRzbApQxT0MZu_NkjQmsFD8LoezmyeKBeGZpI8,1346
505
+ vellum/client/types/slim_workflow_deployment.py,sha256=p8nVtnAjPYZArkuVZE40qDjXRXHPpEKvIngKE2NAmLE,2189
506
506
  vellum/client/types/streaming_ad_hoc_execute_prompt_event.py,sha256=NdgmJ3AZMp6io-whZIGnGb49aiqz6__KafsrzjEF_9o,1183
507
507
  vellum/client/types/streaming_execute_prompt_event.py,sha256=bjfY5ZU8ZI048a7x1VW8dDXMtSl-3Ej5koSpfKboJj0,1161
508
508
  vellum/client/types/streaming_prompt_execution_meta.py,sha256=vFLNQAVbbuvQamO9NeKDDTLQDe2n7YVLqxbhOaf6Ytc,736
@@ -580,7 +580,7 @@ vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py,sh
580
580
  vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py,sha256=IdlTWDda1061PwsHaoGDyB7-2lBVSus7Z8agcdmSOYE,905
581
581
  vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py,sha256=0XxaQKR-pb__We2EDSoiKTcz3v-nKodIYtnwFXFQ_GM,912
582
582
  vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py,sha256=psLq8aL-ygkW-HZZFiYerDrCrTf556RuXbOOAUuMvr8,1229
583
- vellum/client/types/test_suite_run_read.py,sha256=3etXdX5ks6H0nuuTLebNl_is2ZKST17wdpLm60YVSf8,1439
583
+ vellum/client/types/test_suite_run_read.py,sha256=g6-ViS7YexJCVaZ6qNZhVZiJ8EUCRFbQXFlPaAhF23U,1439
584
584
  vellum/client/types/test_suite_run_state.py,sha256=E4f_AfzXBnxhObLLZ12dBzdoYlRm-gaTqkzrZQ_KfCo,197
585
585
  vellum/client/types/test_suite_run_test_suite.py,sha256=Wcmbk1XglVFKiDcqxsW7-c7QtOrIqJBK-vWXKXvORXY,602
586
586
  vellum/client/types/test_suite_run_workflow_release_tag_exec_config.py,sha256=0ANnBKsPqBNdEoZGEfwRzZKbXbzT24T2YNC7c-3Qy1M,1144
@@ -631,7 +631,7 @@ vellum/client/types/vellum_variable.py,sha256=LNNNlYbT1VqadO6aUmeir9cXirtxgrIl-R
631
631
  vellum/client/types/vellum_variable_extensions.py,sha256=PsrRo0STOKhxrkSFRrOXCPlf1x5Uxpy3vVMJz02O20E,685
632
632
  vellum/client/types/vellum_variable_type.py,sha256=SX8PY9l8zui3IaT9BwmOxczmb_WE7S9w37JshEZVemE,371
633
633
  vellum/client/types/workflow_deployment_history_item.py,sha256=4WUPzcthBvEZ7iaisKfEg0soUtHjcTEnL_VUVaKpTyw,1420
634
- vellum/client/types/workflow_deployment_read.py,sha256=zBn6JDHemCnmU6M4tMtyxwmxETOPeGKJeg9fmiAEP4w,2363
634
+ vellum/client/types/workflow_deployment_read.py,sha256=tp1WaojTVE_dz1oiZ97h8ixMbIWDgy2yRu08A7wPMpw,2363
635
635
  vellum/client/types/workflow_event_error.py,sha256=HIewu_kh3KNPpWegAQArvAGHCp-cBIXqlUAAc_dBZhc,687
636
636
  vellum/client/types/workflow_execution_actual_chat_history_request.py,sha256=L6U8tgM7SiU4qGJMZChFzj6HfHgO-YAlTXfbT7ZIaE4,1993
637
637
  vellum/client/types/workflow_execution_actual_json_request.py,sha256=5QYaPCSOwFnjH_kTrB2bTznTMFExSZdBhTkmelf1h4Q,1931
@@ -657,7 +657,7 @@ vellum/client/types/workflow_output_string.py,sha256=_jclzbQ-Wlf-7FEVTWXhs9h5FWf
657
657
  vellum/client/types/workflow_push_deployment_config_request.py,sha256=pG6bZtlw7S0TcXtNRQNa7y_2NodZe7dp5SchIrgRUVU,745
658
658
  vellum/client/types/workflow_push_exec_config.py,sha256=6TaVMVqhSOz4DnY46l8axPDtytSioXDl9nHvFXSxH1g,94
659
659
  vellum/client/types/workflow_push_response.py,sha256=1vUSZmZ1GK1242dAkNwJnJI0rL3pBT3_0HOLLjdiutw,724
660
- vellum/client/types/workflow_release_tag_read.py,sha256=S7ekl01oVDetL8R7MdBTb4cDhHN0W0iHGNJ1-ZpY3Tc,1155
660
+ vellum/client/types/workflow_release_tag_read.py,sha256=hevIvlmqfWnZWBLXAcXC7jxXQfnG4YUaV13DIvBycPQ,1155
661
661
  vellum/client/types/workflow_release_tag_workflow_deployment_history_item.py,sha256=pjWobdk9mZD3Px86rwFHfs_PYJBGXDKQUkxsgNEe6EA,825
662
662
  vellum/client/types/workflow_request_chat_history_input_request.py,sha256=WCZvwDuNS8ylWOOoKD3t7fHLSYB0h-fVCqeDRzqPoPA,898
663
663
  vellum/client/types/workflow_request_input_request.py,sha256=wgbKgKy-ftTzc6VMsgPkIiHaAujSiJjLizp2GfksX-A,632
@@ -709,10 +709,10 @@ vellum/plugins/utils.py,sha256=U9ZY9KdE3RRvbcG01hXxu9CvfJD6Fo7nJDgcHjQn0FI,606
709
709
  vellum/plugins/vellum_mypy.py,sha256=QTuMSq6PiZW1dyTUZ5Bf1d4XkgFj0TKAgZLP8f4UgL4,27914
710
710
  vellum/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
711
711
  vellum/prompts/blocks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
712
- vellum/prompts/blocks/compilation.py,sha256=P2gdL4bRR1j0IbvQFzS13cJzGpnaDZFhdV3x5COVvs0,9481
712
+ vellum/prompts/blocks/compilation.py,sha256=lpGVuquFaHnGglON7-S8fIHgUIZyo6TdXOmBtG_Si-0,9497
713
713
  vellum/prompts/blocks/exceptions.py,sha256=vmk5PV6Vyw9nKjZYQDUDW0LH8MfQNIgFvFb_mFWdIRI,50
714
714
  vellum/prompts/blocks/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
715
- vellum/prompts/blocks/tests/test_compilation.py,sha256=WhR8L7AzxssZiizItAbbtQMXZ3An5RMUws0kfCwJBgw,4841
715
+ vellum/prompts/blocks/tests/test_compilation.py,sha256=EOUtdzJDFGbGhoc_y5XTMyO0HOpOM7FYJssPzd_yRVg,5235
716
716
  vellum/prompts/blocks/types.py,sha256=6aSJQco-5kKeadfKVVXF_SrQPlIJgMYVNc-C7so1sY8,975
717
717
  vellum/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
718
718
  vellum/resources/__init__.py,sha256=sQWK7g_Z4EM7pa7fy6vy3d_DMdTJ4wVcozBn3Lx4Qpo,141
@@ -1262,7 +1262,7 @@ vellum/utils/templating/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
1262
1262
  vellum/utils/templating/constants.py,sha256=8OHMO6WFAEimbIaiHc5gy6s91D7_KvW-vTlEMWwvl_M,711
1263
1263
  vellum/utils/templating/custom_filters.py,sha256=XVHriwazejRZmxB_eg4xHgCxl7AiQQ2sx-hRLMmylfU,885
1264
1264
  vellum/utils/templating/exceptions.py,sha256=cDp140PP4OnInW4qAvg3KqiSiF70C71UyEAKRBR1Abo,46
1265
- vellum/utils/templating/render.py,sha256=ooQxCiBMAizPVfwJsIPS2feSBUuoalR1UeJMO0Df-3s,2029
1265
+ vellum/utils/templating/render.py,sha256=5OsD1e9fks1aysYTyPKjYGaloYUbIKWpajcxtjtiFuU,2037
1266
1266
  vellum/utils/templating/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1267
1267
  vellum/utils/templating/tests/test_custom_filters.py,sha256=mkJwc7t1gE13SKgPxhF-lN_m2XGCkphCB9Te81dGekI,532
1268
1268
  vellum/utils/typing.py,sha256=wx_daFqD69cYkuJTVnvNrpjhqC3uuhbnyJ9_bIwC9OU,327
@@ -1270,7 +1270,7 @@ vellum/utils/uuid.py,sha256=Ch6wWRgwICxLxJCTl5iE3EdRlZj2zADR-zUMUtjcMWM,214
1270
1270
  vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
1271
1271
  vellum/workflows/README.md,sha256=MLNm-ihc0ao6I8gwwOhXQQBf0jOf-EsA9C519ALYI1o,3610
1272
1272
  vellum/workflows/__init__.py,sha256=CssPsbNvN6rDhoLuqpEv7MMKGa51vE6dvAh6U31Pcio,71
1273
- vellum/workflows/constants.py,sha256=iPhVhkLfNyFXIUufIR7_9aNFfVOfoDAC8e7jWW02GsQ,949
1273
+ vellum/workflows/constants.py,sha256=2yg4_uo5gpqViy3ZLSwfC8qTybleYCtOnhA4Rj6bacM,1310
1274
1274
  vellum/workflows/context.py,sha256=R8qdsFbD_0p7B6PWnyvSrZ_aOgMtGw-_uk0P0UAmwLA,1230
1275
1275
  vellum/workflows/descriptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1276
1276
  vellum/workflows/descriptors/base.py,sha256=gSib3vJpcI_UC8y8jhdp-hOK3_TGTF-SuwdhxF6x5iQ,14332
@@ -1342,18 +1342,18 @@ vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=I7mDUiVoFj-l-
1342
1342
  vellum/workflows/nodes/core/inline_subworkflow_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1343
1343
  vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py,sha256=n0-821Ov9ZfRFX_lbzLy5o2rX8fEw2qoxz0aFWCOxVg,1547
1344
1344
  vellum/workflows/nodes/core/map_node/__init__.py,sha256=MXpZYmGfhsMJHqqlpd64WiJRtbAtAMQz-_3fCU_cLV0,56
1345
- vellum/workflows/nodes/core/map_node/node.py,sha256=8-vVR5GywLD9vpayfXmC5_CL2oQJyHhpbG4znFoUkY0,8342
1345
+ vellum/workflows/nodes/core/map_node/node.py,sha256=O-5pKm_STw99IeoidcneDl6FexQc8ehp0x8UPO3AYBQ,8294
1346
1346
  vellum/workflows/nodes/core/map_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1347
1347
  vellum/workflows/nodes/core/map_node/tests/test_node.py,sha256=8ZXs4IIYrXpa4pZz4BSx9t0fx_Usgk3_KF6r3kcy9tE,2547
1348
1348
  vellum/workflows/nodes/core/retry_node/__init__.py,sha256=lN2bIy5a3Uzhs_FYCrooADyYU6ZGShtvLKFWpelwPvo,60
1349
- vellum/workflows/nodes/core/retry_node/node.py,sha256=loIZJUcCsN0y3mr4pw7f23l4eDY69IoTwA2TMnxJlxA,4292
1349
+ vellum/workflows/nodes/core/retry_node/node.py,sha256=Vt3fx4G-DRIb9a-IHIUfaAclgfbzOPEQVkcumwhl9HE,4355
1350
1350
  vellum/workflows/nodes/core/retry_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1351
1351
  vellum/workflows/nodes/core/retry_node/tests/test_node.py,sha256=RM_OHwxrHwyxvlQQBJPqVBxpedFuWQ9h2-Xa3kP75sc,4399
1352
1352
  vellum/workflows/nodes/core/templating_node/__init__.py,sha256=GmyuYo81_A1_Bz6id69ozVFS6FKiuDsZTiA3I6MaL2U,70
1353
1353
  vellum/workflows/nodes/core/templating_node/node.py,sha256=Vqlg4L-5XNuIdbZKQe-GEYqTIV7iXNjLO7QIRgz4ujc,3722
1354
- vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py,sha256=-53Vh0YOnk8sAcmZ7drdKgBcSCj68DYts5-jFNNsPRE,6755
1354
+ vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py,sha256=nY2P6r7cW85k7NEKXUFNeDTMWlz8ZEZyMY2Sg-0qO_E,7327
1355
1355
  vellum/workflows/nodes/core/try_node/__init__.py,sha256=JVD4DrldTIqFQQFrubs9KtWCCc0YCAc7Fzol5ZWIWeM,56
1356
- vellum/workflows/nodes/core/try_node/node.py,sha256=bk2uhYUl10yaPJlOBWxiL7igTUrL_7mM9S2nvsdWB68,4242
1356
+ vellum/workflows/nodes/core/try_node/node.py,sha256=CA26Mb6OK4Mr-qze183Dh-gdBQVN4Q5P0Kvg5MhCjTI,4244
1357
1357
  vellum/workflows/nodes/core/try_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1358
1358
  vellum/workflows/nodes/core/try_node/tests/test_node.py,sha256=Wc2kLl-MkffsBxl3IiFaqLd16e2Iosxhk7qBnojPvQg,4092
1359
1359
  vellum/workflows/nodes/displayable/__init__.py,sha256=6F_4DlSwvHuilWnIalp8iDjjDXl0Nmz4QzJV2PYe5RI,1023
@@ -1368,7 +1368,7 @@ vellum/workflows/nodes/displayable/bases/base_prompt_node/__init__.py,sha256=Org
1368
1368
  vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py,sha256=cKsNziwWJ9jUjS578I5dIka-zmsXz94hYZR3Cofm8aE,3140
1369
1369
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/__init__.py,sha256=Hl35IAoepRpE-j4cALaXVJIYTYOF3qszyVbxTj4kS1s,82
1370
1370
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/constants.py,sha256=fnjiRWLoRlC4Puo5oQcpZD5Hd-EesxsAo9l5tGAkpZQ,270
1371
- vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=UrmI8NkNJFGq9f59gD12S1e8D_R3ROHc934JmtfQk9I,6841
1371
+ vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=zCBRdz01_G4Rh_G3UoI0--7VTFNi1HlFMCK1m_GVsZM,6988
1372
1372
  vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=NbwLOoWG5VVcnwL63WmaYck87y2QW36-JQWerOlKyx4,5713
1373
1373
  vellum/workflows/nodes/displayable/bases/search_node.py,sha256=3UtbqY3QO4kzfJHbmUNZGnEEfJmaoiF892u8H6TGjp8,5381
1374
1374
  vellum/workflows/nodes/displayable/bases/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1409,7 +1409,7 @@ vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=sS
1409
1409
  vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1410
1410
  vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/test_node.py,sha256=c8RP-QnsERzIinVytAc0jVZ9nd7Jl3hbc9-_yG91Ros,5445
1411
1411
  vellum/workflows/nodes/displayable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1412
- vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py,sha256=CI7iMyyIlnds1rkVSjICOFg2UY0yV51NTKtKpfeEME4,4677
1412
+ vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py,sha256=LaxohBcKfSW2PSiBBlx67FdW_q4YC2BM2ouH-vuGPAA,4700
1413
1413
  vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=VepO5z1277c1y5N6LLIC31nnWD1aak2m5oPFplfJHHs,6935
1414
1414
  vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=wOd5WvQdcwiqcmXExQr95QtIhSgpB6F3EfjybBuTw9E,2558
1415
1415
  vellum/workflows/nodes/experimental/README.md,sha256=eF6DfIL8t-HbF9-mcofOMymKrraiBHDLKTlnBa51ZiE,284
@@ -1450,6 +1450,7 @@ vellum/workflows/state/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
1450
1450
  vellum/workflows/state/tests/test_state.py,sha256=jBynFR4m74Vn51DdmKBLkxb1loTy1CnJPtzPmdAFQUo,5159
1451
1451
  vellum/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1452
1452
  vellum/workflows/tests/test_sandbox.py,sha256=JKwaluI-lODQo7Ek9sjDstjL_WTdSqUlVik6ZVTfVOA,1826
1453
+ vellum/workflows/tests/test_undefined.py,sha256=zMCVliCXVNLrlC6hEGyOWDnQADJ2g83yc5FIM33zuo8,353
1453
1454
  vellum/workflows/types/__init__.py,sha256=KxUTMBGzuRCfiMqzzsykOeVvrrkaZmTTo1a7SLu8gRM,68
1454
1455
  vellum/workflows/types/core.py,sha256=kMQremh_I8egXpiKmtMQbB6e3OczAWiRnnTq5V6xlD0,928
1455
1456
  vellum/workflows/types/generics.py,sha256=9HzFvtcF8qpn1wcsly7er250MMwdS9r-BjSVco9UBj4,584
@@ -1469,12 +1470,12 @@ vellum/workflows/utils/uuids.py,sha256=DFzPv9RCvsKhvdTEIQyfSek2A31D6S_QcmeLPbgrg
1469
1470
  vellum/workflows/utils/vellum_variables.py,sha256=fC2aSLvlS31D15dOWu43LBRR0QsgUKNXBiCUvvaLXSs,3231
1470
1471
  vellum/workflows/vellum_client.py,sha256=ODrq_TSl-drX2aezXegf7pizpWDVJuTXH-j6528t75s,683
1471
1472
  vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
1472
- vellum/workflows/workflows/base.py,sha256=tBivLLLPtMyMi2Bd5WjbwQ2_zZFpG8rNfEidfQ1x2YI,19403
1473
+ vellum/workflows/workflows/base.py,sha256=eHa5iojvXFl3_vSb3jCoYt24dZdjppoohAqv99z8xRY,22096
1473
1474
  vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnadGsrSZGa7t7LpJA,2008
1474
1475
  vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1475
- vellum/workflows/workflows/tests/test_base_workflow.py,sha256=dz5F3DuGOk9qUMjmNd-GdEE3320G5ko5nJ6J0QJyVcY,2659
1476
- vellum_ai-0.14.2.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1477
- vellum_ai-0.14.2.dist-info/METADATA,sha256=w083H2Gds-z_b4DPwlYGdnCjD-UXv1q_3CqQAZtSLvI,5407
1478
- vellum_ai-0.14.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1479
- vellum_ai-0.14.2.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1480
- vellum_ai-0.14.2.dist-info/RECORD,,
1476
+ vellum/workflows/workflows/tests/test_base_workflow.py,sha256=dTwC2VIqXNJ5yJ3MPwGNB9QpVzVzycT2kiBIljxhCwM,4836
1477
+ vellum_ai-0.14.4.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1478
+ vellum_ai-0.14.4.dist-info/METADATA,sha256=cV7wQcYIgzVrVDPeufin7dSQ5sRFUGtzbAhDw9kYKKc,5407
1479
+ vellum_ai-0.14.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1480
+ vellum_ai-0.14.4.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1481
+ vellum_ai-0.14.4.dist-info/RECORD,,
@@ -74,14 +74,15 @@ EntrypointDisplayOverridesType = TypeVar("EntrypointDisplayOverridesType", bound
74
74
 
75
75
 
76
76
  @dataclass
77
- class WorkflowOutputDisplayOverrides:
77
+ class WorkflowOutputDisplay:
78
78
  id: UUID
79
+ name: str
79
80
 
80
81
 
81
82
  @dataclass
82
- class WorkflowOutputDisplay(WorkflowOutputDisplayOverrides):
83
- pass
84
-
83
+ class WorkflowOutputDisplayOverrides(WorkflowOutputDisplay):
84
+ """
85
+ DEPRECATED: Use WorkflowOutputDisplay instead. Will be removed in 0.15.0
86
+ """
85
87
 
86
- WorkflowOutputDisplayType = TypeVar("WorkflowOutputDisplayType", bound=WorkflowOutputDisplay)
87
- WorkflowOutputDisplayOverridesType = TypeVar("WorkflowOutputDisplayOverridesType", bound=WorkflowOutputDisplayOverrides)
88
+ pass
@@ -1,4 +1,8 @@
1
1
  # flake8: noqa: F401
2
2
 
3
3
  # Force an import to ensure that all display classes are registered with the BaseNodeDisplay registry
4
+ from .base_node_display import BaseNodeDisplay
4
5
  from .vellum import * # noqa: F401
6
+ from .vellum import __all__ as all_vellum_display_nodes
7
+
8
+ __all__ = ["BaseNodeDisplay"] + all_vellum_display_nodes
@@ -1,5 +1,5 @@
1
1
  from uuid import UUID
2
- from typing import ClassVar, Dict, Generic, List, Optional, Tuple, Type, TypeVar, cast
2
+ from typing import ClassVar, Dict, Generic, List, Optional, Tuple, Type, TypeVar
3
3
 
4
4
  from vellum import VellumVariable
5
5
  from vellum.workflows.inputs.base import BaseInputs
@@ -10,7 +10,7 @@ from vellum_ee.workflows.display.nodes.utils import raise_if_descriptor
10
10
  from vellum_ee.workflows.display.nodes.vellum.utils import create_node_input
11
11
  from vellum_ee.workflows.display.types import WorkflowDisplayContext
12
12
  from vellum_ee.workflows.display.utils.vellum import infer_vellum_variable_type
13
- from vellum_ee.workflows.display.vellum import NodeInput, WorkflowOutputVellumDisplay
13
+ from vellum_ee.workflows.display.vellum import NodeInput
14
14
  from vellum_ee.workflows.display.workflows.get_vellum_workflow_display_class import get_workflow_display
15
15
 
16
16
  _InlineSubworkflowNodeType = TypeVar("_InlineSubworkflowNodeType", bound=InlineSubworkflowNode)
@@ -110,9 +110,7 @@ class BaseInlineSubworkflowNodeDisplay(
110
110
  ) -> List[VellumVariable]:
111
111
  workflow_outputs: List[VellumVariable] = []
112
112
  for output_descriptor in raise_if_descriptor(node.subworkflow).Outputs: # type: ignore[union-attr]
113
- workflow_output_display = cast(
114
- WorkflowOutputVellumDisplay, display_context.workflow_output_displays[output_descriptor]
115
- )
113
+ workflow_output_display = display_context.workflow_output_displays[output_descriptor]
116
114
  output_type = infer_vellum_variable_type(output_descriptor)
117
115
  workflow_outputs.append(
118
116
  VellumVariable(id=str(workflow_output_display.id), key=workflow_output_display.name, type=output_type)
@@ -13,7 +13,7 @@ from vellum_ee.workflows.display.base import (
13
13
  StateValueDisplayType,
14
14
  WorkflowInputsDisplayType,
15
15
  WorkflowMetaDisplayType,
16
- WorkflowOutputDisplayType,
16
+ WorkflowOutputDisplay,
17
17
  )
18
18
 
19
19
  if TYPE_CHECKING:
@@ -45,7 +45,6 @@ class WorkflowDisplayContext(
45
45
  StateValueDisplayType,
46
46
  NodeDisplayType,
47
47
  EntrypointDisplayType,
48
- WorkflowOutputDisplayType,
49
48
  EdgeDisplayType,
50
49
  ]
51
50
  ):
@@ -63,6 +62,6 @@ class WorkflowDisplayContext(
63
62
  default_factory=dict
64
63
  )
65
64
  entrypoint_displays: Dict[Type[BaseNode], EntrypointDisplayType] = field(default_factory=dict)
66
- workflow_output_displays: Dict[BaseDescriptor, WorkflowOutputDisplayType] = field(default_factory=dict)
65
+ workflow_output_displays: Dict[BaseDescriptor, WorkflowOutputDisplay] = field(default_factory=dict)
67
66
  edge_displays: Dict[Tuple[Port, Type[BaseNode]], EdgeDisplayType] = field(default_factory=dict)
68
67
  port_displays: Dict[Port, "PortDisplay"] = field(default_factory=dict)
@@ -20,7 +20,6 @@ from vellum_ee.workflows.display.base import (
20
20
  WorkflowInputsDisplayOverrides,
21
21
  WorkflowMetaDisplay,
22
22
  WorkflowMetaDisplayOverrides,
23
- WorkflowOutputDisplay,
24
23
  WorkflowOutputDisplayOverrides,
25
24
  )
26
25
 
@@ -123,16 +122,23 @@ class EntrypointVellumDisplay(EntrypointVellumDisplayOverrides):
123
122
 
124
123
 
125
124
  @dataclass
126
- class WorkflowOutputVellumDisplayOverrides(WorkflowOutputDisplay, WorkflowOutputDisplayOverrides):
127
- name: str
128
- label: str
129
- node_id: UUID
125
+ class WorkflowOutputVellumDisplayOverrides(WorkflowOutputDisplayOverrides):
126
+ """
127
+ DEPRECATED: Use WorkflowOutputDisplay instead. Will be removed in 0.15.0
128
+ """
129
+
130
+ label: Optional[str] = None
131
+ node_id: Optional[UUID] = None
130
132
  display_data: Optional[NodeDisplayData] = None
131
133
  target_handle_id: Optional[UUID] = None
132
134
 
133
135
 
134
136
  @dataclass
135
137
  class WorkflowOutputVellumDisplay(WorkflowOutputVellumDisplayOverrides):
138
+ """
139
+ DEPRECATED: Use WorkflowOutputDisplay instead. Will be removed in 0.15.0
140
+ """
141
+
136
142
  pass
137
143
 
138
144
 
@@ -28,8 +28,7 @@ from vellum_ee.workflows.display.base import (
28
28
  WorkflowInputsDisplayType,
29
29
  WorkflowMetaDisplayOverridesType,
30
30
  WorkflowMetaDisplayType,
31
- WorkflowOutputDisplayOverridesType,
32
- WorkflowOutputDisplayType,
31
+ WorkflowOutputDisplay,
33
32
  )
34
33
  from vellum_ee.workflows.display.nodes.base_node_vellum_display import BaseNodeVellumDisplay
35
34
  from vellum_ee.workflows.display.nodes.get_node_display_class import get_node_display_class
@@ -58,8 +57,6 @@ class BaseWorkflowDisplay(
58
57
  EntrypointDisplayOverridesType,
59
58
  EdgeDisplayType,
60
59
  EdgeDisplayOverridesType,
61
- WorkflowOutputDisplayType,
62
- WorkflowOutputDisplayOverridesType,
63
60
  ]
64
61
  ):
65
62
  # Used to specify the display data for a workflow.
@@ -75,7 +72,7 @@ class BaseWorkflowDisplay(
75
72
  entrypoint_displays: Dict[Type[BaseNode], EntrypointDisplayOverridesType] = {}
76
73
 
77
74
  # Used to explicitly specify display data for a workflow's outputs.
78
- output_displays: Dict[BaseDescriptor, WorkflowOutputDisplayOverridesType] = {}
75
+ output_displays: Dict[BaseDescriptor, WorkflowOutputDisplay] = {}
79
76
 
80
77
  # Used to explicitly specify display data for a workflow's edges.
81
78
  edge_displays: Dict[Tuple[Port, Type[BaseNode]], EdgeDisplayOverridesType] = {}
@@ -101,7 +98,6 @@ class BaseWorkflowDisplay(
101
98
  StateValueDisplayType,
102
99
  NodeDisplayType,
103
100
  EntrypointDisplayType,
104
- WorkflowOutputDisplayType,
105
101
  EdgeDisplayType,
106
102
  ]
107
103
  ] = None,
@@ -202,7 +198,6 @@ class BaseWorkflowDisplay(
202
198
  StateValueDisplayType,
203
199
  NodeDisplayType,
204
200
  EntrypointDisplayType,
205
- WorkflowOutputDisplayType,
206
201
  EdgeDisplayType,
207
202
  ]:
208
203
  workflow_display = self._generate_workflow_meta_display()
@@ -285,7 +280,7 @@ class BaseWorkflowDisplay(
285
280
  edge, node_displays, port_displays, overrides=edge_display_overrides
286
281
  )
287
282
 
288
- workflow_output_displays: Dict[BaseDescriptor, WorkflowOutputDisplayType] = {}
283
+ workflow_output_displays: Dict[BaseDescriptor, WorkflowOutputDisplay] = {}
289
284
  for workflow_output in self._workflow.Outputs:
290
285
  if workflow_output in workflow_output_displays:
291
286
  continue
@@ -298,9 +293,9 @@ class BaseWorkflowDisplay(
298
293
  ):
299
294
  raise ValueError("Expected to find a descriptor instance on the workflow output")
300
295
 
301
- workflow_output_display_overrides = self.output_displays.get(workflow_output)
302
- workflow_output_displays[workflow_output] = self._generate_workflow_output_display(
303
- workflow_output, overrides=workflow_output_display_overrides
296
+ workflow_output_display = self.output_displays.get(workflow_output)
297
+ workflow_output_displays[workflow_output] = (
298
+ workflow_output_display or self._generate_workflow_output_display(workflow_output)
304
299
  )
305
300
 
306
301
  return WorkflowDisplayContext(
@@ -345,13 +340,10 @@ class BaseWorkflowDisplay(
345
340
  ) -> EntrypointDisplayType:
346
341
  pass
347
342
 
348
- @abstractmethod
349
- def _generate_workflow_output_display(
350
- self,
351
- output: BaseDescriptor,
352
- overrides: Optional[WorkflowOutputDisplayOverridesType] = None,
353
- ) -> WorkflowOutputDisplayType:
354
- pass
343
+ def _generate_workflow_output_display(self, output: BaseDescriptor) -> WorkflowOutputDisplay:
344
+ output_id = uuid4_from_hash(f"{self.workflow_id}|id|{output.name}")
345
+
346
+ return WorkflowOutputDisplay(id=output_id, name=output.name)
355
347
 
356
348
  @abstractmethod
357
349
  def _generate_edge_display(