vellum-ai 0.12.8__py3-none-any.whl → 0.12.11__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 (49) hide show
  1. vellum/__init__.py +2 -2
  2. vellum/client/__init__.py +14 -4
  3. vellum/client/core/client_wrapper.py +1 -1
  4. vellum/client/types/__init__.py +2 -2
  5. vellum/client/types/function_call.py +0 -2
  6. vellum/client/types/function_call_request.py +0 -2
  7. vellum/client/types/metric_definition_execution.py +6 -0
  8. vellum/client/types/test_suite_run_execution_metric_result.py +6 -0
  9. vellum/client/types/test_suite_run_metric_array_output.py +32 -0
  10. vellum/client/types/test_suite_run_metric_output.py +2 -0
  11. vellum/evaluations/resources.py +1 -1
  12. vellum/prompts/blocks/compilation.py +4 -4
  13. vellum/types/{fulfilled_enum.py → test_suite_run_metric_array_output.py} +1 -1
  14. vellum/workflows/nodes/bases/__init__.py +0 -2
  15. vellum/workflows/nodes/bases/base.py +2 -6
  16. vellum/workflows/nodes/core/inline_subworkflow_node/node.py +13 -7
  17. vellum/workflows/nodes/core/inline_subworkflow_node/tests/__init__.py +0 -0
  18. vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py +41 -0
  19. vellum/workflows/nodes/core/map_node/node.py +1 -1
  20. vellum/workflows/nodes/core/templating_node/node.py +8 -1
  21. vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py +66 -0
  22. vellum/workflows/nodes/core/try_node/node.py +1 -3
  23. vellum/workflows/nodes/core/try_node/tests/test_node.py +1 -1
  24. vellum/workflows/nodes/displayable/bases/api_node/node.py +2 -2
  25. vellum/workflows/nodes/displayable/bases/search_node.py +1 -2
  26. vellum/workflows/nodes/displayable/inline_prompt_node/node.py +17 -10
  27. vellum/workflows/nodes/displayable/inline_prompt_node/tests/test_node.py +13 -3
  28. vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +4 -2
  29. vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py +1 -2
  30. vellum/workflows/sandbox.py +4 -5
  31. vellum/workflows/state/context.py +5 -4
  32. vellum/workflows/state/encoder.py +4 -0
  33. vellum/workflows/state/tests/test_state.py +19 -0
  34. vellum/workflows/tests/test_sandbox.py +2 -2
  35. vellum/workflows/utils/tests/test_vellum_variables.py +3 -0
  36. vellum/workflows/utils/vellum_variables.py +5 -4
  37. vellum/workflows/workflows/base.py +5 -2
  38. {vellum_ai-0.12.8.dist-info → vellum_ai-0.12.11.dist-info}/METADATA +1 -1
  39. {vellum_ai-0.12.8.dist-info → vellum_ai-0.12.11.dist-info}/RECORD +46 -45
  40. vellum_cli/tests/test_push.py +1 -1
  41. vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py +6 -1
  42. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py +207 -0
  43. vellum/client/types/fulfilled_enum.py +0 -5
  44. vellum/workflows/nodes/bases/base_subworkflow_node/__init__.py +0 -5
  45. vellum/workflows/nodes/bases/base_subworkflow_node/node.py +0 -10
  46. /vellum/{evaluations/utils → utils}/uuid.py +0 -0
  47. {vellum_ai-0.12.8.dist-info → vellum_ai-0.12.11.dist-info}/LICENSE +0 -0
  48. {vellum_ai-0.12.8.dist-info → vellum_ai-0.12.11.dist-info}/WHEEL +0 -0
  49. {vellum_ai-0.12.8.dist-info → vellum_ai-0.12.11.dist-info}/entry_points.txt +0 -0
@@ -12,7 +12,6 @@ from vellum.client.types.initiated_execute_prompt_event import InitiatedExecuteP
12
12
  from vellum.client.types.prompt_output import PromptOutput
13
13
  from vellum.client.types.prompt_request_json_input import PromptRequestJsonInput
14
14
  from vellum.client.types.string_vellum_value import StringVellumValue
15
- from vellum.workflows.nodes.displayable.bases.inline_prompt_node.node import BaseInlinePromptNode
16
15
  from vellum.workflows.nodes.displayable.inline_prompt_node.node import InlinePromptNode
17
16
 
18
17
 
@@ -74,7 +73,7 @@ def test_inline_prompt_node__function_definitions(vellum_adhoc_prompt_client):
74
73
  pass
75
74
 
76
75
  # AND a prompt node with a accepting that function definition
77
- class MyNode(BaseInlinePromptNode):
76
+ class MyNode(InlinePromptNode):
78
77
  ml_model = "gpt-4o"
79
78
  functions = [my_function]
80
79
  prompt_inputs = {}
@@ -99,7 +98,7 @@ def test_inline_prompt_node__function_definitions(vellum_adhoc_prompt_client):
99
98
  vellum_adhoc_prompt_client.adhoc_execute_prompt_stream.side_effect = generate_prompt_events
100
99
 
101
100
  # WHEN the node is run
102
- list(MyNode().run())
101
+ outputs = list(MyNode().run())
103
102
 
104
103
  # THEN the prompt is executed with the correct inputs
105
104
  mock_api = vellum_adhoc_prompt_client.adhoc_execute_prompt_stream
@@ -117,3 +116,14 @@ def test_inline_prompt_node__function_definitions(vellum_adhoc_prompt_client):
117
116
  },
118
117
  ),
119
118
  ]
119
+ assert (
120
+ outputs[-1].value
121
+ == """{
122
+ "arguments": {
123
+ "foo": "hello",
124
+ "bar": 1
125
+ },
126
+ "id": null,
127
+ "name": "my_function"
128
+ }"""
129
+ )
@@ -17,12 +17,13 @@ from vellum.workflows.context import get_parent_context
17
17
  from vellum.workflows.errors import WorkflowErrorCode
18
18
  from vellum.workflows.errors.types import workflow_event_error_to_workflow_error
19
19
  from vellum.workflows.exceptions import NodeException
20
- from vellum.workflows.nodes.bases.base_subworkflow_node.node import BaseSubworkflowNode
20
+ from vellum.workflows.nodes.bases.base import BaseNode
21
21
  from vellum.workflows.outputs.base import BaseOutput
22
+ from vellum.workflows.types.core import EntityInputsInterface
22
23
  from vellum.workflows.types.generics import StateType
23
24
 
24
25
 
25
- class SubworkflowDeploymentNode(BaseSubworkflowNode[StateType], Generic[StateType]):
26
+ class SubworkflowDeploymentNode(BaseNode[StateType], Generic[StateType]):
26
27
  """
27
28
  Used to execute a Workflow Deployment.
28
29
 
@@ -38,6 +39,7 @@ class SubworkflowDeploymentNode(BaseSubworkflowNode[StateType], Generic[StateTyp
38
39
 
39
40
  # Either the Workflow Deployment's UUID or its name.
40
41
  deployment: ClassVar[Union[UUID, str]]
42
+ subworkflow_inputs: ClassVar[EntityInputsInterface] = {}
41
43
 
42
44
  release_tag: str = LATEST_RELEASE_TAG
43
45
  external_id: Optional[str] = OMIT
@@ -118,8 +118,7 @@ witness or missing person.\
118
118
 
119
119
  # AND we should have made the expected call to Vellum search
120
120
  vellum_search_client.assert_called_once_with(
121
- index_id=None,
122
- index_name="vellum-trust-center-policies",
121
+ document_index="vellum-trust-center-policies",
123
122
  query="How often is employee training?",
124
123
  options=SearchRequestOptionsRequest(
125
124
  limit=8,
@@ -1,4 +1,4 @@
1
- from typing import Generic, Sequence, Type
1
+ from typing import Generic, Sequence
2
2
 
3
3
  import dotenv
4
4
 
@@ -9,8 +9,8 @@ from vellum.workflows.types.generics import WorkflowType
9
9
  from vellum.workflows.workflows.event_filters import root_workflow_event_filter
10
10
 
11
11
 
12
- class SandboxRunner(Generic[WorkflowType]):
13
- def __init__(self, workflow: Type[WorkflowType], inputs: Sequence[BaseInputs]):
12
+ class WorkflowSandboxRunner(Generic[WorkflowType]):
13
+ def __init__(self, workflow: WorkflowType, inputs: Sequence[BaseInputs]):
14
14
  if not inputs:
15
15
  raise ValueError("Inputs are required to have at least one defined inputs")
16
16
 
@@ -30,8 +30,7 @@ class SandboxRunner(Generic[WorkflowType]):
30
30
 
31
31
  selected_inputs = self._inputs[index]
32
32
 
33
- workflow = self._workflow()
34
- events = workflow.stream(
33
+ events = self._workflow.stream(
35
34
  inputs=selected_inputs,
36
35
  event_filter=root_workflow_event_filter,
37
36
  )
@@ -13,11 +13,12 @@ if TYPE_CHECKING:
13
13
  class WorkflowContext:
14
14
  def __init__(
15
15
  self,
16
- _vellum_client: Optional[Vellum] = None,
17
- _parent_context: Optional[ParentContext] = None,
16
+ *,
17
+ vellum_client: Optional[Vellum] = None,
18
+ parent_context: Optional[ParentContext] = None,
18
19
  ):
19
- self._vellum_client = _vellum_client
20
- self._parent_context = _parent_context
20
+ self._vellum_client = vellum_client
21
+ self._parent_context = parent_context
21
22
  self._event_queue: Optional[Queue["WorkflowEvent"]] = None
22
23
 
23
24
  @cached_property
@@ -2,6 +2,7 @@ from dataclasses import asdict, is_dataclass
2
2
  from datetime import datetime
3
3
  import enum
4
4
  from json import JSONEncoder
5
+ from queue import Queue
5
6
  from uuid import UUID
6
7
  from typing import Any, Callable, Dict, Type
7
8
 
@@ -44,6 +45,9 @@ class DefaultStateEncoder(JSONEncoder):
44
45
  if isinstance(obj, enum.Enum):
45
46
  return obj.value
46
47
 
48
+ if isinstance(obj, Queue):
49
+ return list(obj.queue)
50
+
47
51
  if is_dataclass(obj):
48
52
  # Technically, obj is DataclassInstance | type[DataclassInstance], but asdict expects a DataclassInstance
49
53
  # in practice, we only ever pass the former
@@ -2,6 +2,7 @@ import pytest
2
2
  from collections import defaultdict
3
3
  from copy import deepcopy
4
4
  import json
5
+ from queue import Queue
5
6
  from typing import Dict
6
7
 
7
8
  from vellum.workflows.nodes.bases import BaseNode
@@ -113,3 +114,21 @@ def test_state_json_serialization__with_node_output_updates():
113
114
 
114
115
  # THEN the state is serialized correctly
115
116
  assert json_state["meta"]["node_outputs"] == {"MockNode.Outputs.baz": "hello"}
117
+
118
+
119
+ def test_state_json_serialization__with_queue():
120
+ # GIVEN an initial state instance
121
+ state = MockState(foo="bar")
122
+
123
+ # AND we add a Node Output queue to state
124
+ queue: Queue[str] = Queue()
125
+ queue.put("test1")
126
+ queue.put("test2")
127
+
128
+ state.meta.node_outputs[MockNode.Outputs.baz] = queue
129
+
130
+ # WHEN we serialize the state
131
+ json_state = json.loads(json.dumps(state, cls=DefaultStateEncoder))
132
+
133
+ # THEN the state is serialized correctly with the queue turned into a list
134
+ assert json_state["meta"]["node_outputs"] == {"MockNode.Outputs.baz": ["test1", "test2"]}
@@ -3,7 +3,7 @@ from typing import List
3
3
 
4
4
  from vellum.workflows.inputs.base import BaseInputs
5
5
  from vellum.workflows.nodes.bases.base import BaseNode
6
- from vellum.workflows.sandbox import SandboxRunner
6
+ from vellum.workflows.sandbox import WorkflowSandboxRunner
7
7
  from vellum.workflows.state.base import BaseState
8
8
  from vellum.workflows.workflows.base import BaseWorkflow
9
9
 
@@ -49,7 +49,7 @@ def test_sandbox_runner__happy_path(mock_logger, run_kwargs, expected_last_log):
49
49
  ]
50
50
 
51
51
  # WHEN we run the sandbox
52
- runner = SandboxRunner(workflow=Workflow, inputs=inputs)
52
+ runner = WorkflowSandboxRunner(workflow=Workflow(), inputs=inputs)
53
53
  runner.run(**run_kwargs)
54
54
 
55
55
  # THEN we see the logs
@@ -2,6 +2,7 @@ import pytest
2
2
  from typing import List, Optional
3
3
 
4
4
  from vellum import ChatMessage, SearchResult
5
+ from vellum.workflows.types.core import Json
5
6
  from vellum.workflows.utils.vellum_variables import primitive_type_to_vellum_variable_type
6
7
 
7
8
 
@@ -18,6 +19,8 @@ from vellum.workflows.utils.vellum_variables import primitive_type_to_vellum_var
18
19
  (Optional[List[ChatMessage]], "CHAT_HISTORY"),
19
20
  (List[SearchResult], "SEARCH_RESULTS"),
20
21
  (Optional[List[SearchResult]], "SEARCH_RESULTS"),
22
+ (Json, "JSON"),
23
+ (Optional[Json], "JSON"),
21
24
  ],
22
25
  )
23
26
  def test_primitive_type_to_vellum_variable_type(type_, expected):
@@ -35,14 +35,15 @@ def primitive_type_to_vellum_variable_type(type_: Union[Type, BaseDescriptor]) -
35
35
  if len(types) != 1:
36
36
  # Check explicitly for our internal JSON type.
37
37
  # Matches the type found at vellum.workflows.utils.vellum_variables.Json
38
- if types == [
38
+ actual_types_with_explicit_ref = [
39
39
  bool,
40
40
  int,
41
41
  float,
42
42
  str,
43
- typing.List[typing.ForwardRef("Json")], # type: ignore [misc]
44
- typing.Dict[str, typing.ForwardRef("Json")], # type: ignore [misc]
45
- ]:
43
+ typing.List[Json],
44
+ typing.Dict[str, Json],
45
+ ]
46
+ if types == actual_types_with_explicit_ref:
46
47
  return "JSON"
47
48
  raise ValueError(f"Expected Descriptor to only have one type, got {types}")
48
49
 
@@ -121,10 +121,11 @@ class BaseWorkflow(Generic[WorkflowInputsType, StateType], metaclass=_BaseWorkfl
121
121
 
122
122
  def __init__(
123
123
  self,
124
+ *,
125
+ context: Optional[WorkflowContext] = None,
124
126
  parent_state: Optional[BaseState] = None,
125
127
  emitters: Optional[List[BaseWorkflowEmitter]] = None,
126
128
  resolvers: Optional[List[BaseWorkflowResolver]] = None,
127
- context: Optional[WorkflowContext] = None,
128
129
  ):
129
130
  self._parent_state = parent_state
130
131
  self.emitters = emitters or (self.emitters if hasattr(self, "emitters") else [])
@@ -188,6 +189,7 @@ class BaseWorkflow(Generic[WorkflowInputsType, StateType], metaclass=_BaseWorkfl
188
189
  def run(
189
190
  self,
190
191
  inputs: Optional[WorkflowInputsType] = None,
192
+ *,
191
193
  state: Optional[StateType] = None,
192
194
  entrypoint_nodes: Optional[RunFromNodeArg] = None,
193
195
  external_inputs: Optional[ExternalInputsArg] = None,
@@ -281,8 +283,9 @@ class BaseWorkflow(Generic[WorkflowInputsType, StateType], metaclass=_BaseWorkfl
281
283
 
282
284
  def stream(
283
285
  self,
284
- event_filter: Optional[Callable[[Type["BaseWorkflow"], WorkflowEvent], bool]] = None,
285
286
  inputs: Optional[WorkflowInputsType] = None,
287
+ *,
288
+ event_filter: Optional[Callable[[Type["BaseWorkflow"], WorkflowEvent], bool]] = None,
286
289
  state: Optional[StateType] = None,
287
290
  entrypoint_nodes: Optional[RunFromNodeArg] = None,
288
291
  external_inputs: Optional[ExternalInputsArg] = None,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.12.8
3
+ Version: 0.12.11
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.9,<4.0
@@ -12,7 +12,7 @@ vellum_cli/tests/conftest.py,sha256=eFGwBxib3Nki830lIFintB0b6r4x8T_KMnmzhlTY5x0,
12
12
  vellum_cli/tests/test_config.py,sha256=uvKGDc8BoVyT9_H0Z-g8469zVxomn6Oi3Zj-vK7O_wU,2631
13
13
  vellum_cli/tests/test_main.py,sha256=qDZG-aQauPwBwM6A2DIu1494n47v3pL28XakTbLGZ-k,272
14
14
  vellum_cli/tests/test_pull.py,sha256=Bnf21VjfiRb_j495idz5N8afucagtiktNCtVMvU8tGs,18977
15
- vellum_cli/tests/test_push.py,sha256=V2iGcskh2X3OHj2uV5Vx_BhmtyfmUkyx0lrp8DDOExc,5824
15
+ vellum_cli/tests/test_push.py,sha256=NpwGXuZSzrR7B6hBO1UF9O8im13_LlpSqncVSdzYDiQ,5812
16
16
  vellum_ee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  vellum_ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
18
  vellum_ee/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -34,7 +34,7 @@ vellum_ee/workflows/display/nodes/vellum/error_node.py,sha256=ygTjSjYDI4DtkxADWu
34
34
  vellum_ee/workflows/display/nodes/vellum/final_output_node.py,sha256=t5iJQVoRT5g-v2IiUb4kFYdvUVKch0zn27016pzDZoo,2761
35
35
  vellum_ee/workflows/display/nodes/vellum/guardrail_node.py,sha256=3TJvHX_Uuf_gr94VkYc_zmNH8I5p71ChIeoAbJZ3ddY,2158
36
36
  vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=DYhxHgFT06CNCpovO4Z-wFPqCjFKxyl89ygFs8AucRQ,7189
37
- vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=x5wiuWbRjxNcPGu8BoBEKHwPeqCpHE-vrGjAdM5TJOs,4721
37
+ vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=IqPQdlxLdaMirgDbOSxq17d8bolqqjjRPy4t3YCBhmc,5028
38
38
  vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=AqUlItgSZij12qRKguKVmDbbaLuDy3Cdom5uOlJPqrc,3640
39
39
  vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=jzO63B9KiEAncnBqmz2ZTcxjmEHozMEe7WnfpcpsQYg,3195
40
40
  vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=9VpC3h0RYOxJuRbjDwidBYlLKakkmlEnDMBh2C7lHcY,1107
@@ -60,6 +60,7 @@ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_s
60
60
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=NkpgaTbu6nLr3iwgsSNtiHyiNDCUaFakd1JaoW6CC6Y,9489
61
61
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py,sha256=9R6ELHBn9tsp3cy15q1qp1OByyCxFOVdrM67EwCYY50,12984
62
62
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=8bz0vm_EyQKSjnwS5vqqgnjE9ygvm-CaPKcwCfeOrlo,12704
63
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py,sha256=6LrGPS7e9CWpjFq2hpliSzP9kDpZ9KqvBNlNO3sq8cs,8063
63
64
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=xG8nKA1iKXxUe1fnD2X6qm7cUGW14iq2P-L16zhcKC8,4271
64
65
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=1_02RbghUwhKMr8VtRaPjHOXAX59hgWw1rJ2EDyKs-E,2880
65
66
  vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=BGCgJ3WWiYK5fWJp_Yz-aWQPli5sIKOhLTVYfG9Tpq8,9177
@@ -71,12 +72,12 @@ vellum_ee/workflows/display/workflows/__init__.py,sha256=kapXsC67VJcgSuiBMa86Fde
71
72
  vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=ydAbFMzcY2LURINZbXYm9BAXZdIa3-7rQ86Kupo7qcA,12804
72
73
  vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=AMxNnTm2z3LIR5rqxoCAfuy37F2FTuSRDVtKUoezO8M,1184
73
74
  vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=GhIviEMDWNw1p8z20ta08T5PeNCVJs5p2hrOX1uyNxg,17066
74
- vellum/__init__.py,sha256=QmGeEPXeFxgkZa849KKK3wH3Y641wyt00Rytfay6KiM,35520
75
+ vellum/__init__.py,sha256=FTKuzi4UX1MAYpZnW-JbtU8WgOzUIfolgajVVR96LGs,35552
75
76
  vellum/client/README.md,sha256=JkCJjmMZl4jrPj46pkmL9dpK4gSzQQmP5I7z4aME4LY,4749
76
- vellum/client/__init__.py,sha256=o4m7iRZWEV8rP3GkdaztHAjNmjxjWERlarviFoHzuKI,110927
77
+ vellum/client/__init__.py,sha256=z59nOGe27vMDqsU-ljfULBwC5J4nyrqFunhmo8xnxbU,111521
77
78
  vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
78
79
  vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
79
- vellum/client/core/client_wrapper.py,sha256=oWk19_A_3mvqQM_W3wJgQnObX6YIE918NEp9olVAuEo,1868
80
+ vellum/client/core/client_wrapper.py,sha256=XMPyn7D-uucGK4Ut387xUgRrFjGQOVJfXarC4py5MbY,1869
80
81
  vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
81
82
  vellum/client/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
82
83
  vellum/client/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
@@ -135,7 +136,7 @@ vellum/client/resources/workflows/types/__init__.py,sha256=-uFca4ypncAOvfsg6sjD-
135
136
  vellum/client/resources/workflows/types/workflows_pull_request_format.py,sha256=dOWE_jnDnniIJLoeseeCms23aklghyBkoPmBFzcqqZk,165
136
137
  vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
137
138
  vellum/client/resources/workspace_secrets/client.py,sha256=h7UzXLyTttPq1t-JZGMg1BWxypxJvBGUdqg7KGT7MK4,8027
138
- vellum/client/types/__init__.py,sha256=618t1NgjOnUJWFFv5pS4dmOIttrTkHhMNj5F8yRlTpA,53769
139
+ vellum/client/types/__init__.py,sha256=cCh66eGhjb0bVYtwjjQBGpzjt_LT0SiVToraHqVglTg,53821
139
140
  vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
140
141
  vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
141
142
  vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
@@ -255,19 +256,18 @@ vellum/client/types/folder_entity_test_suite_data.py,sha256=RGITy3Pip6NeIb77YGav
255
256
  vellum/client/types/folder_entity_workflow_sandbox.py,sha256=gFmkwKZGh5O9-9y4w6VGK1IRsKLf7NZ4SCC-pgucm8M,853
256
257
  vellum/client/types/folder_entity_workflow_sandbox_data.py,sha256=MW0nLAvetgnsm6KWiGcYcKB9llR-UfosSNz0MtokN38,783
257
258
  vellum/client/types/fulfilled_ad_hoc_execute_prompt_event.py,sha256=19rFjVrzobaaAQhZlP_WGV9f_Rwrz4EPRXbT2aYkaJw,1016
258
- vellum/client/types/fulfilled_enum.py,sha256=MenrGneRMBvsq-n8tkMXAx0wppGWLJgkqdKnfklGP9U,124
259
259
  vellum/client/types/fulfilled_execute_prompt_event.py,sha256=E-iBwlMWvwQyRfzqPlgtX8KurE3IYsTRd5vWjXtbOmk,994
260
260
  vellum/client/types/fulfilled_execute_prompt_response.py,sha256=nKhDk2ZloCuE0uijX5XOE63_cq8PBo4UWs4hK4e3jUE,1227
261
261
  vellum/client/types/fulfilled_execute_workflow_workflow_result_event.py,sha256=kYlTOfJd9SydVSmJ8dr8pdLh7RHOwcFv5UzBYgKlyTw,1147
262
262
  vellum/client/types/fulfilled_prompt_execution_meta.py,sha256=sMWAMqJCh8n_NBtRSM4muiAqKne_W-NCxJVzKy9Q1Ec,934
263
263
  vellum/client/types/fulfilled_workflow_node_result_event.py,sha256=dYZUcyl_nFRFpBA_imaHkp9F7dLi59z2ESq4R7do9mo,1403
264
- vellum/client/types/function_call.py,sha256=nXPEC3nJh8QzjCvyomfm80fyO-Aar60KBOaGfQtZ5D0,804
264
+ vellum/client/types/function_call.py,sha256=3f19emMu06jHo3DlO4pQb_bC7NjKCLjWdLq3gndiCqg,713
265
265
  vellum/client/types/function_call_chat_message_content.py,sha256=qXbrMQeXn_CLjfDzQvv9llmae2wvpoTlUSQWdfMvf-k,831
266
266
  vellum/client/types/function_call_chat_message_content_request.py,sha256=HVGxHs6jc4EBgW7rdJXlF8KRlugY5YHa0ujDrEQqPCo,860
267
267
  vellum/client/types/function_call_chat_message_content_value.py,sha256=DHRZYAMc4Y5MerUS_6CIxQBtORftKn-gBx8Skgivm_A,736
268
268
  vellum/client/types/function_call_chat_message_content_value_request.py,sha256=67EZ3qSR9zO5akOgloswRE0Pv8BcjtWhdTRJIwuQU04,743
269
269
  vellum/client/types/function_call_input.py,sha256=Iiqk2-IX6xUI2UnRj3bum5C0OlQn9jRmBwatUzJQQt8,820
270
- vellum/client/types/function_call_request.py,sha256=eJBIN-wLkkkDUIwAy1nMeWHu3MZ5aJpOXyWtBa39RFA,811
270
+ vellum/client/types/function_call_request.py,sha256=udGEdk66q1zTpEFE2xq-cu6w_ahMpfQv_9lIey9x1G0,720
271
271
  vellum/client/types/function_call_variable_value.py,sha256=VQKCiEtJsmIK3i7CtFV_2ZpxeX70rqpUViXIvAci8L0,702
272
272
  vellum/client/types/function_call_vellum_value.py,sha256=lLJb-S_-S_UXm6una1BMyCbqLpMhbbMcaVIYNO45h5o,759
273
273
  vellum/client/types/function_call_vellum_value_request.py,sha256=oUteuCfWcj7UJbSE_Vywmmva9kyTaeL9iv5WJHabDVs,788
@@ -320,7 +320,7 @@ vellum/client/types/metadata_filter_config_request.py,sha256=eFmoTIVv4RB6DRaxqyD
320
320
  vellum/client/types/metadata_filter_rule_combinator.py,sha256=3Vpp1Mnv3As7efkxWTeV8qd4gdJ6OLoLhz_UeVBHAX8,165
321
321
  vellum/client/types/metadata_filter_rule_request.py,sha256=Pcs0TsU7CRnsEUoH0DWb-c9DTP2UW67lJKXlsTLXV48,1135
322
322
  vellum/client/types/metadata_filters_request.py,sha256=Yaiu7rkcrV2bCFk6HrZSjuF6V-6JYjZTpzxv7_MFe70,345
323
- vellum/client/types/metric_definition_execution.py,sha256=xwr5VJTo32k77isUtz2uzHGmtRm6K_VyOlTCbJr0JNU,672
323
+ vellum/client/types/metric_definition_execution.py,sha256=uLi7Wj1b0f5tjiZWbLGLZMLiNOLZ3ofR57WHne116t8,907
324
324
  vellum/client/types/metric_definition_history_item.py,sha256=oR0m0PG_NGpEBSwJ3n-CFi6TJo3o5Y4D_wfaqpk2VxI,1183
325
325
  vellum/client/types/metric_definition_input.py,sha256=4nmwpPqbeNQYCzLkXCkc-FGV5K2Zfa22xqSUe_L6o5s,331
326
326
  vellum/client/types/metric_node_result.py,sha256=YdKq1DZiBD1RBtjyMejImylv3BqrwY8B_UF4Ij-6_64,660
@@ -515,7 +515,7 @@ vellum/client/types/test_suite_run_execution_error_output.py,sha256=6UXaVzWivUTQ
515
515
  vellum/client/types/test_suite_run_execution_function_call_output.py,sha256=jgAk0xgWnJudZh4VhDNb8HfgUAUHA6I8PK_2ExHW9hE,873
516
516
  vellum/client/types/test_suite_run_execution_json_output.py,sha256=qO-EVGBzKU_zhGYo4hiOrIteymXEc5Hbsea5YC-cnXY,796
517
517
  vellum/client/types/test_suite_run_execution_metric_definition.py,sha256=5Yd7aQK7vr5swpA8ciMwmMb12wismM5vgCOoGLlAFmU,679
518
- vellum/client/types/test_suite_run_execution_metric_result.py,sha256=ANu2cAUOE8mEINWYdaUzYbJ7vXx7KYAhFniQ-emMGzo,924
518
+ vellum/client/types/test_suite_run_execution_metric_result.py,sha256=LfLwTtCmNJp3u_h3MfWbD9UKw9n8eN4QLN_VeKtHWAk,1175
519
519
  vellum/client/types/test_suite_run_execution_number_output.py,sha256=qzD1sny1o6HDZXkGgvXOPclR4-L1VyAfLvQCnLnU_BM,799
520
520
  vellum/client/types/test_suite_run_execution_output.py,sha256=jxZg_EOMwKjCDH0QyrecZyUW5OqCMMsWmk9PIwI8EUs,1171
521
521
  vellum/client/types/test_suite_run_execution_search_results_output.py,sha256=30dcLuSRxFZWZgkU2iPNzKcTsT8tJrD1B91UDSaOp3M,890
@@ -524,10 +524,11 @@ vellum/client/types/test_suite_run_external_exec_config.py,sha256=pznl2aDh12tGMR
524
524
  vellum/client/types/test_suite_run_external_exec_config_data.py,sha256=ukhvRkWY7MxWbj1Im1eqUWdW1AxO_98GX3WAjH77fSQ,1071
525
525
  vellum/client/types/test_suite_run_external_exec_config_data_request.py,sha256=c_ILHYfH55Yoc52oCK4uwtEv4mJxhDXM6YBFJwPh4uA,1142
526
526
  vellum/client/types/test_suite_run_external_exec_config_request.py,sha256=HxBtYYKC7p1pwlNjjeW3smcDrtiRvPx3xXRbWxID1vk,1401
527
+ vellum/client/types/test_suite_run_metric_array_output.py,sha256=U0G8rrhhqpX9_CWPV2Ys6PtzyJT6oRkUV4NOK9O4-qA,1035
527
528
  vellum/client/types/test_suite_run_metric_error_output.py,sha256=trW1KTH4SJafRfDFRyBS7TpzcT88tXkpWEoysij6IXQ,755
528
529
  vellum/client/types/test_suite_run_metric_json_output.py,sha256=DI3mJR5kpi8Hm2n6tx6buySHPwTkkbBbr8Lkk4k6HH4,738
529
530
  vellum/client/types/test_suite_run_metric_number_output.py,sha256=8pddeSds6Rrn0xGqyvgPsG1hr1tu6eOiQAp8kkM_aBk,739
530
- vellum/client/types/test_suite_run_metric_output.py,sha256=qxEJ6Ii4XOhJpM3tgn6ctRnldysduEIe8tQFnWBEOvQ,578
531
+ vellum/client/types/test_suite_run_metric_output.py,sha256=z9A4_ZT9_NIHWHkFZakaf_SMn3Y13WRJ_lWzTCzXZ_U,691
531
532
  vellum/client/types/test_suite_run_metric_string_output.py,sha256=YXerGfpvJdBtKrzgutSqEfG-N6cZoeOL59qZ5k6DwQA,737
532
533
  vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py,sha256=NUJXSSLxOxVAGOoQj74m5UqjCTCCeEIgbWGP6kM2Fck,1200
533
534
  vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py,sha256=IdlTWDda1061PwsHaoGDyB7-2lBVSus7Z8agcdmSOYE,905
@@ -649,19 +650,18 @@ vellum/errors/not_found_error.py,sha256=gC71YBdPyHR46l3RNTs0v9taVvAY0gWRFrcKpKzb
649
650
  vellum/evaluations/__init__.py,sha256=hNsLoHSykqXDJP-MwFvu2lExImxo9KEyEJjt_fdAzpE,77
650
651
  vellum/evaluations/constants.py,sha256=Vteml4_csZsMgo_q3-71E3JRCAoN6308TXLu5nfLhmU,116
651
652
  vellum/evaluations/exceptions.py,sha256=6Xacoyv43fJvVf6Dt6Io5a-f9vF12Tx51jzsQRNSqhY,56
652
- vellum/evaluations/resources.py,sha256=33IDRHOjrRsC20JHs0BtRlaSYCY9Gg-AkA6qkPjBrWo,12676
653
+ vellum/evaluations/resources.py,sha256=7xS4eYeRLLz44KLMDL0wwIY80wMy2carFREB85k_Avk,12664
653
654
  vellum/evaluations/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
654
655
  vellum/evaluations/utils/env.py,sha256=Xj_nxsoU5ox06EOTjRopR4lrigQI6Le6qbWGltYoEGU,276
655
656
  vellum/evaluations/utils/exceptions.py,sha256=dXMAkzqbHV_AP5FjjbegPlfUE0zQDlpA3qOsoOJUxfg,49
656
657
  vellum/evaluations/utils/paginator.py,sha256=rEED_BJAXAM6tM1yMwHePNzszjq_tTq4NbQvi1jWQ_Q,697
657
- vellum/evaluations/utils/uuid.py,sha256=Ch6wWRgwICxLxJCTl5iE3EdRlZj2zADR-zUMUtjcMWM,214
658
658
  vellum/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
659
659
  vellum/plugins/pydantic.py,sha256=EbI0pJMhUS9rLPSkzmAELfnCHrWCJzOrU06T8ommwdw,2334
660
660
  vellum/plugins/utils.py,sha256=U9ZY9KdE3RRvbcG01hXxu9CvfJD6Fo7nJDgcHjQn0FI,606
661
661
  vellum/plugins/vellum_mypy.py,sha256=VC15EzjTsXOb9uF1bky4rcxePP-0epMVmCsLB2z4Dh8,24816
662
662
  vellum/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
663
663
  vellum/prompts/blocks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
664
- vellum/prompts/blocks/compilation.py,sha256=hBN_ajq77tSkVyUIcDlO-Qu77PSeJ1OzVhp70NmQd2k,7458
664
+ vellum/prompts/blocks/compilation.py,sha256=GVxV0iaVp72RCNMlLtUasfg25jBjbeEu3u97QUSbrQo,7506
665
665
  vellum/prompts/blocks/exceptions.py,sha256=vmk5PV6Vyw9nKjZYQDUDW0LH8MfQNIgFvFb_mFWdIRI,50
666
666
  vellum/prompts/blocks/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
667
667
  vellum/prompts/blocks/tests/test_compilation.py,sha256=0DhMoc4huHR6YnNL-0aBLmWSyUfw2BpRq_gEdKsQmAc,3693
@@ -830,7 +830,6 @@ vellum/types/folder_entity_test_suite_data.py,sha256=FQd58e9hlOBFwDp0DiD-YO_01S6
830
830
  vellum/types/folder_entity_workflow_sandbox.py,sha256=2KybEyswJhuqCL9FCp-LEfm8wkNmky1ROTN4je4T1gk,168
831
831
  vellum/types/folder_entity_workflow_sandbox_data.py,sha256=QIxbRKQAq-O9nVMYOTubkFmWx7rvX-BeV5lwU1d8TCY,173
832
832
  vellum/types/fulfilled_ad_hoc_execute_prompt_event.py,sha256=aC5REbvPJa1Ifnkr8jSY0RXrrNpSTicKz86SCrWZRag,175
833
- vellum/types/fulfilled_enum.py,sha256=UfkMLLR1u2MCMSQEivCED-r65cMFEhWPECskwVm-DAQ,152
834
833
  vellum/types/fulfilled_execute_prompt_event.py,sha256=IVEjlhPZkgnmhND0JXJo33mLCehupk4Cy6CTTaaW18o,168
835
834
  vellum/types/fulfilled_execute_prompt_response.py,sha256=0TmtIHRSLXmOzs-mnCA8txZHWtSP0RAG8ItLUiqDig8,171
836
835
  vellum/types/fulfilled_execute_workflow_workflow_result_event.py,sha256=Xuz7iHzmyUcGuXQ-e-a6qRgeeVmuX7ZZYC1-YYPkwDQ,186
@@ -1099,6 +1098,7 @@ vellum/types/test_suite_run_external_exec_config.py,sha256=y8JNeWgqWTac2Utv7zlXJ
1099
1098
  vellum/types/test_suite_run_external_exec_config_data.py,sha256=18Y2cEVxSlaFjH5pbvWGt8Hikoy4-GF1oPIibQR6l_U,178
1100
1099
  vellum/types/test_suite_run_external_exec_config_data_request.py,sha256=0IgvVC3Rxan9YktlIQ4rqsNRFqngy0U7htWDr6gEGjE,186
1101
1100
  vellum/types/test_suite_run_external_exec_config_request.py,sha256=PdPbkFlqq7ug7-jwhJG45CLbEVW-SCx-oczKrkCHsfM,181
1101
+ vellum/types/test_suite_run_metric_array_output.py,sha256=DeBxH90NXEmlNlQ8qH3uuV-w9AuekFlMY28zUPh2HcI,172
1102
1102
  vellum/types/test_suite_run_metric_error_output.py,sha256=_5HgfGe47snz0qG_C_6Hb_tHMepEUgP0NnVIqKJ0y2Y,172
1103
1103
  vellum/types/test_suite_run_metric_json_output.py,sha256=mZIXhFS0IoauRhNhwtO_nBe_EfZVqar0CKok4JpdWa0,171
1104
1104
  vellum/types/test_suite_run_metric_number_output.py,sha256=FRat-EjmPl4eyK307tPnQ8U3prAPsqgXVLdRmYXxaGw,173
@@ -1210,6 +1210,7 @@ vellum/utils/templating/custom_filters.py,sha256=Q0DahYRHP4KfaUXDt9XxN-DFLBrAxlv
1210
1210
  vellum/utils/templating/exceptions.py,sha256=cDp140PP4OnInW4qAvg3KqiSiF70C71UyEAKRBR1Abo,46
1211
1211
  vellum/utils/templating/render.py,sha256=0vgkwhu2A6o64aT4fUdTSLFCEMbeRjAKAuvv2k2LYGY,1772
1212
1212
  vellum/utils/typing.py,sha256=wx_daFqD69cYkuJTVnvNrpjhqC3uuhbnyJ9_bIwC9OU,327
1213
+ vellum/utils/uuid.py,sha256=Ch6wWRgwICxLxJCTl5iE3EdRlZj2zADR-zUMUtjcMWM,214
1213
1214
  vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
1214
1215
  vellum/workflows/README.md,sha256=MLNm-ihc0ao6I8gwwOhXQQBf0jOf-EsA9C519ALYI1o,3610
1215
1216
  vellum/workflows/__init__.py,sha256=CssPsbNvN6rDhoLuqpEv7MMKGa51vE6dvAh6U31Pcio,71
@@ -1271,19 +1272,19 @@ vellum/workflows/inputs/__init__.py,sha256=AbFEteIYEvCb14fM3EK7bhM-40-6s494rSlIh
1271
1272
  vellum/workflows/inputs/base.py,sha256=1kMgr0WqCYdWUqgFvgSoAMw2067FAlgwhGXLgbIOrLY,2391
1272
1273
  vellum/workflows/logging.py,sha256=_a217XogktV4Ncz6xKFz7WfYmZAzkfVRVuC0rWob8ls,437
1273
1274
  vellum/workflows/nodes/__init__.py,sha256=aVdQVv7Y3Ro3JlqXGpxwaU2zrI06plDHD2aumH5WUIs,1157
1274
- vellum/workflows/nodes/bases/__init__.py,sha256=Ll1Ti6t3e_HKtGLsQTHAJevDmfo0QtfgPZUZ9FCRduI,140
1275
- vellum/workflows/nodes/bases/base.py,sha256=oqNO8rEeSu86wBuXQ8pGIOCZP7Bc_PdDL1etz_ef2A0,14271
1276
- vellum/workflows/nodes/bases/base_subworkflow_node/__init__.py,sha256=0nkHQiFC4IpA1ZGx60XG0BLUWF6hwUpgqmS3ZrlFGhg,80
1277
- vellum/workflows/nodes/bases/base_subworkflow_node/node.py,sha256=vC0gUBQewAUNtP3i2G0-LUpE_kY-r_ijBD_tS1XkQ1E,383
1275
+ vellum/workflows/nodes/bases/__init__.py,sha256=cniHuz_RXdJ4TQgD8CBzoiKDiPxg62ErdVpCbWICX64,58
1276
+ vellum/workflows/nodes/bases/base.py,sha256=_Ms_Yov6sIsgWnKb0OWnOG7liqgjFSat0y1OIX36hFA,14235
1278
1277
  vellum/workflows/nodes/bases/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1279
1278
  vellum/workflows/nodes/bases/tests/test_base_node.py,sha256=ghpLm_ljNBxWs43GlvIId47hOVwKU50XpvZxmlg6_8g,3439
1280
1279
  vellum/workflows/nodes/core/__init__.py,sha256=5zDMCmyt1v0HTJzlUBwq3U9L825yZGZhT9JL18-mRR4,455
1281
1280
  vellum/workflows/nodes/core/error_node/__init__.py,sha256=g7RRnlHhqu4qByfLjBwCunmgGA8dI5gNsjS3h6TwlSI,60
1282
1281
  vellum/workflows/nodes/core/error_node/node.py,sha256=MFHU5vITYSK-L9CuMZ49In2ZeNLWnhZD0f8r5dWvb5Y,1270
1283
1282
  vellum/workflows/nodes/core/inline_subworkflow_node/__init__.py,sha256=nKNEH1QTl-1PcvmYoqSWEl0-t6gAur8GLTXHzklRQfM,84
1284
- vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=vSlDEKwJsd2YazkWPRXPiNKZtbyhTBhfO3dJxcNiSWE,3059
1283
+ vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=btscTP3T5VzvuNpbzaUlRZ1ahMkTox0Vyv17tI7YFUw,3467
1284
+ vellum/workflows/nodes/core/inline_subworkflow_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1285
+ vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py,sha256=99LLPgHMqohGL-G4KqOSjeVlDR_FH8Rv1gtRii85MC4,1143
1285
1286
  vellum/workflows/nodes/core/map_node/__init__.py,sha256=MXpZYmGfhsMJHqqlpd64WiJRtbAtAMQz-_3fCU_cLV0,56
1286
- vellum/workflows/nodes/core/map_node/node.py,sha256=vubEWObFh6rVUZ9GGHSi7H9b-Y-SHCwEgYkgdb3QTgM,7288
1287
+ vellum/workflows/nodes/core/map_node/node.py,sha256=5Bqi0co1T9Ex_sTlyTDMGahwsUWd9NCO0vTY6UqsZeQ,7286
1287
1288
  vellum/workflows/nodes/core/map_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1288
1289
  vellum/workflows/nodes/core/map_node/tests/test_node.py,sha256=RHSZs7t6mW3UWvRrXnHZqaXVdRT2ZquOK_YHJ-gzXsU,1871
1289
1290
  vellum/workflows/nodes/core/retry_node/__init__.py,sha256=lN2bIy5a3Uzhs_FYCrooADyYU6ZGShtvLKFWpelwPvo,60
@@ -1291,25 +1292,25 @@ vellum/workflows/nodes/core/retry_node/node.py,sha256=IjNcpzFmHyBUjOHEoULLbKf85B
1291
1292
  vellum/workflows/nodes/core/retry_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1292
1293
  vellum/workflows/nodes/core/retry_node/tests/test_node.py,sha256=QXTnHwmJHISxXjvZMeuuEo0iVugVMJyaJoggI8yKXfI,3132
1293
1294
  vellum/workflows/nodes/core/templating_node/__init__.py,sha256=GmyuYo81_A1_Bz6id69ozVFS6FKiuDsZTiA3I6MaL2U,70
1294
- vellum/workflows/nodes/core/templating_node/node.py,sha256=mWNzsa6TLosrD3higKIsiqEv54OIfNY7YzFDkuQgm6k,3964
1295
- vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py,sha256=0BtXeSix7KGIuKzlPFTMLATpNnFPhut1UV_srGptkt0,1120
1295
+ vellum/workflows/nodes/core/templating_node/node.py,sha256=N-NOBd-UY91qO9orCcW4KEbhNvDQivZPA-PCxs-M0RM,4204
1296
+ vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py,sha256=nW_kyJ9RAqz45_kJE_rlhOOvbV4OO3hecP-P-ydQpkw,2845
1296
1297
  vellum/workflows/nodes/core/try_node/__init__.py,sha256=JVD4DrldTIqFQQFrubs9KtWCCc0YCAc7Fzol5ZWIWeM,56
1297
- vellum/workflows/nodes/core/try_node/node.py,sha256=_xkpUNIfHXuwjivMBxdU5DegsNge2ITW5nBifWmBPTY,6670
1298
+ vellum/workflows/nodes/core/try_node/node.py,sha256=e4gavIJ9AHM0JCKOrBIeKC4aHxmJK3j17XTBaipqfpc,6637
1298
1299
  vellum/workflows/nodes/core/try_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1299
- vellum/workflows/nodes/core/try_node/tests/test_node.py,sha256=uqMU7ZPPHI6a-VoWnMSVwTHoRmqCk6w8wzaXogTV_J4,4093
1300
+ vellum/workflows/nodes/core/try_node/tests/test_node.py,sha256=Wc2kLl-MkffsBxl3IiFaqLd16e2Iosxhk7qBnojPvQg,4092
1300
1301
  vellum/workflows/nodes/displayable/__init__.py,sha256=6F_4DlSwvHuilWnIalp8iDjjDXl0Nmz4QzJV2PYe5RI,1023
1301
1302
  vellum/workflows/nodes/displayable/api_node/__init__.py,sha256=MoxdQSnidIj1Nf_d-hTxlOxcZXaZnsWFDbE-PkTK24o,56
1302
1303
  vellum/workflows/nodes/displayable/api_node/node.py,sha256=ehvJNkI-L_WLn8pszCaRkQuhRDgioCLaX6TT72KM_9E,2111
1303
1304
  vellum/workflows/nodes/displayable/bases/__init__.py,sha256=0mWIx3qUrzllV7jqt7wN03vWGMuI1WrrLZeMLT2Cl2c,304
1304
1305
  vellum/workflows/nodes/displayable/bases/api_node/__init__.py,sha256=1jwx4WC358CLA1jgzl_UD-rZmdMm2v9Mps39ndwCD7U,64
1305
- vellum/workflows/nodes/displayable/bases/api_node/node.py,sha256=x0RQVoG1yvokaPfGgf719qd0Lt5qxCvKFqyehYiGyqA,2481
1306
+ vellum/workflows/nodes/displayable/bases/api_node/node.py,sha256=ywPwCxDesgnE86Wjyf2ZyG2Dr2O7xW8D4tPHZB5Se_s,2477
1306
1307
  vellum/workflows/nodes/displayable/bases/base_prompt_node/__init__.py,sha256=Org3xTvgp1pA0uUXFfnJr29D3HzCey2lEdYF4zbIUgo,70
1307
1308
  vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py,sha256=EvylK1rGKpd4iiooEW9O5A9Q8DMTtBwETe_GtQT8M-E,2139
1308
1309
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/__init__.py,sha256=Hl35IAoepRpE-j4cALaXVJIYTYOF3qszyVbxTj4kS1s,82
1309
1310
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/constants.py,sha256=fnjiRWLoRlC4Puo5oQcpZD5Hd-EesxsAo9l5tGAkpZQ,270
1310
1311
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=fypgmZHgaDtGqSBC8rjYiyryJ0H58LPt_CafLfAprO0,6341
1311
1312
  vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=zdpNJoawB5PedsCCfgOGDDoWuif0jNtlV-K9sFL6cNQ,4968
1312
- vellum/workflows/nodes/displayable/bases/search_node.py,sha256=pqiui8G6l_9FLE1HH4rCdFC73Bl7_AIBAmQQMjqe190,3570
1313
+ vellum/workflows/nodes/displayable/bases/search_node.py,sha256=huhfEaolvf8TTzRyFqAyO1t0Vgqt0kcEOcbAChvvix0,3427
1313
1314
  vellum/workflows/nodes/displayable/code_execution_node/__init__.py,sha256=0FLWMMktpzSnmBMizQglBpcPrP80fzVsoJwJgf822Cg,76
1314
1315
  vellum/workflows/nodes/displayable/code_execution_node/node.py,sha256=JgyTgZRSb-gSXL4ccHn4VkPcPZFOkVK5ohPazPqSWFw,8652
1315
1316
  vellum/workflows/nodes/displayable/code_execution_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1324,9 +1325,9 @@ vellum/workflows/nodes/displayable/final_output_node/node.py,sha256=iH3ZPOstPku_
1324
1325
  vellum/workflows/nodes/displayable/guardrail_node/__init__.py,sha256=Ab5eXmOoBhyV4dMWdzh32HLUmnPIBEK_zFCT38C4Fng,68
1325
1326
  vellum/workflows/nodes/displayable/guardrail_node/node.py,sha256=7Ep7Ff7FtFry3Jwxhg_npF_-jT2P6TGKp5MRNnCZ8Tc,3923
1326
1327
  vellum/workflows/nodes/displayable/inline_prompt_node/__init__.py,sha256=gSUOoEZLlrx35-tQhSAd3An8WDwBqyiQh-sIebLU9wU,74
1327
- vellum/workflows/nodes/displayable/inline_prompt_node/node.py,sha256=dTnP1yH1P0NqMw3noxt9XwaDCpX8ZOhuvVYNAn_DdCQ,2119
1328
+ vellum/workflows/nodes/displayable/inline_prompt_node/node.py,sha256=OPjdEK5mL3D2cwL68GiBFlRJ2b0tgatxsfeUEPeQDxI,2146
1328
1329
  vellum/workflows/nodes/displayable/inline_prompt_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1329
- vellum/workflows/nodes/displayable/inline_prompt_node/tests/test_node.py,sha256=P1DUL0wIG-cyA5dqGv7242cFWJXysmombdujKrJtl7k,4669
1330
+ vellum/workflows/nodes/displayable/inline_prompt_node/tests/test_node.py,sha256=eobyGcb4hMdmmyk-CcJPpOAB-NSVMUCleWVSmuHmMiQ,4752
1330
1331
  vellum/workflows/nodes/displayable/merge_node/__init__.py,sha256=J8IC08dSH7P76wKlNuxe1sn7toNGtSQdFirUbtPDEs0,60
1331
1332
  vellum/workflows/nodes/displayable/merge_node/node.py,sha256=ZyPvcTgfPOneOm5Dc2kUOoPkwNJqwRPZSj232akXynA,324
1332
1333
  vellum/workflows/nodes/displayable/note_node/__init__.py,sha256=KWA3P4fyYJ-fOTky8qNGlcOotQ-HeHJ9AjZt6mRQmCE,58
@@ -1336,10 +1337,10 @@ vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=cpOrqQQ
1336
1337
  vellum/workflows/nodes/displayable/search_node/__init__.py,sha256=hpBpvbrDYf43DElRZFLzieSn8weXiwNiiNOJurERQbs,62
1337
1338
  vellum/workflows/nodes/displayable/search_node/node.py,sha256=yhFWulbNmSQoDAwtTSGD4AtKmBbcykezRGRG16xga_0,1311
1338
1339
  vellum/workflows/nodes/displayable/subworkflow_deployment_node/__init__.py,sha256=9yYM6001YZeqI1VOk1QuEM_yrffk_EdsO7qaPzINKds,92
1339
- vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=pnbRCgdzWXrXhm5jDkDDASl5xu5w3DxskC34yJVmWUs,7147
1340
+ vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=FgS1ZMnIBliqEMNKX2ChE80bw4IVHEQ6IGiTDvF0RZw,7226
1340
1341
  vellum/workflows/nodes/displayable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1341
1342
  vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py,sha256=UI_RMmXn9qwB-StnFPvkDd9FctBQAg43wrfouqvPepk,4701
1342
- vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=4CMwDtXwTaEvFfDpA6j2iLqc7S6IICSkvVZOobEpeps,6954
1343
+ vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=VepO5z1277c1y5N6LLIC31nnWD1aak2m5oPFplfJHHs,6935
1343
1344
  vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=KqKJtJ0vuNoPuUPMdILmBTt4a2fBBxxun-nmOI7T8jo,2585
1344
1345
  vellum/workflows/nodes/experimental/README.md,sha256=eF6DfIL8t-HbF9-mcofOMymKrraiBHDLKTlnBa51ZiE,284
1345
1346
  vellum/workflows/nodes/experimental/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1367,16 +1368,16 @@ vellum/workflows/resolvers/__init__.py,sha256=eH6hTvZO4IciDaf_cf7aM2vs-DkBDyJPyc
1367
1368
  vellum/workflows/resolvers/base.py,sha256=WHra9LRtlTuB1jmuNqkfVE2JUgB61Cyntn8f0b0WZg4,411
1368
1369
  vellum/workflows/runner/__init__.py,sha256=i1iG5sAhtpdsrlvwgH6B-m49JsINkiWyPWs8vyT-bqM,72
1369
1370
  vellum/workflows/runner/runner.py,sha256=RXnLEmSJFbp0u4vKF7rvD2fscuYfcRYkspIJINnvFAI,27607
1370
- vellum/workflows/sandbox.py,sha256=1aL5BoUgJX6dbIN3pqui20Wk3VyzXV16BUaZz-clmFs,2269
1371
+ vellum/workflows/sandbox.py,sha256=GVJzVjMuYzOBnSrboB0_6MMRZWBluAyQ2o7syeaeBd0,2235
1371
1372
  vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
1372
1373
  vellum/workflows/state/base.py,sha256=jpSzF1OQd3-fqi6dMGlNsQl-7JnJxCdzWIigmX8Wz-I,14425
1373
- vellum/workflows/state/context.py,sha256=oXiEdNsWJi1coRB85IreTgUeR6_CrWWBXndtLff9S7M,1272
1374
- vellum/workflows/state/encoder.py,sha256=kRrqwD0vFCiSRZR3rg8Sjkh8sDEerQQhlvmdSYQAOl8,1741
1374
+ vellum/workflows/state/context.py,sha256=_NeGQpYo8yNuh0Tfh3OvcB_bG_-GC8b3ZLLl83Pf8-I,1279
1375
+ vellum/workflows/state/encoder.py,sha256=WdUidpOaBDx5lilJl8V8McFDHQYiCLCJR9dmktdzdZY,1836
1375
1376
  vellum/workflows/state/store.py,sha256=VYGBQgN1bpd1as5eGiouV_7scg8QsRs4_1aqZAGIsRQ,793
1376
1377
  vellum/workflows/state/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1377
- vellum/workflows/state/tests/test_state.py,sha256=BQjcdREIK1MPuGhivRUgpynVJLftjEpH9RG3cRKxQEY,3310
1378
+ vellum/workflows/state/tests/test_state.py,sha256=7ap_Z9GJqyonZ1eVXwNyyuhV0AL5XiQ6uYCRhS7PFN4,3921
1378
1379
  vellum/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1379
- vellum/workflows/tests/test_sandbox.py,sha256=OMN15LuFUV58-XnAhtBiLcEjNt-Pj6bZgetDr8miCiw,1808
1380
+ vellum/workflows/tests/test_sandbox.py,sha256=JKwaluI-lODQo7Ek9sjDstjL_WTdSqUlVik6ZVTfVOA,1826
1380
1381
  vellum/workflows/types/__init__.py,sha256=KxUTMBGzuRCfiMqzzsykOeVvrrkaZmTTo1a7SLu8gRM,68
1381
1382
  vellum/workflows/types/core.py,sha256=D2NcSBwGgWj_mtXZqe3KnEQcb5qd5HzqAwnxwmlCfCw,899
1382
1383
  vellum/workflows/types/generics.py,sha256=ZkfoRhWs042i5IjA99v2wIhmh1u-Wieo3LzosgGWJVk,600
@@ -1391,15 +1392,15 @@ vellum/workflows/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
1391
1392
  vellum/workflows/utils/tests/test_functions.py,sha256=ytdruS55aO2egsb5sAv8_9jf68L1cJoZu2uKV2iamrg,8083
1392
1393
  vellum/workflows/utils/tests/test_names.py,sha256=aOqpyvMsOEK_9mg_-yaNxQDW7QQfwqsYs37PseyLhxw,402
1393
1394
  vellum/workflows/utils/tests/test_uuids.py,sha256=i77ABQ0M3S-aFLzDXHJq_yr5FPkJEWCMBn1HJ3DObrE,437
1394
- vellum/workflows/utils/tests/test_vellum_variables.py,sha256=0ISy1xjY7_rci0Mt_naK0xrmurE1REZLMCgPOCLFKRM,776
1395
+ vellum/workflows/utils/tests/test_vellum_variables.py,sha256=6H-BpmbIEmVRO75QQ3Rfy4bEUMMP2qwGzx2Gp1uXbfw,879
1395
1396
  vellum/workflows/utils/uuids.py,sha256=DFzPv9RCvsKhvdTEIQyfSek2A31D6S_QcmeLPbgrgTY,739
1396
- vellum/workflows/utils/vellum_variables.py,sha256=DsjVj_M_vTafpi5OUDs4KNrmbU2n4LR7fcLhuHb67Z4,3123
1397
+ vellum/workflows/utils/vellum_variables.py,sha256=g5xHYB8etfHE32ek19nP6Anf8NyjhmUtOwO2KmQ5xZU,3111
1397
1398
  vellum/workflows/vellum_client.py,sha256=ODrq_TSl-drX2aezXegf7pizpWDVJuTXH-j6528t75s,683
1398
1399
  vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
1399
- vellum/workflows/workflows/base.py,sha256=zpspOEdO5Ye_0ZvN-Wkzv9iQSiF1sD201ba8lhbnPbs,17086
1400
+ vellum/workflows/workflows/base.py,sha256=FxK6ZNrQtuqcgZxWXy4_ole1LeeTiZI8VlxavRd3VbA,17119
1400
1401
  vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnadGsrSZGa7t7LpJA,2008
1401
- vellum_ai-0.12.8.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1402
- vellum_ai-0.12.8.dist-info/METADATA,sha256=FI7BG5Gx3Dd3exq5uqBWnHu8kuqFrVpE_9tcdUuYwdk,5160
1403
- vellum_ai-0.12.8.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1404
- vellum_ai-0.12.8.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1405
- vellum_ai-0.12.8.dist-info/RECORD,,
1402
+ vellum_ai-0.12.11.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1403
+ vellum_ai-0.12.11.dist-info/METADATA,sha256=JJLnOJAxDsQ4U2evGTWRI8vJiJBvs2lR_rQ-Eno1GSg,5161
1404
+ vellum_ai-0.12.11.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1405
+ vellum_ai-0.12.11.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1406
+ vellum_ai-0.12.11.dist-info/RECORD,,
@@ -8,7 +8,7 @@ from uuid import uuid4
8
8
  from click.testing import CliRunner
9
9
 
10
10
  from vellum.client.types.workflow_push_response import WorkflowPushResponse
11
- from vellum.evaluations.utils.uuid import is_valid_uuid
11
+ from vellum.utils.uuid import is_valid_uuid
12
12
  from vellum_cli import main as cli_main
13
13
 
14
14
 
@@ -61,6 +61,11 @@ class BaseInlineSubworkflowNodeDisplay(
61
61
  display_context: WorkflowDisplayContext,
62
62
  ) -> Tuple[List[NodeInput], List[VellumVariable]]:
63
63
  subworkflow_inputs = raise_if_descriptor(node.subworkflow_inputs)
64
+ subworkflow_entries = (
65
+ [(variable_name, variable_value) for variable_name, variable_value in subworkflow_inputs.items()]
66
+ if isinstance(subworkflow_inputs, dict)
67
+ else [(variable_ref.name, variable_value) for variable_ref, variable_value in subworkflow_inputs]
68
+ )
64
69
  node_inputs = [
65
70
  create_node_input(
66
71
  node_id=node_id,
@@ -69,7 +74,7 @@ class BaseInlineSubworkflowNodeDisplay(
69
74
  display_context=display_context,
70
75
  input_id=self.workflow_input_ids_by_name.get(variable_name),
71
76
  )
72
- for variable_name, variable_value in subworkflow_inputs.items()
77
+ for variable_name, variable_value in subworkflow_entries
73
78
  ]
74
79
  node_inputs_by_key = {node_input.key: node_input for node_input in node_inputs}
75
80
  workflow_inputs = [