vellum-ai 0.14.18__py3-none-any.whl → 0.14.20__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 (44) hide show
  1. vellum/__init__.py +2 -0
  2. vellum/client/core/client_wrapper.py +1 -1
  3. vellum/client/types/__init__.py +2 -0
  4. vellum/client/types/node_input_compiled_secret_value.py +23 -0
  5. vellum/client/types/node_input_variable_compiled_value.py +2 -0
  6. vellum/types/node_input_compiled_secret_value.py +3 -0
  7. vellum/workflows/nodes/core/inline_subworkflow_node/node.py +16 -14
  8. vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py +29 -0
  9. vellum/workflows/nodes/displayable/code_execution_node/node.py +1 -1
  10. vellum/workflows/nodes/displayable/code_execution_node/tests/test_code_execution_node.py +41 -0
  11. vellum/workflows/nodes/displayable/code_execution_node/utils.py +6 -1
  12. vellum/workflows/references/lazy.py +9 -1
  13. vellum/workflows/references/tests/test_lazy.py +30 -0
  14. {vellum_ai-0.14.18.dist-info → vellum_ai-0.14.20.dist-info}/METADATA +1 -1
  15. {vellum_ai-0.14.18.dist-info → vellum_ai-0.14.20.dist-info}/RECORD +44 -40
  16. vellum_ee/workflows/display/base.py +6 -2
  17. vellum_ee/workflows/display/nodes/base_node_display.py +41 -10
  18. vellum_ee/workflows/display/nodes/base_node_vellum_display.py +0 -20
  19. vellum_ee/workflows/display/nodes/get_node_display_class.py +3 -3
  20. vellum_ee/workflows/display/nodes/vellum/code_execution_node.py +14 -10
  21. vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py +2 -6
  22. vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py +2 -6
  23. vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py +113 -0
  24. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py +2 -2
  25. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py +4 -4
  26. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py +39 -8
  27. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py +3 -3
  28. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py +14 -14
  29. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py +3 -3
  30. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py +5 -5
  31. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py +1 -1
  32. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py +1 -1
  33. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py +2 -2
  34. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py +2 -2
  35. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py +3 -3
  36. vellum_ee/workflows/display/types.py +4 -7
  37. vellum_ee/workflows/display/vellum.py +10 -2
  38. vellum_ee/workflows/display/workflows/base_workflow_display.py +60 -32
  39. vellum_ee/workflows/display/workflows/vellum_workflow_display.py +33 -78
  40. vellum_ee/workflows/server/virtual_file_loader.py +52 -22
  41. vellum_ee/workflows/tests/test_server.py +61 -0
  42. {vellum_ai-0.14.18.dist-info → vellum_ai-0.14.20.dist-info}/LICENSE +0 -0
  43. {vellum_ai-0.14.18.dist-info → vellum_ai-0.14.20.dist-info}/WHEEL +0 -0
  44. {vellum_ai-0.14.18.dist-info → vellum_ai-0.14.20.dist-info}/entry_points.txt +0 -0
vellum/__init__.py CHANGED
@@ -229,6 +229,7 @@ from .types import (
229
229
  NodeInputCompiledJsonValue,
230
230
  NodeInputCompiledNumberValue,
231
231
  NodeInputCompiledSearchResultsValue,
232
+ NodeInputCompiledSecretValue,
232
233
  NodeInputCompiledStringValue,
233
234
  NodeInputVariableCompiledValue,
234
235
  NodeOutputCompiledArrayValue,
@@ -777,6 +778,7 @@ __all__ = [
777
778
  "NodeInputCompiledJsonValue",
778
779
  "NodeInputCompiledNumberValue",
779
780
  "NodeInputCompiledSearchResultsValue",
781
+ "NodeInputCompiledSecretValue",
780
782
  "NodeInputCompiledStringValue",
781
783
  "NodeInputVariableCompiledValue",
782
784
  "NodeOutputCompiledArrayValue",
@@ -18,7 +18,7 @@ class BaseClientWrapper:
18
18
  headers: typing.Dict[str, str] = {
19
19
  "X-Fern-Language": "Python",
20
20
  "X-Fern-SDK-Name": "vellum-ai",
21
- "X-Fern-SDK-Version": "0.14.18",
21
+ "X-Fern-SDK-Version": "0.14.20",
22
22
  }
23
23
  headers["X_API_KEY"] = self.api_key
24
24
  return headers
@@ -237,6 +237,7 @@ from .node_input_compiled_function_call_value import NodeInputCompiledFunctionCa
237
237
  from .node_input_compiled_json_value import NodeInputCompiledJsonValue
238
238
  from .node_input_compiled_number_value import NodeInputCompiledNumberValue
239
239
  from .node_input_compiled_search_results_value import NodeInputCompiledSearchResultsValue
240
+ from .node_input_compiled_secret_value import NodeInputCompiledSecretValue
240
241
  from .node_input_compiled_string_value import NodeInputCompiledStringValue
241
242
  from .node_input_variable_compiled_value import NodeInputVariableCompiledValue
242
243
  from .node_output_compiled_array_value import NodeOutputCompiledArrayValue
@@ -759,6 +760,7 @@ __all__ = [
759
760
  "NodeInputCompiledJsonValue",
760
761
  "NodeInputCompiledNumberValue",
761
762
  "NodeInputCompiledSearchResultsValue",
763
+ "NodeInputCompiledSecretValue",
762
764
  "NodeInputCompiledStringValue",
763
765
  "NodeInputVariableCompiledValue",
764
766
  "NodeOutputCompiledArrayValue",
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .vellum_secret import VellumSecret
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class NodeInputCompiledSecretValue(UniversalBaseModel):
11
+ node_input_id: str
12
+ key: str
13
+ type: typing.Literal["SECRET"] = "SECRET"
14
+ value: VellumSecret
15
+
16
+ if IS_PYDANTIC_V2:
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
@@ -9,6 +9,7 @@ from .node_input_compiled_search_results_value import NodeInputCompiledSearchRes
9
9
  from .node_input_compiled_error_value import NodeInputCompiledErrorValue
10
10
  from .node_input_compiled_array_value import NodeInputCompiledArrayValue
11
11
  from .node_input_compiled_function_call_value import NodeInputCompiledFunctionCallValue
12
+ from .node_input_compiled_secret_value import NodeInputCompiledSecretValue
12
13
 
13
14
  NodeInputVariableCompiledValue = typing.Union[
14
15
  NodeInputCompiledStringValue,
@@ -19,4 +20,5 @@ NodeInputVariableCompiledValue = typing.Union[
19
20
  NodeInputCompiledErrorValue,
20
21
  NodeInputCompiledArrayValue,
21
22
  NodeInputCompiledFunctionCallValue,
23
+ NodeInputCompiledSecretValue,
22
24
  ]
@@ -0,0 +1,3 @@
1
+ # WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
2
+
3
+ from vellum.client.types.node_input_compiled_secret_value import *
@@ -4,7 +4,7 @@ from vellum.workflows.constants import undefined
4
4
  from vellum.workflows.context import execution_context, get_parent_context
5
5
  from vellum.workflows.errors.types import WorkflowErrorCode
6
6
  from vellum.workflows.events.workflow import is_workflow_event
7
- from vellum.workflows.exceptions import NodeException
7
+ from vellum.workflows.exceptions import NodeException, WorkflowInitializationException
8
8
  from vellum.workflows.inputs.base import BaseInputs
9
9
  from vellum.workflows.nodes.bases.base import BaseNode, BaseNodeMeta
10
10
  from vellum.workflows.outputs.base import BaseOutput, BaseOutputs
@@ -119,19 +119,21 @@ class InlineSubworkflowNode(
119
119
 
120
120
  def _compile_subworkflow_inputs(self) -> InputsType:
121
121
  inputs_class = self.subworkflow.get_inputs_class()
122
- if self.subworkflow_inputs is undefined:
123
- inputs_dict = {}
124
- for descriptor in inputs_class:
125
- if hasattr(self, descriptor.name):
126
- inputs_dict[descriptor.name] = getattr(self, descriptor.name)
127
-
128
- return inputs_class(**inputs_dict)
129
- elif isinstance(self.subworkflow_inputs, dict):
130
- return inputs_class(**self.subworkflow_inputs)
131
- elif isinstance(self.subworkflow_inputs, inputs_class):
132
- return self.subworkflow_inputs
133
- else:
134
- raise ValueError(f"Invalid subworkflow inputs type: {type(self.subworkflow_inputs)}")
122
+ try:
123
+ if self.subworkflow_inputs is undefined:
124
+ inputs_dict = {}
125
+ for descriptor in inputs_class:
126
+ if hasattr(self, descriptor.name):
127
+ inputs_dict[descriptor.name] = getattr(self, descriptor.name)
128
+ return inputs_class(**inputs_dict)
129
+ elif isinstance(self.subworkflow_inputs, dict):
130
+ return inputs_class(**self.subworkflow_inputs)
131
+ elif isinstance(self.subworkflow_inputs, inputs_class):
132
+ return self.subworkflow_inputs
133
+ else:
134
+ raise ValueError(f"Invalid subworkflow inputs type: {type(self.subworkflow_inputs)}")
135
+ except WorkflowInitializationException as e:
136
+ raise NodeException(message=str(e), code=e.code)
135
137
 
136
138
  @classmethod
137
139
  def __annotate_outputs_class__(cls, outputs_class: Type[BaseOutputs], reference: OutputReference) -> None:
@@ -1,5 +1,7 @@
1
1
  import pytest
2
2
 
3
+ from vellum.workflows.errors.types import WorkflowErrorCode
4
+ from vellum.workflows.exceptions import NodeException
3
5
  from vellum.workflows.inputs.base import BaseInputs
4
6
  from vellum.workflows.nodes.bases.base import BaseNode
5
7
  from vellum.workflows.nodes.core.inline_subworkflow_node.node import InlineSubworkflowNode
@@ -87,3 +89,30 @@ def test_inline_subworkflow_node__nested_try():
87
89
  # THEN we only have the outer node's outputs
88
90
  valid_events = [e for e in events if e.name == "bar"]
89
91
  assert len(valid_events) == len(events)
92
+
93
+
94
+ def test_inline_subworkflow_node__base_inputs_validation():
95
+ """Test that InlineSubworkflowNode properly validates required inputs"""
96
+
97
+ # GIVEN a real subworkflow class with a required input
98
+ class SubworkflowInputs(BaseInputs):
99
+ required_input: str # This is a required field without a default
100
+
101
+ class TestSubworkflow(BaseWorkflow[SubworkflowInputs, BaseState]):
102
+ pass
103
+
104
+ # AND a node that uses this subworkflow
105
+ class TestNode(InlineSubworkflowNode):
106
+ subworkflow = TestSubworkflow
107
+ subworkflow_inputs = {"required_input": None}
108
+
109
+ # WHEN we try to run the node
110
+ node = TestNode()
111
+
112
+ # THEN it should raise a NodeException
113
+ with pytest.raises(NodeException) as e:
114
+ list(node.run())
115
+
116
+ # AND the error message should indicate the missing required input
117
+ assert e.value.code == WorkflowErrorCode.INVALID_INPUTS
118
+ assert "Required input variables required_input should have defined value" == str(e.value)
@@ -78,7 +78,7 @@ class CodeExecutionNode(BaseNode[StateType], Generic[StateType, _OutputType], me
78
78
  filepath: ClassVar[Optional[str]] = None
79
79
  code: ClassVar[Optional[str]] = None
80
80
 
81
- code_inputs: ClassVar[EntityInputsInterface]
81
+ code_inputs: ClassVar[EntityInputsInterface] = {}
82
82
  runtime: CodeExecutionRuntime = "PYTHON_3_11_6"
83
83
  packages: Optional[Sequence[CodeExecutionPackage]] = None
84
84
 
@@ -777,3 +777,44 @@ def main():
777
777
 
778
778
  # AND the result should be the correct output
779
779
  assert outputs == {"result": "hello", "log": "<class 'int'>\n"}
780
+
781
+
782
+ def test_run_node__execute_code__invalid_key_access():
783
+ # GIVEN a node that will access an invalid key
784
+ class ExampleCodeExecutionNode(CodeExecutionNode[BaseState, str]):
785
+ code = """\
786
+ def main(arg1: list) -> str:
787
+ return arg1["invalid"]
788
+ """
789
+ code_inputs = {
790
+ "arg1": {"foo": "bar"},
791
+ }
792
+ runtime = "PYTHON_3_11_6"
793
+
794
+ # WHEN we run the node
795
+ with pytest.raises(NodeException) as exc_info:
796
+ node = ExampleCodeExecutionNode()
797
+ node.run()
798
+
799
+ # AND the result should be the correct output
800
+ assert exc_info.value.message == "dict has no key: 'invalid'"
801
+
802
+
803
+ def test_run_node__execute_code__value_key_access():
804
+ # GIVEN a node that will access the value key before the nested key
805
+ class ExampleCodeExecutionNode(CodeExecutionNode[BaseState, str]):
806
+ code = """\
807
+ def main(arg1: list) -> str:
808
+ return arg1["value"]["foo"]
809
+ """
810
+ code_inputs = {
811
+ "arg1": {"foo": "bar"},
812
+ }
813
+ runtime = "PYTHON_3_11_6"
814
+
815
+ # WHEN we run the node
816
+ node = ExampleCodeExecutionNode()
817
+ outputs = node.run()
818
+
819
+ # AND the result should be the correct output
820
+ assert outputs == {"result": "bar", "log": ""}
@@ -41,7 +41,12 @@ class DictWrapper(dict):
41
41
 
42
42
  def __getattr__(self, attr):
43
43
  if attr not in self:
44
- raise AttributeError(f"Vellum object has no attribute '{attr}'")
44
+ if attr == "value":
45
+ # In order to be backwards compatible with legacy Workflows, which wrapped
46
+ # several values as VellumValue objects, we use the "value" key to return itself
47
+ return self
48
+
49
+ raise AttributeError(f"dict has no key: '{attr}'")
45
50
 
46
51
  item = super().__getitem__(attr)
47
52
  if not isinstance(item, DictWrapper) and not isinstance(item, ListWrapper):
@@ -1,5 +1,6 @@
1
1
  import ast
2
2
  import inspect
3
+ import logging
3
4
  from typing import TYPE_CHECKING, Callable, Generic, TypeVar, Union, get_args
4
5
 
5
6
  from vellum.workflows.constants import undefined
@@ -10,6 +11,8 @@ if TYPE_CHECKING:
10
11
 
11
12
  _T = TypeVar("_T")
12
13
 
14
+ logger = logging.getLogger(__name__)
15
+
13
16
 
14
17
  class LazyReference(BaseDescriptor[_T], Generic[_T]):
15
18
  def __init__(
@@ -50,7 +53,12 @@ class LazyReference(BaseDescriptor[_T], Generic[_T]):
50
53
  if isinstance(self._get, str):
51
54
  return self._get
52
55
 
53
- source = inspect.getsource(self._get).strip()
56
+ try:
57
+ source = inspect.getsource(self._get).strip()
58
+ except Exception:
59
+ logger.exception("Error getting source for lazy reference")
60
+ return self._get.__name__
61
+
54
62
  try:
55
63
  parsed = ast.parse(source)
56
64
  assignment = parsed.body[0]
@@ -0,0 +1,30 @@
1
+ import pytest
2
+
3
+ from vellum.workflows.nodes import BaseNode
4
+ from vellum.workflows.references.lazy import LazyReference
5
+
6
+
7
+ @pytest.fixture
8
+ def mock_inspect_getsource(mocker):
9
+ return mocker.patch("inspect.getsource")
10
+
11
+
12
+ @pytest.fixture
13
+ def mock_logger(mocker):
14
+ return mocker.patch("vellum.workflows.references.lazy.logger")
15
+
16
+
17
+ def test_lazy_reference__inspect_getsource_fails(mock_inspect_getsource, mock_logger):
18
+ # GIVEN getsource fails to resolve the lambda's source code
19
+ mock_inspect_getsource.side_effect = Exception("test")
20
+
21
+ # WHEN a node with a lazy reference is defined
22
+ class MyNode(BaseNode):
23
+ lazy_reference = LazyReference(lambda: MyNode.Outputs.foo)
24
+
25
+ # THEN the name is the lambda function's name
26
+ assert MyNode.lazy_reference.instance
27
+ assert MyNode.lazy_reference.instance.name == "<lambda>"
28
+
29
+ # AND sentry is notified
30
+ assert mock_logger.exception.call_count == 1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.14.18
3
+ Version: 0.14.20
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.9,<4.0
@@ -22,11 +22,11 @@ vellum_ee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  vellum_ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  vellum_ee/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  vellum_ee/workflows/display/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- vellum_ee/workflows/display/base.py,sha256=ak29FIsawhaFa9_paZUHThlZRFJ1xB486JWKuSt1PYY,1965
25
+ vellum_ee/workflows/display/base.py,sha256=-IR5QuWaZKAQHC-8L7T7FLqOYsjzz-tgmKrXOO7OKhY,2040
26
26
  vellum_ee/workflows/display/nodes/__init__.py,sha256=436iSAh_Ex5tC68oEYvNgPu05ZVIAVXnS4PKGrQeZ0Y,321
27
- vellum_ee/workflows/display/nodes/base_node_display.py,sha256=H7LJGtGWFkypyNhIrIhHoGYXS0hRYcP7aoYHlM90f_U,17395
28
- vellum_ee/workflows/display/nodes/base_node_vellum_display.py,sha256=ZLKQ8Xa3h9nGkj4t4V_7OeU7CBFWY3gXB9CkaCLOhEk,2699
29
- vellum_ee/workflows/display/nodes/get_node_display_class.py,sha256=LhV2wSo07iOTUj1clKwH2zzCzKdLiW2gk22R3Qco81E,2196
27
+ vellum_ee/workflows/display/nodes/base_node_display.py,sha256=4xIkrKXVryaD0fPd7RxSpzIqPg6Y14NEB7j7m0DrJvM,18974
28
+ vellum_ee/workflows/display/nodes/base_node_vellum_display.py,sha256=rhbWYBQSXkpEPIvTa--LPwhsl8RnX4KyU6Ax0M0A0pU,1701
29
+ vellum_ee/workflows/display/nodes/get_node_display_class.py,sha256=59Nht1XAxMcNESFV1VmECrF01lZMnGkB_9JWaTAFnv0,2214
30
30
  vellum_ee/workflows/display/nodes/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
31
  vellum_ee/workflows/display/nodes/tests/test_base_node_display.py,sha256=QqR3Ly0RNrXwOeLdW5nERDFt0gRPf76n1bPES6o5UN4,1093
32
32
  vellum_ee/workflows/display/nodes/types.py,sha256=St1BB6no528OyELGiyRabWao0GGw6mLhstQAvEACbGk,247
@@ -34,22 +34,23 @@ vellum_ee/workflows/display/nodes/utils.py,sha256=sloya5TpXsnot1HURc9L51INwflRqU
34
34
  vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=nUIgH2s0-7IbQRNrBhLPyRNe8YIrx3Yo9HeeW-aXXFk,1668
35
35
  vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=hoV-cUtS6H9kmRQXHd2py95GRWI_dAnnaPwvlNBkDOQ,8571
36
36
  vellum_ee/workflows/display/nodes/vellum/base_adornment_node.py,sha256=oJAQrAm5iFQq0_fX94sMbS3RQEK1M1VsoUck4vsPs9A,5820
37
- vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=z00Z3L0d4PsUQo4S8FRDTtOFLtjdi17TJbatNVF4nM8,4288
37
+ vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=IYx0nll0t-tsPcjfgpfHMZE4FJgMFIsOiaQanGLYF0Q,4410
38
38
  vellum_ee/workflows/display/nodes/vellum/conditional_node.py,sha256=ybLIa4uclqVIy3VAQvI1ivg2tnK5Ug_1R5a69DFqL7E,11104
39
39
  vellum_ee/workflows/display/nodes/vellum/error_node.py,sha256=I1Jkp2htRINJATtv1e-zs9BrReFX842djpiVgBPHDYg,2186
40
40
  vellum_ee/workflows/display/nodes/vellum/final_output_node.py,sha256=p-PvlnxpBQ7IKskZi2A19jKAtKnSxJ8LPbGMA83VkFk,2805
41
41
  vellum_ee/workflows/display/nodes/vellum/guardrail_node.py,sha256=aYZSJTxknU4LMiQdWk9LcK6CkhdozeDEMiRxfAyUNEc,2202
42
- vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=grb2iDxZ8DiNlo1nfO3KPxs8saM_JZAskOFp-C4ZEq4,8908
42
+ vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=3fJzrFoGJX_igzWKgXp7f7-owdVBG6xuy-kBSWNbNxc,8734
43
43
  vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=MU9I8CB1X1TgL1aa1eT6DHWwNJ-2v79t74xl0oy-fBo,5510
44
44
  vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=8CPnn06HIBxBOiECevUffeVmQmCpec6WtPQnNl9gj9Y,3748
45
45
  vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=HkNMgdQELiON42jdO-xDLmqrEKdGx1RVqrz2DXNTLS8,3239
46
46
  vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=TMb8txILu2uWjzoxaghjgjlzeBAgzn4vkP_8zSh2qoE,1151
47
- vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=LFjLUrH6sJ4czPnExdRqFr0PB_yKBMLXLvK5GAzIAgc,3273
47
+ vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=9YR6MtxVq8Bavb0ud2lZX0t2Y_NUd-dY9kRgq8WBz-Y,3093
48
48
  vellum_ee/workflows/display/nodes/vellum/retry_node.py,sha256=LgokATi7sSS38Fil-XjqoR4t7AMOJ-GzXRw6p606Svo,3397
49
49
  vellum_ee/workflows/display/nodes/vellum/search_node.py,sha256=TxcAGZDl_hvJ7Y1hUi9YVEVrj9Ie0hKkASdpfRL4_cs,9227
50
50
  vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=62baAElKoRKIoba0lLhnrXGWWx96B73VxKGxh7BaIxc,2612
51
51
  vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=5EWzdA3TSUPlbJhs4uo1KGH6eGtDXZucVhlUoc_xpl4,3242
52
52
  vellum_ee/workflows/display/nodes/vellum/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
53
+ vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py,sha256=p0fCvbKzpGvVrg67QmJd14m9E8_DG0u5s6SYIhzlkNA,4018
53
54
  vellum_ee/workflows/display/nodes/vellum/tests/test_error_node.py,sha256=ulrpoYUW-5kIxfG4Lf5F2p0k_EoYKhmahEbF3P_eruM,1648
54
55
  vellum_ee/workflows/display/nodes/vellum/tests/test_prompt_node.py,sha256=bg9INsXiWfyK047u8TD1oEOFYrqDq8GC7Hvgz69n7BE,1988
55
56
  vellum_ee/workflows/display/nodes/vellum/tests/test_retry_node.py,sha256=NuIw8Yb42KUdoGi3Ur8_7VPg50IC4hNrwAkCociwqNk,2091
@@ -62,23 +63,23 @@ vellum_ee/workflows/display/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
62
63
  vellum_ee/workflows/display/tests/test_vellum_workflow_display.py,sha256=VD-4USiRlCcdC3Qe9WfdkxwFdircai0vqvuZCbELR84,9556
63
64
  vellum_ee/workflows/display/tests/workflow_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
65
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
65
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py,sha256=A1-tIpC5KIKG9JA_rkd1nLS8zUG3Kb4QiVdvb3boFxE,2509
66
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py,sha256=2ZDTmpiU2CcZe4ukxoQ79SJx8V8kDRQHgUxP5Vtesus,15605
67
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py,sha256=lScpUiz8fvUmJK18Cpygs9xQrfHQlkSIlmxapGYTS0g,18770
68
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py,sha256=KgxSN8L5AWPL8EpQfSZiTqK428nAIElcWrV-sR17528,6456
69
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py,sha256=yS8GpjbH0objjcNYK73j8rDHbhqinIbG7CcoNjnolBg,40611
70
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py,sha256=_-ADur28OkVy4YEgMHkkVYqMbS1j3GcOtX9MTYmmvf0,4632
66
+ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py,sha256=iR9vt-Xf8NSLHptrp1uTd_qbhHz-LrWkrRyKN96aqGM,2492
67
+ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py,sha256=4R8cZ98JsGmIq-kmt3q519c4nCI7wCy5ynAUCUNnvuI,15605
68
+ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py,sha256=PXoNUAgqfyNCAoYGWoo5D-_5SLEannn7SD08nxZmVe8,19781
69
+ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py,sha256=s6_mnk0pkztU59wYpSfOFpMhAJaRjmyfxM6WJGtnD4Y,6456
70
+ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py,sha256=PkSgghJDz0fpDB72HHPjLjo8LkZk-HpUkCQzRLX-iVw,40611
71
+ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py,sha256=dsJr8I9AdPwMOGszirfNDzZP2Ychd94aAKuPXAzknMk,4632
71
72
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=IRazH2QR6F8RGqNemEnHueyj5DtEa6rFTYhT16S4jI8,15917
72
73
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=V__y7uu-dy6TJjPeu4UDvaoO2yYwBRbPiW9uJdzWRx4,29828
73
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=R8DW1DUb0DOSLtnF2E1HaCTmtpG-ski0LfcM2WeLVNo,47672
74
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py,sha256=z9FSufJeV-003R87wi_Lx4mZewdeeOeTPCGNc9vg8vY,8819
74
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=6ejs_C1cuaRHtc8Qb2qh8-b-juDwLwdfTBd-6CSDDYw,47672
75
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py,sha256=spaPscLDjlwR7_2JxB5HzsLp0ss7_GsAgdiS5qUQ_6o,8819
75
76
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=wgedEa2IVP2ssH_FLghoEmLgpJR41AY-iNIw1SESeqA,6106
76
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py,sha256=yIq5UexHAk7Afh_6sMlXNAUeKdckBUvCBVIEDLEnhFs,5773
77
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py,sha256=THQB73vAgdiRRk7GKWwzw99G-X3LLgEEVCb4QCQrrMQ,5773
77
78
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py,sha256=0N7lqB2WMvSItUY78EWpF-g4fXvhkc4NCY-Ws57OYsQ,7446
78
79
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_prompt_node_serialization.py,sha256=XRtXTWtNXHe1g8E_mNcAhYZVjc0UcGlJRjq34_sd0jo,787
79
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=cKM87WUrBZwVauP7VD4rQdObd2jllHJJRHWDGL1tgMI,20605
80
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=PbIezAnkGubhY_e5dpOaaaVZ9VeoYJKqvCKbIbjucfU,16172
81
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=ObCnoIVJM434jJBC3_kOTKbY4sCDHlknwMTFWRGiOtU,8449
80
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=nZ3IOZSX3cOg4XV5-PW-Hsu806vfzmOZyCpZyl1I50w,20605
81
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=8GakAJmf140XzQRZyr-BbZUt22h0lZKUFhNZY4zlD4g,16172
82
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=QifoIZja04F1ulMhKlfZHtOqhAWrbUXlnQpybBBzNdw,8449
82
83
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=-bGp82C5_XgcVxeM80zWL9viogxvE4DGk7-5H__wwxA,8649
83
84
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py,sha256=elc4ak2OyI4y5P6GPnK2RwuZLcx4FL6hHlmhY3ARk6k,13008
84
85
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=BzFNl9ECeGh0krm-CUjbBQQq0g7krANsp0Sh-j5dAkc,11322
@@ -86,18 +87,18 @@ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_n
86
87
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=NdhE3lm7RMQ8DqkraPSq24IbOxNla9unbs4tsMWRzm4,3781
87
88
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=eD5686C9nWC5s6t08vbAnm9qf9t53gYQM-E1FwAa75c,3035
88
89
  vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=huKAOeMJ2MKmp6XtbvMJTUadqynoV40Ypoz9jsBEBEQ,7431
89
- vellum_ee/workflows/display/types.py,sha256=ixfmcQn51Rhsm4_0hWfG0_WpzLE89ZrDZpeYBklsP1Q,2592
90
+ vellum_ee/workflows/display/types.py,sha256=NeaISY7bzq6yeBSeG8XblkOIKakm2dS-modocGGMnkc,2526
90
91
  vellum_ee/workflows/display/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
92
  vellum_ee/workflows/display/utils/expressions.py,sha256=9FpOslDI-RCR5m4TgAu9KCHh4aTVnh7CHR2ykyMUDw0,1151
92
93
  vellum_ee/workflows/display/utils/vellum.py,sha256=EVPQUSsZ3OIeLTEbV6LHPor37t9fnj9kJxDqP4PmTLQ,8234
93
- vellum_ee/workflows/display/vellum.py,sha256=ROvXFoLmnEXmJJ_Nc0ZVz94LZf6opU4O1TWbGnAfHug,5028
94
+ vellum_ee/workflows/display/vellum.py,sha256=JBdPRAaHxn-_NCsCLZbeWoiquhsj5DcAYgoUxdSHpzg,5168
94
95
  vellum_ee/workflows/display/workflows/__init__.py,sha256=kapXsC67VJcgSuiBMa86FdePG5A9kMB5Pi4Uy1O2ob4,207
95
- vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=-14UlLZlmfWDqNtxhY9GxXlrlPcgzEpAIffd94QPEvU,19932
96
+ vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=9IRGsoTJN4T1aLuVkfF6IW7gXYKesW32nT_jTgOhZvw,21175
96
97
  vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=kp0u8LN_2IwshLrhMImhpZx1hRyAcD5gXY-kDuuaGMQ,1269
97
98
  vellum_ee/workflows/display/workflows/tests/test_workflow_display.py,sha256=Ny9VWjCxc1_w8Z5xiQEJmNmEwtjlDlxgFCrmCWSmFmA,8511
98
- vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=mbAzCpswOek34ITeTkesbVreCXpulj4NFjIg3RcdVZ8,18243
99
+ vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=kr3fpegZOE4eAR6w543hpsv8GbYdMiSa1edku-PgnfI,16910
99
100
  vellum_ee/workflows/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
100
- vellum_ee/workflows/server/virtual_file_loader.py,sha256=X_DdNK7MfyOjKWekk6YQpOSCT6klKcdjT6nVJcBH1sM,1481
101
+ vellum_ee/workflows/server/virtual_file_loader.py,sha256=ET-Q83W5Cgqzqz3qtFNwtS2nJEIcm3VtvR5kffsT3VY,2262
101
102
  vellum_ee/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
103
  vellum_ee/workflows/tests/local_files/__init__.py,sha256=UyP6kKkRqr9cTKHQF4MVLdLk5MM9GGcLuqxXsQGm22Y,51
103
104
  vellum_ee/workflows/tests/local_files/base_class.py,sha256=UuiC7J68MVr6A4949QYiBpXOLdsvFG_Cw1muEPiHT6I,298
@@ -118,14 +119,14 @@ vellum_ee/workflows/tests/local_workflow/nodes/final_output.py,sha256=ZX7zBv87zi
118
119
  vellum_ee/workflows/tests/local_workflow/nodes/templating_node.py,sha256=NQwFN61QkHfI3Vssz-B0NKGfupK8PU0FDSAIAhYBLi0,325
119
120
  vellum_ee/workflows/tests/local_workflow/workflow.py,sha256=A4qOzOPNwePYxWbcAgIPLsmrVS_aVEZEc-wULSv787Q,393
120
121
  vellum_ee/workflows/tests/test_display_meta.py,sha256=C25dErwghPNXio49pvSRxyOuc96srH6eYEwTAWdE2zY,2258
121
- vellum_ee/workflows/tests/test_server.py,sha256=M6vvQ2hjIpDWtQdDM9EPbMvUrZ93niAuYnxMNJWOjPA,511
122
+ vellum_ee/workflows/tests/test_server.py,sha256=IWqjJXSbVFuV3w6b9lB3N6yoVAHJicmJuubASvw5QQM,2276
122
123
  vellum_ee/workflows/tests/test_virtual_files.py,sha256=TJEcMR0v2S8CkloXNmCHA0QW0K6pYNGaIjraJz7sFvY,2762
123
- vellum/__init__.py,sha256=Vh9jxpBVXB2fTCyoUMlLdGL1Ujf0zNNNvqhNu5II8KI,36466
124
+ vellum/__init__.py,sha256=qJRjommzKdcsfZUNkqN2k1BuOwVVSuX4Nuv9ITCz1AM,36536
124
125
  vellum/client/README.md,sha256=JkCJjmMZl4jrPj46pkmL9dpK4gSzQQmP5I7z4aME4LY,4749
125
126
  vellum/client/__init__.py,sha256=tKtdM1_GqmGq1gpi9ydWD_T-MM7fPn8QdHh8ww19cNI,117564
126
127
  vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
127
128
  vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
128
- vellum/client/core/client_wrapper.py,sha256=uLm2G6JmYjhKSyX55XTjjoXumxodrRRDWg6-C5GmXLI,1869
129
+ vellum/client/core/client_wrapper.py,sha256=pleLWhyzDudDyYZo53X7C5M9jfmgGjkQ4KateNHPl7U,1869
129
130
  vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
130
131
  vellum/client/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
131
132
  vellum/client/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
@@ -190,7 +191,7 @@ vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCat
190
191
  vellum/client/resources/workspace_secrets/client.py,sha256=h7UzXLyTttPq1t-JZGMg1BWxypxJvBGUdqg7KGT7MK4,8027
191
192
  vellum/client/resources/workspaces/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
192
193
  vellum/client/resources/workspaces/client.py,sha256=RthwzN1o-Jxwg5yyNNodavFyNUSxfLoTv26w3mRR5g8,3595
193
- vellum/client/types/__init__.py,sha256=D6j2QfxOV3WULH0inmz9q-gdOQcytrr6_R8WYaC5ZZk,54894
194
+ vellum/client/types/__init__.py,sha256=H2K-qwJM2gg5ZOMIXT56gwK1Vr0iV45hb11ON5z_dL4,55005
194
195
  vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
195
196
  vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
196
197
  vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
@@ -416,8 +417,9 @@ vellum/client/types/node_input_compiled_function_call_value.py,sha256=Q9vrORvrPD
416
417
  vellum/client/types/node_input_compiled_json_value.py,sha256=ketb8FNY9DQjAxgJd4SPDE6ErHJYY0NEkW0-STapBkw,679
417
418
  vellum/client/types/node_input_compiled_number_value.py,sha256=Olc4UpYsm-v7ZhlTVXsp7JVQE0ytLsBSd9HolCYWmZ4,680
418
419
  vellum/client/types/node_input_compiled_search_results_value.py,sha256=A2SnHYZAt2_VsQDXL4B2CF3KYgDJeUAQ5L0RbI8flH0,763
420
+ vellum/client/types/node_input_compiled_secret_value.py,sha256=yY-OBwHZ4k9uCf_1dQpV6wFZTW_tcC7RSq41Xj-ToPU,703
419
421
  vellum/client/types/node_input_compiled_string_value.py,sha256=V4HKhHW6B2iUvYqYbuwcOHTxiui3nfOe0DKOiTXshJQ,678
420
- vellum/client/types/node_input_variable_compiled_value.py,sha256=ahG5KdRDQ97w3Ljhfz9EssY0FD1DKeE4C5y393QOS78,1046
422
+ vellum/client/types/node_input_variable_compiled_value.py,sha256=h3AovF98U2Wkuo35DAjD6GlUSBo8KbdNt2hyMBDEJuM,1155
421
423
  vellum/client/types/node_output_compiled_array_value.py,sha256=-lUee9E-IrlndzNS-tzfAQrEOZv-ZcgAmm06_kcqOr8,1176
422
424
  vellum/client/types/node_output_compiled_chat_history_value.py,sha256=rAAnJ2PcXGxKusMpq2NEhJdBSRrPB9da5uN19x92Wu4,962
423
425
  vellum/client/types/node_output_compiled_error_value.py,sha256=dkgT_h463S8AF3QHVZdvy9HGF3A2LhxuNnAQouAYQlE,922
@@ -1008,6 +1010,7 @@ vellum/types/node_input_compiled_function_call_value.py,sha256=KAQGyfyBZCsMZUxRI
1008
1010
  vellum/types/node_input_compiled_json_value.py,sha256=RZ0qcWJ8XgTxQuOxTNaJmzObEaTDE66797ySeKrr6Hg,168
1009
1011
  vellum/types/node_input_compiled_number_value.py,sha256=H-92wifgPNQxIWzxBBpPO6x8i_HRfHaJWn5xPDDB_qk,170
1010
1012
  vellum/types/node_input_compiled_search_results_value.py,sha256=5pqbGkgX_r4fKiMlnPcovPzHhkl9yhenoPx_zz1rizc,178
1013
+ vellum/types/node_input_compiled_secret_value.py,sha256=FGS_HTzO41MQ0g-RH0hp61ePLDIoClHZ5yQgBrw5QrM,170
1011
1014
  vellum/types/node_input_compiled_string_value.py,sha256=lZfKVBkffPKbONZjljxKMrcBUXvSwBpKb2YSq9TiApo,170
1012
1015
  vellum/types/node_input_variable_compiled_value.py,sha256=DHrIaSM4AOAzy5JCjSNoQnlr_yvarntDWjpVgo3Ni7w,172
1013
1016
  vellum/types/node_output_compiled_array_value.py,sha256=6sodx6QYM2IyVtPiYsAm6g4vQ4U_tqBXcQ6_OeBkmYQ,170
@@ -1374,9 +1377,9 @@ vellum/workflows/nodes/core/__init__.py,sha256=5zDMCmyt1v0HTJzlUBwq3U9L825yZGZhT
1374
1377
  vellum/workflows/nodes/core/error_node/__init__.py,sha256=g7RRnlHhqu4qByfLjBwCunmgGA8dI5gNsjS3h6TwlSI,60
1375
1378
  vellum/workflows/nodes/core/error_node/node.py,sha256=MFHU5vITYSK-L9CuMZ49In2ZeNLWnhZD0f8r5dWvb5Y,1270
1376
1379
  vellum/workflows/nodes/core/inline_subworkflow_node/__init__.py,sha256=nKNEH1QTl-1PcvmYoqSWEl0-t6gAur8GLTXHzklRQfM,84
1377
- vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=B1ant-Pwg1AGFs5BYXynHf2i4rAen1bkr7nbLmiVwHo,6175
1380
+ vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=1RZ9x69qwziPupR5pkUQVTQnEaF4ieaJ8Uvx2gSbiow,6382
1378
1381
  vellum/workflows/nodes/core/inline_subworkflow_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1379
- vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py,sha256=6AG-oTyJaw5a1KWGQFNZaKl6_Pu_fW3nI_WA3XNRFWY,2439
1382
+ vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py,sha256=BLmwLeWxgn6RgRKL8gi8bvV2ZfWnCTsqZDykTgJOjXg,3529
1380
1383
  vellum/workflows/nodes/core/map_node/__init__.py,sha256=MXpZYmGfhsMJHqqlpd64WiJRtbAtAMQz-_3fCU_cLV0,56
1381
1384
  vellum/workflows/nodes/core/map_node/node.py,sha256=dY27Xm11LHsqD7hnZnVYYDIazZ-XfL4_zatvWKTi6CU,9243
1382
1385
  vellum/workflows/nodes/core/map_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1414,12 +1417,12 @@ vellum/workflows/nodes/displayable/bases/tests/test_utils.py,sha256=eqdqbKNRWVMD
1414
1417
  vellum/workflows/nodes/displayable/bases/types.py,sha256=C37B2Qh2YP7s7pUjd-EYKc2Zl1TbnCgI_mENuUSb8bo,1706
1415
1418
  vellum/workflows/nodes/displayable/bases/utils.py,sha256=ckMUenSsNkiYmSw6FmjSMHYaCk8Y8_sUjL6lkFFEqts,5412
1416
1419
  vellum/workflows/nodes/displayable/code_execution_node/__init__.py,sha256=0FLWMMktpzSnmBMizQglBpcPrP80fzVsoJwJgf822Cg,76
1417
- vellum/workflows/nodes/displayable/code_execution_node/node.py,sha256=pdDrjI8wdqMyf52kK6TlSjSU-MRxV2SKDwKcK2LCgkU,9547
1420
+ vellum/workflows/nodes/displayable/code_execution_node/node.py,sha256=oUBfghBMe6JzrPm5e3tGNuBqILwnaBfnCnOSUX-HfOE,9552
1418
1421
  vellum/workflows/nodes/displayable/code_execution_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1419
1422
  vellum/workflows/nodes/displayable/code_execution_node/tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1420
1423
  vellum/workflows/nodes/displayable/code_execution_node/tests/fixtures/main.py,sha256=5QsbmkzSlSbcbWTG_JmIqcP-JNJzOPTKxGzdHos19W4,79
1421
- vellum/workflows/nodes/displayable/code_execution_node/tests/test_code_execution_node.py,sha256=6_RMWedAWU8Zrl0HpQorQgDfjV9khnhSouZeKadClyI,23441
1422
- vellum/workflows/nodes/displayable/code_execution_node/utils.py,sha256=-7YdoF-NO6sYRFLrdkd0n1FhQFiZbJBK5jFcLNghgVo,3635
1424
+ vellum/workflows/nodes/displayable/code_execution_node/tests/test_code_execution_node.py,sha256=xAaoOfQHQUlp0iKlig87t0aT2cJM-8PxiTb1QDg8VmY,24641
1425
+ vellum/workflows/nodes/displayable/code_execution_node/utils.py,sha256=tBuR9cV1caFtpGuQrw_LcPDAfzLI-Mpmi1Klzpr34KM,3870
1423
1426
  vellum/workflows/nodes/displayable/conditional_node/__init__.py,sha256=AS_EIqFdU1F9t8aLmbZU-rLh9ry6LCJ0uj0D8F0L5Uw,72
1424
1427
  vellum/workflows/nodes/displayable/conditional_node/node.py,sha256=Qjfl33gZ3JEgxBA1EgzSUebboGvsARthIxxcQyvx5Gg,1152
1425
1428
  vellum/workflows/nodes/displayable/final_output_node/__init__.py,sha256=G7VXM4OWpubvSJtVkGmMNeqgb9GkM7qZT838eL18XU4,72
@@ -1473,10 +1476,11 @@ vellum/workflows/references/environment_variable.py,sha256=-gfOcdYwVp9ztSUYz6h2W
1473
1476
  vellum/workflows/references/execution_count.py,sha256=JILHqt8ELdc9ct-WsVCA5X-rKiP1rmJODw-XTf4kpHI,722
1474
1477
  vellum/workflows/references/external_input.py,sha256=c_4SojTpykCSbGS1Pjmx9FfquyYGMPksoj0AbrWv7Go,2064
1475
1478
  vellum/workflows/references/input.py,sha256=3INu-TLTi4dziWmva6LO3WvgDlPzsjayUx61cVvqLJA,325
1476
- vellum/workflows/references/lazy.py,sha256=gSOsRwH_V4Jt8aJrwn-8hp3V0jU7GlvoIUDnsMKxvHk,2909
1479
+ vellum/workflows/references/lazy.py,sha256=abGEQ7EUKEAZqUrQtt0YLq6Ipi7vqc-oDJhUkwAFW8c,3116
1477
1480
  vellum/workflows/references/node.py,sha256=LP854wDVs-9I_aZ7-nkbwXqL2H7W2_3LED2e9FixNS8,1418
1478
1481
  vellum/workflows/references/output.py,sha256=-g97wkZDf-6_l_-NM4C_8v1VBt2c7NCPhtrG2lBLKSc,2808
1479
1482
  vellum/workflows/references/state_value.py,sha256=bInUF0A3Pt4-zhA0f6LdSuyv8tz7n5QRkHAEn4gsmqI,711
1483
+ vellum/workflows/references/tests/test_lazy.py,sha256=0s50-LizMTlSTBQahpK0fg_xqCucA8YTp6QmIMqPvMk,919
1480
1484
  vellum/workflows/references/vellum_secret.py,sha256=Od4d19a5yletWMqNfJR5d_mZQUkVcFzj29mE-T9J7yE,480
1481
1485
  vellum/workflows/references/workflow_input.py,sha256=86IuhlBz-9cGxeUzizyjdp482ajcl7h8MnX1soNFMII,1415
1482
1486
  vellum/workflows/resolvers/__init__.py,sha256=eH6hTvZO4IciDaf_cf7aM2vs-DkBDyJPycOQevJxQnI,82
@@ -1518,8 +1522,8 @@ vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnad
1518
1522
  vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1519
1523
  vellum/workflows/workflows/tests/test_base_workflow.py,sha256=NRteiICyJvDM5zrtUfq2fZoXcGQVaWC9xmNlLLVW0cU,7979
1520
1524
  vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
1521
- vellum_ai-0.14.18.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1522
- vellum_ai-0.14.18.dist-info/METADATA,sha256=jfwatBq_nGnqnh-_g3EkOaoxQtBIU5O4Gn7n-v3F_do,5408
1523
- vellum_ai-0.14.18.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1524
- vellum_ai-0.14.18.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1525
- vellum_ai-0.14.18.dist-info/RECORD,,
1525
+ vellum_ai-0.14.20.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1526
+ vellum_ai-0.14.20.dist-info/METADATA,sha256=S1TOATNmyIpyOm-Jhj28lJQ-hYaJUtQ7FZMmfVo2Neo,5408
1527
+ vellum_ai-0.14.20.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1528
+ vellum_ai-0.14.20.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1529
+ vellum_ai-0.14.20.dist-info/RECORD,,
@@ -46,12 +46,16 @@ StateValueDisplayOverridesType = TypeVar("StateValueDisplayOverridesType", bound
46
46
 
47
47
 
48
48
  @dataclass
49
- class EdgeDisplayOverrides:
49
+ class EdgeDisplay:
50
50
  id: UUID
51
51
 
52
52
 
53
53
  @dataclass
54
- class EdgeDisplay(EdgeDisplayOverrides):
54
+ class EdgeDisplayOverrides(EdgeDisplay):
55
+ """
56
+ DEPRECATED: Use EdgeDisplay instead. Will be removed in 0.15.0
57
+ """
58
+
55
59
  pass
56
60
 
57
61