vellum-ai 0.13.18__py3-none-any.whl → 0.13.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 (39) hide show
  1. vellum/__init__.py +2 -0
  2. vellum/client/core/client_wrapper.py +1 -1
  3. vellum/client/resources/test_suites/client.py +44 -8
  4. vellum/client/types/__init__.py +2 -0
  5. vellum/client/types/container_image_container_image_tag.py +21 -0
  6. vellum/client/types/container_image_read.py +2 -1
  7. vellum/types/container_image_container_image_tag.py +3 -0
  8. vellum/workflows/nodes/core/inline_subworkflow_node/node.py +48 -3
  9. vellum/workflows/nodes/core/retry_node/node.py +13 -7
  10. vellum/workflows/outputs/base.py +11 -0
  11. {vellum_ai-0.13.18.dist-info → vellum_ai-0.13.20.dist-info}/METADATA +1 -1
  12. {vellum_ai-0.13.18.dist-info → vellum_ai-0.13.20.dist-info}/RECORD +39 -37
  13. vellum_cli/config.py +69 -11
  14. vellum_cli/tests/test_pull.py +42 -1
  15. vellum_ee/workflows/display/nodes/vellum/__init__.py +1 -1
  16. vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py +2 -3
  17. vellum_ee/workflows/display/nodes/vellum/utils.py +1 -1
  18. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py +5 -0
  19. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py +9 -30
  20. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py +22 -36
  21. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py +35 -70
  22. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py +2 -2
  23. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py +2 -2
  24. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py +2 -2
  25. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py +24 -57
  26. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py +4 -4
  27. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py +2 -2
  28. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py +2 -2
  29. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py +2 -2
  30. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py +4 -4
  31. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py +2 -2
  32. vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py +2 -2
  33. vellum_ee/workflows/display/utils/vellum.py +0 -2
  34. vellum_ee/workflows/display/vellum.py +0 -2
  35. vellum_ee/workflows/display/workflows/vellum_workflow_display.py +1 -8
  36. vellum_ee/workflows/tests/local_workflow/display/workflow.py +0 -2
  37. {vellum_ai-0.13.18.dist-info → vellum_ai-0.13.20.dist-info}/LICENSE +0 -0
  38. {vellum_ai-0.13.18.dist-info → vellum_ai-0.13.20.dist-info}/WHEEL +0 -0
  39. {vellum_ai-0.13.18.dist-info → vellum_ai-0.13.20.dist-info}/entry_points.txt +0 -0
vellum/__init__.py CHANGED
@@ -64,6 +64,7 @@ from .types import (
64
64
  ConditionCombinator,
65
65
  ConditionalNodeResult,
66
66
  ConditionalNodeResultData,
67
+ ContainerImageContainerImageTag,
67
68
  ContainerImageRead,
68
69
  CreateTestSuiteTestCaseRequest,
69
70
  DeploymentHistoryItem,
@@ -586,6 +587,7 @@ __all__ = [
586
587
  "ConditionCombinator",
587
588
  "ConditionalNodeResult",
588
589
  "ConditionalNodeResultData",
590
+ "ContainerImageContainerImageTag",
589
591
  "ContainerImageRead",
590
592
  "CreateTestSuiteTestCaseRequest",
591
593
  "DeploymentHistoryItem",
@@ -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.13.18",
21
+ "X-Fern-SDK-Version": "0.13.20",
22
22
  }
23
23
  headers["X_API_KEY"] = self.api_key
24
24
  return headers
@@ -139,21 +139,39 @@ class TestSuitesClient:
139
139
 
140
140
  Examples
141
141
  --------
142
- from vellum import NamedTestCaseStringVariableValueRequest, Vellum
142
+ from vellum import (
143
+ NamedTestCaseArrayVariableValueRequest,
144
+ NamedTestCaseStringVariableValueRequest,
145
+ StringVellumValueRequest,
146
+ Vellum,
147
+ )
143
148
 
144
149
  client = Vellum(
145
150
  api_key="YOUR_API_KEY",
146
151
  )
147
152
  client.test_suites.upsert_test_suite_test_case(
148
153
  id_="id",
154
+ label="Test Case 1",
149
155
  input_values=[
150
156
  NamedTestCaseStringVariableValueRequest(
151
- name="name",
157
+ value="What are your favorite colors?",
158
+ name="var_1",
152
159
  )
153
160
  ],
154
161
  evaluation_values=[
155
- NamedTestCaseStringVariableValueRequest(
156
- name="name",
162
+ NamedTestCaseArrayVariableValueRequest(
163
+ value=[
164
+ StringVellumValueRequest(
165
+ value="Red",
166
+ ),
167
+ StringVellumValueRequest(
168
+ value="Green",
169
+ ),
170
+ StringVellumValueRequest(
171
+ value="Blue",
172
+ ),
173
+ ],
174
+ name="var_2",
157
175
  )
158
176
  ],
159
177
  )
@@ -463,7 +481,12 @@ class AsyncTestSuitesClient:
463
481
  --------
464
482
  import asyncio
465
483
 
466
- from vellum import AsyncVellum, NamedTestCaseStringVariableValueRequest
484
+ from vellum import (
485
+ AsyncVellum,
486
+ NamedTestCaseArrayVariableValueRequest,
487
+ NamedTestCaseStringVariableValueRequest,
488
+ StringVellumValueRequest,
489
+ )
467
490
 
468
491
  client = AsyncVellum(
469
492
  api_key="YOUR_API_KEY",
@@ -473,14 +496,27 @@ class AsyncTestSuitesClient:
473
496
  async def main() -> None:
474
497
  await client.test_suites.upsert_test_suite_test_case(
475
498
  id_="id",
499
+ label="Test Case 1",
476
500
  input_values=[
477
501
  NamedTestCaseStringVariableValueRequest(
478
- name="name",
502
+ value="What are your favorite colors?",
503
+ name="var_1",
479
504
  )
480
505
  ],
481
506
  evaluation_values=[
482
- NamedTestCaseStringVariableValueRequest(
483
- name="name",
507
+ NamedTestCaseArrayVariableValueRequest(
508
+ value=[
509
+ StringVellumValueRequest(
510
+ value="Red",
511
+ ),
512
+ StringVellumValueRequest(
513
+ value="Green",
514
+ ),
515
+ StringVellumValueRequest(
516
+ value="Blue",
517
+ ),
518
+ ],
519
+ name="var_2",
484
520
  )
485
521
  ],
486
522
  )
@@ -68,6 +68,7 @@ from .components_schemas_pdf_search_result_meta_source_request import Components
68
68
  from .condition_combinator import ConditionCombinator
69
69
  from .conditional_node_result import ConditionalNodeResult
70
70
  from .conditional_node_result_data import ConditionalNodeResultData
71
+ from .container_image_container_image_tag import ContainerImageContainerImageTag
71
72
  from .container_image_read import ContainerImageRead
72
73
  from .create_test_suite_test_case_request import CreateTestSuiteTestCaseRequest
73
74
  from .deployment_history_item import DeploymentHistoryItem
@@ -577,6 +578,7 @@ __all__ = [
577
578
  "ConditionCombinator",
578
579
  "ConditionalNodeResult",
579
580
  "ConditionalNodeResultData",
581
+ "ContainerImageContainerImageTag",
580
582
  "ContainerImageRead",
581
583
  "CreateTestSuiteTestCaseRequest",
582
584
  "DeploymentHistoryItem",
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import datetime as dt
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import typing
7
+ import pydantic
8
+
9
+
10
+ class ContainerImageContainerImageTag(UniversalBaseModel):
11
+ name: str
12
+ modified: dt.datetime
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
+ else:
17
+
18
+ class Config:
19
+ frozen = True
20
+ smart_union = True
21
+ extra = pydantic.Extra.allow
@@ -4,6 +4,7 @@ from ..core.pydantic_utilities import UniversalBaseModel
4
4
  from .entity_visibility import EntityVisibility
5
5
  import datetime as dt
6
6
  import typing
7
+ from .container_image_container_image_tag import ContainerImageContainerImageTag
7
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
9
  import pydantic
9
10
 
@@ -16,7 +17,7 @@ class ContainerImageRead(UniversalBaseModel):
16
17
  modified: dt.datetime
17
18
  repository: str
18
19
  sha: str
19
- tags: typing.List[str]
20
+ tags: typing.List[ContainerImageContainerImageTag]
20
21
 
21
22
  if IS_PYDANTIC_V2:
22
23
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -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.container_image_container_image_tag import *
@@ -1,12 +1,13 @@
1
- from typing import TYPE_CHECKING, ClassVar, Generic, Iterator, Optional, Set, Type, TypeVar, Union
1
+ from typing import TYPE_CHECKING, Any, ClassVar, Dict, Generic, Iterator, Optional, Set, Tuple, Type, TypeVar, Union
2
2
 
3
3
  from vellum.workflows.constants import UNDEF
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.exceptions import NodeException
7
7
  from vellum.workflows.inputs.base import BaseInputs
8
- from vellum.workflows.nodes.bases.base import BaseNode
8
+ from vellum.workflows.nodes.bases.base import BaseNode, BaseNodeMeta
9
9
  from vellum.workflows.outputs.base import BaseOutput, BaseOutputs
10
+ from vellum.workflows.references import OutputReference
10
11
  from vellum.workflows.state.base import BaseState
11
12
  from vellum.workflows.state.context import WorkflowContext
12
13
  from vellum.workflows.types.core import EntityInputsInterface
@@ -19,7 +20,45 @@ if TYPE_CHECKING:
19
20
  InnerStateType = TypeVar("InnerStateType", bound=BaseState)
20
21
 
21
22
 
22
- class InlineSubworkflowNode(BaseNode[StateType], Generic[StateType, WorkflowInputsType, InnerStateType]):
23
+ class _InlineSubworkflowNodeMeta(BaseNodeMeta):
24
+ def __new__(cls, name: str, bases: Tuple[Type, ...], dct: Dict[str, Any]) -> Any:
25
+ node_class = super().__new__(cls, name, bases, dct)
26
+
27
+ subworkflow_attribute = dct.get("subworkflow")
28
+ if not subworkflow_attribute:
29
+ return node_class
30
+
31
+ if not issubclass(node_class, InlineSubworkflowNode):
32
+ raise ValueError("_InlineSubworkflowNodeMeta can only be used on subclasses of InlineSubworkflowNode")
33
+
34
+ subworkflow_outputs = getattr(subworkflow_attribute, "Outputs")
35
+ if not issubclass(subworkflow_outputs, BaseOutputs):
36
+ raise ValueError("subworkflow.Outputs must be a subclass of BaseOutputs")
37
+
38
+ outputs_class = dct.get("Outputs")
39
+ if not outputs_class:
40
+ raise ValueError("Outputs class not found in base classes")
41
+
42
+ if not issubclass(outputs_class, BaseNode.Outputs):
43
+ raise ValueError("Outputs class must be a subclass of BaseNode.Outputs")
44
+
45
+ for descriptor in subworkflow_outputs:
46
+ node_class.__annotate_outputs_class__(outputs_class, descriptor)
47
+
48
+ return node_class
49
+
50
+ def __getattribute__(cls, name: str) -> Any:
51
+ try:
52
+ return super().__getattribute__(name)
53
+ except AttributeError:
54
+ if name != "__wrapped_node__" and issubclass(cls, InlineSubworkflowNode):
55
+ return getattr(cls.__wrapped_node__, name)
56
+ raise
57
+
58
+
59
+ class InlineSubworkflowNode(
60
+ BaseNode[StateType], Generic[StateType, WorkflowInputsType, InnerStateType], metaclass=_InlineSubworkflowNodeMeta
61
+ ):
23
62
  """
24
63
  Used to execute a Subworkflow defined inline.
25
64
 
@@ -85,3 +124,9 @@ class InlineSubworkflowNode(BaseNode[StateType], Generic[StateType, WorkflowInpu
85
124
  return self.subworkflow_inputs
86
125
  else:
87
126
  raise ValueError(f"Invalid subworkflow inputs type: {type(self.subworkflow_inputs)}")
127
+
128
+ @classmethod
129
+ def __annotate_outputs_class__(cls, outputs_class: Type[BaseOutputs], reference: OutputReference) -> None:
130
+ # Subclasses of InlineSubworkflowNode can override this method to provider their own
131
+ # approach to annotating the outputs class based on the `subworkflow.Outputs`
132
+ setattr(outputs_class, reference.name, reference)
@@ -1,3 +1,4 @@
1
+ import time
1
2
  from typing import Callable, Generic, Optional, Type
2
3
 
3
4
  from vellum.workflows.descriptors.base import BaseDescriptor
@@ -17,11 +18,13 @@ class RetryNode(BaseAdornmentNode[StateType], Generic[StateType]):
17
18
  Used to retry a Subworkflow a specified number of times.
18
19
 
19
20
  max_attempts: int - The maximum number of attempts to retry the Subworkflow
21
+ delay: float - The number of seconds to wait between retries
20
22
  retry_on_error_code: Optional[VellumErrorCode] = None - The error code to retry on
21
23
  subworkflow: Type["BaseWorkflow[SubworkflowInputs, BaseState]"] - The Subworkflow to execute
22
24
  """
23
25
 
24
26
  max_attempts: int
27
+ delay: Optional[float] = None
25
28
  retry_on_error_code: Optional[WorkflowErrorCode] = None
26
29
  retry_on_condition: Optional[BaseDescriptor] = None
27
30
 
@@ -29,7 +32,9 @@ class RetryNode(BaseAdornmentNode[StateType], Generic[StateType]):
29
32
  attempt_number: int
30
33
 
31
34
  def run(self) -> BaseNode.Outputs:
32
- last_exception = Exception("max_attempts must be greater than 0")
35
+ if self.max_attempts <= 0:
36
+ raise Exception("max_attempts must be greater than 0")
37
+
33
38
  for index in range(self.max_attempts):
34
39
  attempt_number = index + 1
35
40
  context = WorkflowContext(vellum_client=self._context.vellum_client)
@@ -49,30 +54,29 @@ class RetryNode(BaseAdornmentNode[StateType], Generic[StateType]):
49
54
 
50
55
  return node_outputs
51
56
  elif terminal_event.name == "workflow.execution.paused":
52
- last_exception = NodeException(
57
+ raise NodeException(
53
58
  code=WorkflowErrorCode.INVALID_OUTPUTS,
54
59
  message=f"Subworkflow unexpectedly paused on attempt {attempt_number}",
55
60
  )
56
- break
57
61
  elif self.retry_on_error_code and self.retry_on_error_code != terminal_event.error.code:
58
- last_exception = NodeException(
62
+ raise NodeException(
59
63
  code=WorkflowErrorCode.INVALID_OUTPUTS,
60
64
  message=f"""Unexpected rejection on attempt {attempt_number}: {terminal_event.error.code.value}.
61
65
  Message: {terminal_event.error.message}""",
62
66
  )
63
- break
64
67
  elif self.retry_on_condition and not resolve_value(self.retry_on_condition, self.state):
65
- last_exception = NodeException(
68
+ raise NodeException(
66
69
  code=WorkflowErrorCode.INVALID_OUTPUTS,
67
70
  message=f"""Rejection failed on attempt {attempt_number}: {terminal_event.error.code.value}.
68
71
  Message: {terminal_event.error.message}""",
69
72
  )
70
- break
71
73
  else:
72
74
  last_exception = NodeException(
73
75
  terminal_event.error.message,
74
76
  code=terminal_event.error.code,
75
77
  )
78
+ if self.delay:
79
+ time.sleep(self.delay)
76
80
 
77
81
  raise last_exception
78
82
 
@@ -80,6 +84,7 @@ Message: {terminal_event.error.message}""",
80
84
  def wrap(
81
85
  cls,
82
86
  max_attempts: int,
87
+ delay: Optional[float] = None,
83
88
  retry_on_error_code: Optional[WorkflowErrorCode] = None,
84
89
  retry_on_condition: Optional[BaseDescriptor] = None,
85
90
  ) -> Callable[..., Type["RetryNode"]]:
@@ -87,6 +92,7 @@ Message: {terminal_event.error.message}""",
87
92
  cls,
88
93
  attributes={
89
94
  "max_attempts": max_attempts,
95
+ "delay": delay,
90
96
  "retry_on_error_code": retry_on_error_code,
91
97
  "retry_on_condition": retry_on_condition,
92
98
  },
@@ -6,6 +6,8 @@ from pydantic_core import core_schema
6
6
 
7
7
  from vellum.workflows.constants import UNDEF
8
8
  from vellum.workflows.descriptors.base import BaseDescriptor
9
+ from vellum.workflows.errors.types import WorkflowErrorCode
10
+ from vellum.workflows.exceptions import NodeException
9
11
  from vellum.workflows.references.output import OutputReference
10
12
  from vellum.workflows.types.utils import get_class_attr_names, infer_types
11
13
 
@@ -183,6 +185,15 @@ class _BaseOutputsMeta(type):
183
185
 
184
186
  class BaseOutputs(metaclass=_BaseOutputsMeta):
185
187
  def __init__(self, **kwargs: Any) -> None:
188
+ declared_fields = {descriptor.name for descriptor in self.__class__}
189
+ provided_fields = set(kwargs.keys())
190
+
191
+ if not provided_fields.issubset(declared_fields):
192
+ raise NodeException(
193
+ message=f"Unexpected outputs: {provided_fields - declared_fields}",
194
+ code=WorkflowErrorCode.INVALID_OUTPUTS,
195
+ )
196
+
186
197
  for name, value in kwargs.items():
187
198
  setattr(self, name, value)
188
199
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.13.18
3
+ Version: 0.13.20
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.9,<4.0
@@ -2,7 +2,7 @@ vellum_cli/CONTRIBUTING.md,sha256=FtDC7BGxSeMnwCXAUssFsAIElXtmJE-O5Z7BpolcgvI,29
2
2
  vellum_cli/README.md,sha256=2NudRoLzWxNKqnuVy1JuQ7DerIaxWGYkrH8kMd-asIE,90
3
3
  vellum_cli/__init__.py,sha256=uEn2Nlt2Z0kBc79NcO4-rgOIE7H9nsMEEjWF6MLDlPo,10591
4
4
  vellum_cli/aliased_group.py,sha256=ugW498j0yv4ALJ8vS9MsO7ctDW7Jlir9j6nE_uHAP8c,3363
5
- vellum_cli/config.py,sha256=LVRB-SEJcpQYfg2QGcjKHmRSAijdSFADbS90gDY4AI8,6829
5
+ vellum_cli/config.py,sha256=Bsb3mnvKvv3oOTcCuxpgC7lWPMqt6eJhgRA6VEE-vL4,9266
6
6
  vellum_cli/image_push.py,sha256=SJwhwWJsLjwGNezNVd_oCVpFMfPsAB3dfLWmriZZUtw,4419
7
7
  vellum_cli/logger.py,sha256=PuRFa0WCh4sAGFS5aqWB0QIYpS6nBWwPJrIXpWxugV4,1022
8
8
  vellum_cli/ping.py,sha256=lWyJw6sziXjyTopTYRdFF5hV-sYPVDdX0yVbG5fzcY4,585
@@ -13,7 +13,7 @@ vellum_cli/tests/conftest.py,sha256=AFYZryKA2qnUuCPBxBKmHLFoPiE0WhBFFej9tNwSHdc,
13
13
  vellum_cli/tests/test_config.py,sha256=uvKGDc8BoVyT9_H0Z-g8469zVxomn6Oi3Zj-vK7O_wU,2631
14
14
  vellum_cli/tests/test_main.py,sha256=qDZG-aQauPwBwM6A2DIu1494n47v3pL28XakTbLGZ-k,272
15
15
  vellum_cli/tests/test_ping.py,sha256=QtbhYKMYn1DFnDyBij2mkQO32j9KOpZ5Pf0yek7k_Ao,1284
16
- vellum_cli/tests/test_pull.py,sha256=CEnVpb9i-_I0wOSabjgJxleRuvvAHFfDB0_f4CvpwMI,23742
16
+ vellum_cli/tests/test_pull.py,sha256=JURmgGs5lSnpzefSx4K13eF2swv7O8OF86-4df81Zjo,25241
17
17
  vellum_cli/tests/test_push.py,sha256=kcM8jp6vTRBwfk6cAC_tHa4Eliuy_zZ-X1DfIpSEIW0,18299
18
18
  vellum_ee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  vellum_ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -28,7 +28,7 @@ vellum_ee/workflows/display/nodes/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
28
28
  vellum_ee/workflows/display/nodes/tests/test_base_node_display.py,sha256=QqR3Ly0RNrXwOeLdW5nERDFt0gRPf76n1bPES6o5UN4,1093
29
29
  vellum_ee/workflows/display/nodes/types.py,sha256=St1BB6no528OyELGiyRabWao0GGw6mLhstQAvEACbGk,247
30
30
  vellum_ee/workflows/display/nodes/utils.py,sha256=sloya5TpXsnot1HURc9L51INwflRqUzHxRVnCS9Cd-4,973
31
- vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=Moeuvm0u7c_6wtxUWOJqTJYbrnG4Rp_5mKRoYpfewvQ,1578
31
+ vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=VHx6wSs9wuuiFlZpSQSd3mhECz4SUy2wEBuTSv--_As,1578
32
32
  vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=hoV-cUtS6H9kmRQXHd2py95GRWI_dAnnaPwvlNBkDOQ,8571
33
33
  vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=z00Z3L0d4PsUQo4S8FRDTtOFLtjdi17TJbatNVF4nM8,4288
34
34
  vellum_ee/workflows/display/nodes/vellum/conditional_node.py,sha256=ybLIa4uclqVIy3VAQvI1ivg2tnK5Ug_1R5a69DFqL7E,11104
@@ -43,48 +43,48 @@ vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=TMb8txILu2uWjzoxagh
43
43
  vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=LFjLUrH6sJ4czPnExdRqFr0PB_yKBMLXLvK5GAzIAgc,3273
44
44
  vellum_ee/workflows/display/nodes/vellum/retry_node.py,sha256=i0XGbKecLiHtf7mBf2rbqldPgLcs1TitIphzcHRIvkA,341
45
45
  vellum_ee/workflows/display/nodes/vellum/search_node.py,sha256=TxcAGZDl_hvJ7Y1hUi9YVEVrj9Ie0hKkASdpfRL4_cs,9227
46
- vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=lfevlHpGEX14dEDym6qmnkw3nvzQPTB1_D2ch12B_Rk,2701
46
+ vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=62baAElKoRKIoba0lLhnrXGWWx96B73VxKGxh7BaIxc,2612
47
47
  vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=JVIMPR3WpveOCWZubHKZkE04mavnTdb_9QY_r3XliRg,3424
48
48
  vellum_ee/workflows/display/nodes/vellum/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  vellum_ee/workflows/display/nodes/vellum/tests/test_error_node.py,sha256=ulrpoYUW-5kIxfG4Lf5F2p0k_EoYKhmahEbF3P_eruM,1648
50
50
  vellum_ee/workflows/display/nodes/vellum/tests/test_try_node.py,sha256=mtzB8LJlFCHVFM4H5AanLp29gQfaVmnN4A4iaRGJHoI,2427
51
51
  vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py,sha256=3uT7Gbc0f_mQ3u8uZuCWd0mJ4GtWbz2gbUMySYaVlNE,3774
52
52
  vellum_ee/workflows/display/nodes/vellum/try_node.py,sha256=EoU1J7HfcszAZr7ROy_xsNhaDBRiI95-wTK-OzgBwvg,5861
53
- vellum_ee/workflows/display/nodes/vellum/utils.py,sha256=aBmTg9pJloG1BxhYcqzxs5JOA-IixncLVr1XiDzANnA,4313
53
+ vellum_ee/workflows/display/nodes/vellum/utils.py,sha256=OEGHjQSbuUgJexXI1aubYW33z2F_YdkhQ8REahfz864,4320
54
54
  vellum_ee/workflows/display/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  vellum_ee/workflows/display/tests/test_vellum_workflow_display.py,sha256=h4bE187MyM0eT_elFnOxwsCeMHeuzSK0orjgAy8kV1k,4952
56
56
  vellum_ee/workflows/display/tests/workflow_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
58
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py,sha256=EenmEdBtHUFQ0OS-kE7Vboax3JnDdj-K4Qixt5oR0Po,2253
59
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py,sha256=6wgLNd-Ae-33SPIYhOvQ9KJ8-5ach98v_Z3g7nrN_xs,8026
59
+ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py,sha256=KYdohS5pRgHM0DcUaK0tHa40f0gSvDKi2K5On0zNEU8,8305
60
60
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py,sha256=yPXhdZxEDunNl5LL5Obb0jeO34djt7F-GiaTJhp_fmo,16742
61
61
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py,sha256=-12ZkZb3f5gyoNASV2yeQtMo5HmNsVEo8nXwL6IC-I8,6261
62
62
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py,sha256=6th6kCwzql6lddjkTQx4Jbvvs4ChqtJwctW-B4QuBhI,37352
63
63
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py,sha256=EbVgg_3_ipTt3MOop4RARX0fmNjwqZtkhIXzx9nGw7Y,4487
64
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=bXZWxOKAVjZlbP3iLHPHGA4aPs0EguKlQqmYPNGv3cU,16391
65
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=s2mBoL5Vvpoc-rcWcSGQjLp4yzVVwFmkTbS3--ErzCI,29486
66
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=n3F_Eyru0DYOszBH4jplz7Mzt2FfBNxGlCkTFqvrX-M,48399
67
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=8LhQgW0uzVOhzz0AwdM-EYugVO-0mGWglxWo_lON4D8,6079
68
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py,sha256=yWDykoHUjuiVYdevcJxWmYDDmbIszpHKYBu19vqR-I8,5746
69
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py,sha256=mEkvKUrt8U6e9bN65QRG7Zd3KdCdoMvHm96LjGwy96k,7427
70
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=CxbnZ3tB8gir9xopixjvT0hNYyjMHvT_m8BzY5kl8Dg,21497
71
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=5xXLoUNgGkZvRFPJrdPiD0fErgwdPk-ikI3rP9sCAA4,16145
72
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=ON3TQiIFDiCvasQiNEyuAZDwpTYGOtitdLDLj2kejL8,8422
73
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=W_d-hsjSqbqR5BA3aF3KFoEyfLV6x_yhNKmLA1ai2QY,8622
74
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py,sha256=azUVSdXWoYyAjKuM8m9ikOoJPb5JlEvJtR5nSRR0eaA,12989
75
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=yq98DHxetpbqYnGVTDmcokU0A4XAD7E-NcKhrEMP66M,11295
76
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py,sha256=dipuapy5Z1vSpEeBnFq29g9DGAy9sufw8KcJpFjIN18,7791
64
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=5LQ36vImbVRmLpOdhWKtGmr9pypeZc0HAzIxwQoKtWA,15890
65
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=3lmg0bP6QwnHjQCpxz3IiucowmgAcjelHRTE9JRQ9-A,29152
66
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=ddk2tx7dFqQ7o2JtRZz2Mv6GHEwjJSF_u-1Zg83q7to,47564
67
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=02gG5C0wHbjzuTgVYCsNrtW1kEOeaM_5zXmznaUKzgk,6079
68
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py,sha256=Ah8CxAxAQYnxsNasLB8esN_c9eRDQnmV_aDWC9Kp98s,5746
69
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py,sha256=0xK9TFqPD5Hy65T-iacZ8pjYHD8XkzZXS35rLwof7uc,7427
70
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=HEfRYBVwZ6fy0hHhgsgTBEQJJAp_0wsaCJ_OtpZGdqE,20578
71
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=L1SrD5KfZjlAVh2BkOe3pCQOstVf_SiqD0KGoZlknU8,16145
72
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=ojzdgGb2zGYloOX57V_FyXxjUqOnWMN6z8GUlF8yDMA,8422
73
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=SuADagoAr-IWZN5az98axWnXcSrlG6gXV72Q-ThozVU,8622
74
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py,sha256=NcpcC9vENF0Z3Vg7b0G0WV7EJScmBKg-JtjQENMKvn0,12989
75
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=eQNyiNQG7Cgx0QW_xlN9tQql4D2ak_P2WB-OgMkAVEs,11295
76
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py,sha256=9_mC6-_u3qxJZzkrYrDtzWhpKlnlOD4oXSj8Ztnwet4,7791
77
77
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=1HaEwIbxzWl2OEEVlsNcHFQKMhUKQPlsIMaHnjvMODI,3754
78
78
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=5eKEMwrKT5O8dPsOgQ89iZwzpA304jneimQeT9GlpLk,2428
79
- vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=wQ97k-y9rZwKYlZSA6Z9XGUnGRaJ5BvCFu5QnhuEp4A,7404
79
+ vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=xmKyOKqGRhWUXXbTbCAXX40qINcvK7mjpEfXz0Ny21s,7404
80
80
  vellum_ee/workflows/display/types.py,sha256=jWTpfQv3baEWjbP12duc3MBz3TK03Ja1UI5458PVQVY,4211
81
81
  vellum_ee/workflows/display/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- vellum_ee/workflows/display/utils/vellum.py,sha256=kETI__jHR1lvO0SoFJgnpAOCK6eWmrSi4SbfZpRUmCA,7448
83
- vellum_ee/workflows/display/vellum.py,sha256=8xXRI8b8Tt661H-iZreTQTvLNEKUr4lf-XaKhE7_yUY,8147
82
+ vellum_ee/workflows/display/utils/vellum.py,sha256=I0a8zFg4YIiT1ZTI27sEHuT9AM9PzktqBmrQ-Mqs3Ww,7328
83
+ vellum_ee/workflows/display/vellum.py,sha256=-95xvit30nyP6Md29nHkfIrnFButZyCg8wz76oUHD0M,8105
84
84
  vellum_ee/workflows/display/workflows/__init__.py,sha256=kapXsC67VJcgSuiBMa86FdePG5A9kMB5Pi4Uy1O2ob4,207
85
85
  vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=x4C621UTH_SZLJYmVBiC1q-D-wadJlTiSGlKAI6CUbA,14082
86
86
  vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=kp0u8LN_2IwshLrhMImhpZx1hRyAcD5gXY-kDuuaGMQ,1269
87
- vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=wij6U6-20QSDlfLMCeHjmpkWWuSA8fWYWJV17dw6L98,17187
87
+ vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=h8lCnuBfI5muxDi8i9u6tlgJIGEoJnSPc7jbJmECygg,16836
88
88
  vellum_ee/workflows/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
89
  vellum_ee/workflows/server/virtual_file_loader.py,sha256=X_DdNK7MfyOjKWekk6YQpOSCT6klKcdjT6nVJcBH1sM,1481
90
90
  vellum_ee/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -99,7 +99,7 @@ vellum_ee/workflows/tests/local_workflow/display/__init__.py,sha256=xo75Uqb4aErO
99
99
  vellum_ee/workflows/tests/local_workflow/display/nodes/__init__.py,sha256=szW_mgOUriyZ6v1vlnevBgkzNi8g83-ihS98UOLHVcE,155
100
100
  vellum_ee/workflows/tests/local_workflow/display/nodes/final_output.py,sha256=Kv92TCREiZsB9531KZYaBIq83uHn7e_ECw_yAbD1qfk,1017
101
101
  vellum_ee/workflows/tests/local_workflow/display/nodes/templating_node.py,sha256=5cankEe1rDZlXKgILFSPbmN0tUZhIdmcFgz_AguXTJc,1229
102
- vellum_ee/workflows/tests/local_workflow/display/workflow.py,sha256=JQOxx4xF5yE_xEU7rqbD2i0W8APv16XB6MdsZvlTyZU,2474
102
+ vellum_ee/workflows/tests/local_workflow/display/workflow.py,sha256=I0uc9hmeQGMxUJMiOu1btBpUb2aSvIXUSNS05WiPeNA,2336
103
103
  vellum_ee/workflows/tests/local_workflow/inputs.py,sha256=4cgsZBoUbIY0Rs8gknC9yqxQ-sSoULclx_SAm1FT2RA,96
104
104
  vellum_ee/workflows/tests/local_workflow/metadata.json,sha256=rdu3h5qkFZiqhCAMxoyoWyMI0O8QALC5-URvSIW6F00,24
105
105
  vellum_ee/workflows/tests/local_workflow/nodes/__init__.py,sha256=1F6jxUpSKfPXPj4ZZKSbnX6Mg-VwF3euLJSZfGn6xkM,127
@@ -108,12 +108,12 @@ vellum_ee/workflows/tests/local_workflow/nodes/templating_node.py,sha256=NQwFN61
108
108
  vellum_ee/workflows/tests/local_workflow/workflow.py,sha256=A4qOzOPNwePYxWbcAgIPLsmrVS_aVEZEc-wULSv787Q,393
109
109
  vellum_ee/workflows/tests/test_display_meta.py,sha256=pzdqND4KLWs7EUIbpXuqgso7BIRpoUsO3T_bgeENs0Q,2205
110
110
  vellum_ee/workflows/tests/test_virtual_files.py,sha256=TJEcMR0v2S8CkloXNmCHA0QW0K6pYNGaIjraJz7sFvY,2762
111
- vellum/__init__.py,sha256=iwoL3PQsiTvtX79J4qlAJ2EIqZ77zYJm3q7o1Ei3Awo,35398
111
+ vellum/__init__.py,sha256=BBb9aN9M6-bsnNIhk9YUVAzdW0e9QTdBaiSM5kr5FGU,35474
112
112
  vellum/client/README.md,sha256=JkCJjmMZl4jrPj46pkmL9dpK4gSzQQmP5I7z4aME4LY,4749
113
113
  vellum/client/__init__.py,sha256=8nZt88C9SVwWanjLbIQMU3rzb32h5UZfFMBx3VPHB50,111887
114
114
  vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
115
115
  vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
116
- vellum/client/core/client_wrapper.py,sha256=JapYtCCqy-ryd-fk1i1krQS6K630bgNpUw4zE0Lct8s,1869
116
+ vellum/client/core/client_wrapper.py,sha256=z1NZHCGeJAfuF3tZN-NenmROQ_g76uDXyCzW3tI-Hbs,1869
117
117
  vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
118
118
  vellum/client/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
119
119
  vellum/client/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
@@ -160,7 +160,7 @@ vellum/client/resources/sandboxes/client.py,sha256=i-6DHap5k6gFcYS-kWI8ayJFVZxb-
160
160
  vellum/client/resources/test_suite_runs/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
161
161
  vellum/client/resources/test_suite_runs/client.py,sha256=gCF1ewlUrCsZhnXYOYqdUuD2twTrQ-u95xOgvRy7WAw,15130
162
162
  vellum/client/resources/test_suites/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
163
- vellum/client/resources/test_suites/client.py,sha256=UDlFSHLdUFbZrjSq-uk6LA5O9SqgvAsQyrP8PpCeEBI,24659
163
+ vellum/client/resources/test_suites/client.py,sha256=SlO-IXyhddm1U6WtrLIUUvlImf2vXC22bX2n9fpp6-c,25969
164
164
  vellum/client/resources/workflow_deployments/__init__.py,sha256=_duH6m1CDWcfqX6DTBNjO3ar4Xrl-f5PozMaTcT4Kow,251
165
165
  vellum/client/resources/workflow_deployments/client.py,sha256=H9MhGYZVx1WLHE5j83Sl5HmX-CF6aJFCwQAGDG1n2oI,27149
166
166
  vellum/client/resources/workflow_deployments/types/__init__.py,sha256=W7DKJ1nduwhRckYLvH7wHLdaGH9MXHTZkxwG7FdTngY,340
@@ -176,7 +176,7 @@ vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCat
176
176
  vellum/client/resources/workspace_secrets/client.py,sha256=h7UzXLyTttPq1t-JZGMg1BWxypxJvBGUdqg7KGT7MK4,8027
177
177
  vellum/client/resources/workspaces/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
178
178
  vellum/client/resources/workspaces/client.py,sha256=RthwzN1o-Jxwg5yyNNodavFyNUSxfLoTv26w3mRR5g8,3595
179
- vellum/client/types/__init__.py,sha256=549n3Xe4pOqI5Kzg40bwDqBeD7Ou3vKuuFePF3-xECY,53348
179
+ vellum/client/types/__init__.py,sha256=auehBXD_naQD0W9VJNIGNgDxE6kuc7HQaF6aaymjS4s,53468
180
180
  vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
181
181
  vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
182
182
  vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
@@ -237,7 +237,8 @@ vellum/client/types/components_schemas_pdf_search_result_meta_source_request.py,
237
237
  vellum/client/types/condition_combinator.py,sha256=NQ6-F85juf21jsRuZRA6PjIFv7ITVWG5myuuZdLxeQI,156
238
238
  vellum/client/types/conditional_node_result.py,sha256=vx8xo9F1KoJqOnYPtSevfOcBxKYAk8J8JGWFr1c4UO8,784
239
239
  vellum/client/types/conditional_node_result_data.py,sha256=yk4E7KHSzmKlweI9ce9eN_iW08V70KGmG1Z0K5455T0,604
240
- vellum/client/types/container_image_read.py,sha256=4i2dZkGrmWapW884F5ESVOLWElT5Y_478oB5NbDjAi0,787
240
+ vellum/client/types/container_image_container_image_tag.py,sha256=ph9Xs0R386viUofCITdUfIKCLaDJokY5nzczf0iReuA,622
241
+ vellum/client/types/container_image_read.py,sha256=l7tYflFivZ7sKrHd9aIlBWbkh_ZnbmN6XDbWJgNrNDk,896
241
242
  vellum/client/types/create_test_suite_test_case_request.py,sha256=SYUz7_aZMQlin_c1C0-B0W14YB0kC3cn21oPE4_64Ys,1711
242
243
  vellum/client/types/deployment_history_item.py,sha256=YfcHo4X5OjHXsffndZoAjShYncUN19ZwIm96qKE0G7o,1310
243
244
  vellum/client/types/deployment_provider_payload_response.py,sha256=b0lkt0rK88ARQaMWn9MAHeWtMBsZKofDMlOAUsQvv7g,818
@@ -810,6 +811,7 @@ vellum/types/components_schemas_pdf_search_result_meta_source_request.py,sha256=
810
811
  vellum/types/condition_combinator.py,sha256=1wNfjIPngHhdUbhMpjNVZqUI8LEu0XIExUX4Rtln1Tg,158
811
812
  vellum/types/conditional_node_result.py,sha256=zcfDgqzQWXVcqEQi_ozC_7l2to8Y3uNZ5mFN_uIVDW8,161
812
813
  vellum/types/conditional_node_result_data.py,sha256=z7Mtn_iKkan2jrGc2Q7fx-anx3ijHSSqnZwAb1w4ouk,166
814
+ vellum/types/container_image_container_image_tag.py,sha256=RgDod58iPXdgq6sMp63qqmRF3gk_gTK1gwLVcgR58QA,173
813
815
  vellum/types/container_image_read.py,sha256=36LQzvJaDGH26wjD6_WxgzwkslgRZihSYXu5n4W7abk,158
814
816
  vellum/types/create_test_suite_test_case_request.py,sha256=D_d6psjOMWx5jr2c7FwNndSH1ay5afdu5QXckqtBmfU,173
815
817
  vellum/types/deployment_history_item.py,sha256=VqJfKFgb_lxUd5Hr1xQtF63FBn7uzHV84L4pla2MER8,161
@@ -1315,7 +1317,7 @@ vellum/workflows/nodes/core/__init__.py,sha256=5zDMCmyt1v0HTJzlUBwq3U9L825yZGZhT
1315
1317
  vellum/workflows/nodes/core/error_node/__init__.py,sha256=g7RRnlHhqu4qByfLjBwCunmgGA8dI5gNsjS3h6TwlSI,60
1316
1318
  vellum/workflows/nodes/core/error_node/node.py,sha256=MFHU5vITYSK-L9CuMZ49In2ZeNLWnhZD0f8r5dWvb5Y,1270
1317
1319
  vellum/workflows/nodes/core/inline_subworkflow_node/__init__.py,sha256=nKNEH1QTl-1PcvmYoqSWEl0-t6gAur8GLTXHzklRQfM,84
1318
- vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=XJLz7Kkk4OwrM-OcPjiLfF3XC49jDwsVKFPTNXkenvQ,3964
1320
+ vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=q8_s1uuoB6t_QutJ-wl7Nj3A_yQYWxpv7660kcBwcXA,5931
1319
1321
  vellum/workflows/nodes/core/inline_subworkflow_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1320
1322
  vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py,sha256=n0-821Ov9ZfRFX_lbzLy5o2rX8fEw2qoxz0aFWCOxVg,1547
1321
1323
  vellum/workflows/nodes/core/map_node/__init__.py,sha256=MXpZYmGfhsMJHqqlpd64WiJRtbAtAMQz-_3fCU_cLV0,56
@@ -1323,7 +1325,7 @@ vellum/workflows/nodes/core/map_node/node.py,sha256=bjCVMAzkqJUvaLWVBObjskcutwLG
1323
1325
  vellum/workflows/nodes/core/map_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1324
1326
  vellum/workflows/nodes/core/map_node/tests/test_node.py,sha256=P7ImQyeLcK-aEJUYCX1gPQyuOxdxnSPpI3mNPpKQ62Y,1919
1325
1327
  vellum/workflows/nodes/core/retry_node/__init__.py,sha256=lN2bIy5a3Uzhs_FYCrooADyYU6ZGShtvLKFWpelwPvo,60
1326
- vellum/workflows/nodes/core/retry_node/node.py,sha256=QEpxhKOyxDkRoAn2b0PToZWtAGQetSQYVTpb9yCOLlw,4028
1328
+ vellum/workflows/nodes/core/retry_node/node.py,sha256=WD96o-eOj3dwEEe2nqxwBbmLTIyPRYB3Lk4T6XHRX74,4214
1327
1329
  vellum/workflows/nodes/core/retry_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1328
1330
  vellum/workflows/nodes/core/retry_node/tests/test_node.py,sha256=RM_OHwxrHwyxvlQQBJPqVBxpedFuWQ9h2-Xa3kP75sc,4399
1329
1331
  vellum/workflows/nodes/core/templating_node/__init__.py,sha256=GmyuYo81_A1_Bz6id69ozVFS6FKiuDsZTiA3I6MaL2U,70
@@ -1389,7 +1391,7 @@ vellum/workflows/nodes/experimental/openai_chat_completion_node/__init__.py,sha2
1389
1391
  vellum/workflows/nodes/experimental/openai_chat_completion_node/node.py,sha256=1EGeiaT-Zoo6pttQFKKBcdf3dmhAbjKGaErYD5FFwlc,10185
1390
1392
  vellum/workflows/nodes/utils.py,sha256=T7krLipDSI007JkkH2zsfyQ-tfOBH4hyFzQ0YJKYpuw,4025
1391
1393
  vellum/workflows/outputs/__init__.py,sha256=AyZ4pRh_ACQIGvkf0byJO46EDnSix1ZCAXfvh-ms1QE,94
1392
- vellum/workflows/outputs/base.py,sha256=a7W6rNSDSawwGAXYjNTF2iHb9lnZu7WFSOagZIyy__k,7976
1394
+ vellum/workflows/outputs/base.py,sha256=Wu48tqyQoxpflBUcwzKeZjSVp1LPKrBwuIvnx__9H90,8459
1393
1395
  vellum/workflows/ports/__init__.py,sha256=bZuMt-R7z5bKwpu4uPW7LlJeePOQWmCcDSXe5frUY5g,101
1394
1396
  vellum/workflows/ports/node_ports.py,sha256=g4A-8iUAvEJSkaWppbvzAR8XU02R9U-qLN4rP2Kq4Aw,2743
1395
1397
  vellum/workflows/ports/port.py,sha256=rc3GB7dDQCUs0IbY08a92-31YzJHQgBeww13brSJ2Js,3172
@@ -1442,8 +1444,8 @@ vellum/workflows/vellum_client.py,sha256=ODrq_TSl-drX2aezXegf7pizpWDVJuTXH-j6528
1442
1444
  vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
1443
1445
  vellum/workflows/workflows/base.py,sha256=k0kUWWko4fHyCqLSU_1cBK_pXZpl9MXekWiG-bdOAo0,18353
1444
1446
  vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnadGsrSZGa7t7LpJA,2008
1445
- vellum_ai-0.13.18.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1446
- vellum_ai-0.13.18.dist-info/METADATA,sha256=aLUy-xu3bfn69UAWushKWy3YWWoMMruLabea-UEOO1o,5335
1447
- vellum_ai-0.13.18.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1448
- vellum_ai-0.13.18.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1449
- vellum_ai-0.13.18.dist-info/RECORD,,
1447
+ vellum_ai-0.13.20.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1448
+ vellum_ai-0.13.20.dist-info/METADATA,sha256=TbxOMd3MKv1utYPQA2QHrmmbGBD5eSJaj1QPRLHkQsE,5335
1449
+ vellum_ai-0.13.20.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1450
+ vellum_ai-0.13.20.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1451
+ vellum_ai-0.13.20.dist-info/RECORD,,