vellum-ai 0.10.6__py3-none-any.whl → 0.10.8__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 -0
  2. vellum/client/README.md +7 -52
  3. vellum/client/__init__.py +16 -136
  4. vellum/client/core/client_wrapper.py +1 -1
  5. vellum/client/resources/ad_hoc/client.py +14 -104
  6. vellum/client/resources/metric_definitions/client.py +113 -0
  7. vellum/client/resources/test_suites/client.py +8 -16
  8. vellum/client/resources/workflows/client.py +0 -32
  9. vellum/client/types/__init__.py +2 -0
  10. vellum/client/types/metric_definition_history_item.py +39 -0
  11. vellum/types/metric_definition_history_item.py +3 -0
  12. vellum/workflows/events/node.py +36 -3
  13. vellum/workflows/events/tests/test_event.py +89 -9
  14. vellum/workflows/events/types.py +1 -1
  15. vellum/workflows/nodes/core/inline_subworkflow_node/node.py +1 -0
  16. vellum/workflows/nodes/core/templating_node/node.py +5 -0
  17. vellum/workflows/nodes/displayable/api_node/node.py +1 -1
  18. vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py +1 -2
  19. vellum/workflows/nodes/displayable/code_execution_node/node.py +1 -2
  20. vellum/workflows/nodes/displayable/code_execution_node/utils.py +13 -2
  21. vellum/workflows/nodes/displayable/conditional_node/node.py +2 -2
  22. vellum/workflows/nodes/displayable/inline_prompt_node/node.py +10 -3
  23. vellum/workflows/nodes/displayable/prompt_deployment_node/node.py +6 -1
  24. vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +1 -2
  25. vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py +1 -2
  26. vellum/workflows/ports/node_ports.py +2 -2
  27. vellum/workflows/ports/port.py +14 -0
  28. vellum/workflows/references/__init__.py +2 -0
  29. vellum/workflows/runner/runner.py +49 -8
  30. vellum/workflows/runner/types.py +1 -3
  31. vellum/workflows/state/encoder.py +2 -1
  32. vellum/workflows/types/__init__.py +5 -0
  33. vellum/workflows/types/tests/test_utils.py +6 -3
  34. vellum/workflows/types/utils.py +3 -0
  35. {vellum_ai-0.10.6.dist-info → vellum_ai-0.10.8.dist-info}/METADATA +1 -1
  36. {vellum_ai-0.10.6.dist-info → vellum_ai-0.10.8.dist-info}/RECORD +49 -47
  37. vellum_cli/__init__.py +23 -4
  38. vellum_cli/pull.py +28 -13
  39. vellum_cli/tests/test_pull.py +45 -2
  40. vellum_ee/workflows/display/nodes/base_node_display.py +1 -1
  41. vellum_ee/workflows/display/nodes/vellum/code_execution_node.py +17 -2
  42. vellum_ee/workflows/display/nodes/vellum/final_output_node.py +4 -2
  43. vellum_ee/workflows/display/nodes/vellum/map_node.py +20 -48
  44. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py +5 -16
  45. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py +11 -8
  46. vellum_ee/workflows/display/utils/vellum.py +3 -2
  47. {vellum_ai-0.10.6.dist-info → vellum_ai-0.10.8.dist-info}/LICENSE +0 -0
  48. {vellum_ai-0.10.6.dist-info → vellum_ai-0.10.8.dist-info}/WHEEL +0 -0
  49. {vellum_ai-0.10.6.dist-info → vellum_ai-0.10.8.dist-info}/entry_points.txt +0 -0
@@ -28,7 +28,7 @@ from vellum.workflows.events.node import (
28
28
  NodeExecutionRejectedBody,
29
29
  NodeExecutionStreamingBody,
30
30
  )
31
- from vellum.workflows.events.types import BaseEvent
31
+ from vellum.workflows.events.types import BaseEvent, ParentContext, WorkflowParentContext
32
32
  from vellum.workflows.events.utils import is_terminal_event
33
33
  from vellum.workflows.events.workflow import (
34
34
  WorkflowExecutionFulfilledBody,
@@ -71,6 +71,7 @@ class WorkflowRunner(Generic[StateType]):
71
71
  entrypoint_nodes: Optional[RunFromNodeArg] = None,
72
72
  external_inputs: Optional[ExternalInputsArg] = None,
73
73
  cancel_signal: Optional[ThreadingEvent] = None,
74
+ parent_context: Optional[ParentContext] = None,
74
75
  ):
75
76
  if state and external_inputs:
76
77
  raise ValueError("Can only run a Workflow providing one of state or external inputs, not both")
@@ -115,6 +116,7 @@ class WorkflowRunner(Generic[StateType]):
115
116
 
116
117
  self._active_nodes_by_execution_id: Dict[UUID, BaseNode[StateType]] = {}
117
118
  self._cancel_signal = cancel_signal
119
+ self._parent_context = parent_context
118
120
 
119
121
  setattr(
120
122
  self._initial_state,
@@ -143,6 +145,11 @@ class WorkflowRunner(Generic[StateType]):
143
145
  node_definition=node.__class__,
144
146
  inputs=node._inputs,
145
147
  ),
148
+ parent=WorkflowParentContext(
149
+ span_id=span_id,
150
+ workflow_definition=self.workflow.__class__,
151
+ parent=self._parent_context
152
+ )
146
153
  ),
147
154
  )
148
155
  )
@@ -188,9 +195,14 @@ class WorkflowRunner(Generic[StateType]):
188
195
  body=NodeExecutionStreamingBody(
189
196
  node_definition=node.__class__,
190
197
  output=BaseOutput(name=output.name),
198
+ invoked_ports=invoked_ports,
191
199
  ),
200
+ parent=WorkflowParentContext(
201
+ span_id=span_id,
202
+ workflow_definition=self.workflow.__class__,
203
+ parent=self._parent_context
204
+ )
192
205
  ),
193
- invoked_ports=invoked_ports,
194
206
  )
195
207
  )
196
208
 
@@ -212,9 +224,14 @@ class WorkflowRunner(Generic[StateType]):
212
224
  body=NodeExecutionStreamingBody(
213
225
  node_definition=node.__class__,
214
226
  output=output,
227
+ invoked_ports=invoked_ports,
215
228
  ),
229
+ parent=WorkflowParentContext(
230
+ span_id=span_id,
231
+ workflow_definition=self.workflow.__class__,
232
+ parent=self._parent_context,
233
+ )
216
234
  ),
217
- invoked_ports=invoked_ports,
218
235
  )
219
236
  )
220
237
  elif output.is_fulfilled:
@@ -231,9 +248,14 @@ class WorkflowRunner(Generic[StateType]):
231
248
  body=NodeExecutionStreamingBody(
232
249
  node_definition=node.__class__,
233
250
  output=output,
251
+ invoked_ports=invoked_ports,
234
252
  ),
253
+ parent=WorkflowParentContext(
254
+ span_id=span_id,
255
+ workflow_definition=self.workflow.__class__,
256
+ parent=self._parent_context,
257
+ )
235
258
  ),
236
- invoked_ports=invoked_ports,
237
259
  )
238
260
  )
239
261
 
@@ -257,9 +279,14 @@ class WorkflowRunner(Generic[StateType]):
257
279
  body=NodeExecutionFulfilledBody(
258
280
  node_definition=node.__class__,
259
281
  outputs=outputs,
282
+ invoked_ports=invoked_ports,
260
283
  ),
284
+ parent=WorkflowParentContext(
285
+ span_id=span_id,
286
+ workflow_definition=self.workflow.__class__,
287
+ parent=self._parent_context,
288
+ )
261
289
  ),
262
- invoked_ports=invoked_ports,
263
290
  )
264
291
  )
265
292
  except NodeException as e:
@@ -273,6 +300,11 @@ class WorkflowRunner(Generic[StateType]):
273
300
  node_definition=node.__class__,
274
301
  error=e.error,
275
302
  ),
303
+ parent=WorkflowParentContext(
304
+ span_id=span_id,
305
+ workflow_definition=self.workflow.__class__,
306
+ parent=self._parent_context,
307
+ )
276
308
  ),
277
309
  )
278
310
  )
@@ -292,6 +324,11 @@ class WorkflowRunner(Generic[StateType]):
292
324
  code=VellumErrorCode.INTERNAL_ERROR,
293
325
  ),
294
326
  ),
327
+ parent=WorkflowParentContext(
328
+ span_id=span_id,
329
+ workflow_definition=self.workflow.__class__,
330
+ parent=self._parent_context
331
+ )
295
332
  ),
296
333
  )
297
334
  )
@@ -339,7 +376,6 @@ class WorkflowRunner(Generic[StateType]):
339
376
  def _handle_work_item_event(self, work_item_event: WorkItemEvent[StateType]) -> Optional[VellumError]:
340
377
  node = work_item_event.node
341
378
  event = work_item_event.event
342
- invoked_ports = work_item_event.invoked_ports
343
379
 
344
380
  if event.name == "node.execution.initiated":
345
381
  return None
@@ -368,13 +404,13 @@ class WorkflowRunner(Generic[StateType]):
368
404
  )
369
405
  )
370
406
 
371
- self._handle_invoked_ports(node.state, invoked_ports)
407
+ self._handle_invoked_ports(node.state, event.invoked_ports)
372
408
 
373
409
  return None
374
410
 
375
411
  if event.name == "node.execution.fulfilled":
376
412
  self._active_nodes_by_execution_id.pop(event.span_id)
377
- self._handle_invoked_ports(node.state, invoked_ports)
413
+ self._handle_invoked_ports(node.state, event.invoked_ports)
378
414
 
379
415
  return None
380
416
 
@@ -388,6 +424,7 @@ class WorkflowRunner(Generic[StateType]):
388
424
  workflow_definition=self.workflow.__class__,
389
425
  inputs=self._initial_state.meta.workflow_inputs,
390
426
  ),
427
+ parent=self._parent_context,
391
428
  )
392
429
 
393
430
  def _stream_workflow_event(self, output: BaseOutput) -> WorkflowExecutionStreamingEvent:
@@ -398,6 +435,7 @@ class WorkflowRunner(Generic[StateType]):
398
435
  workflow_definition=self.workflow.__class__,
399
436
  output=output,
400
437
  ),
438
+ parent=self._parent_context
401
439
  )
402
440
 
403
441
  def _fulfill_workflow_event(self, outputs: OutputsType) -> WorkflowExecutionFulfilledEvent:
@@ -408,6 +446,7 @@ class WorkflowRunner(Generic[StateType]):
408
446
  workflow_definition=self.workflow.__class__,
409
447
  outputs=outputs,
410
448
  ),
449
+ parent=self._parent_context,
411
450
  )
412
451
 
413
452
  def _reject_workflow_event(self, error: VellumError) -> WorkflowExecutionRejectedEvent:
@@ -418,6 +457,7 @@ class WorkflowRunner(Generic[StateType]):
418
457
  workflow_definition=self.workflow.__class__,
419
458
  error=error,
420
459
  ),
460
+ parent=self._parent_context,
421
461
  )
422
462
 
423
463
  def _resume_workflow_event(self) -> WorkflowExecutionResumedEvent:
@@ -437,6 +477,7 @@ class WorkflowRunner(Generic[StateType]):
437
477
  workflow_definition=self.workflow.__class__,
438
478
  external_inputs=external_inputs,
439
479
  ),
480
+ parent=self._parent_context,
440
481
  )
441
482
 
442
483
  def _stream(self) -> None:
@@ -1,18 +1,16 @@
1
1
  """Only intenral types and enums for WorkflowRunner should be defined in this module."""
2
2
 
3
3
  from dataclasses import dataclass
4
- from typing import TYPE_CHECKING, Generic, Iterable, Optional
4
+ from typing import TYPE_CHECKING, Generic
5
5
 
6
6
  from vellum.workflows.types.generics import StateType
7
7
 
8
8
  if TYPE_CHECKING:
9
9
  from vellum.workflows.events import NodeEvent
10
10
  from vellum.workflows.nodes.bases import BaseNode
11
- from vellum.workflows.ports import Port
12
11
 
13
12
 
14
13
  @dataclass(frozen=True)
15
14
  class WorkItemEvent(Generic[StateType]):
16
15
  node: "BaseNode[StateType]"
17
16
  event: "NodeEvent"
18
- invoked_ports: Optional[Iterable["Port"]] = None
@@ -9,6 +9,7 @@ from pydantic import BaseModel
9
9
 
10
10
  from vellum.workflows.inputs.base import BaseInputs
11
11
  from vellum.workflows.outputs.base import BaseOutput, BaseOutputs
12
+ from vellum.workflows.ports.port import Port
12
13
  from vellum.workflows.state.base import BaseState, NodeExecutionCache
13
14
 
14
15
 
@@ -22,7 +23,7 @@ class DefaultStateEncoder(JSONEncoder):
22
23
  if isinstance(obj, (BaseInputs, BaseOutputs)):
23
24
  return {descriptor.name: value for descriptor, value in obj}
24
25
 
25
- if isinstance(obj, BaseOutput):
26
+ if isinstance(obj, (BaseOutput, Port)):
26
27
  return obj.serialize()
27
28
 
28
29
  if isinstance(obj, NodeExecutionCache):
@@ -0,0 +1,5 @@
1
+ from .core import MergeBehavior
2
+
3
+ __all__ = [
4
+ "MergeBehavior",
5
+ ]
@@ -1,5 +1,5 @@
1
1
  import pytest
2
- from typing import ClassVar, Generic, List, TypeVar, Union
2
+ from typing import Any, ClassVar, Generic, List, TypeVar, Union
3
3
 
4
4
  from vellum.workflows.nodes.bases.base import BaseNode
5
5
  from vellum.workflows.nodes.core.try_node.node import TryNode
@@ -20,6 +20,7 @@ class ExampleClass:
20
20
  )
21
21
  zeta: ClassVar[str]
22
22
  eta: List[str]
23
+ kappa: Any
23
24
 
24
25
 
25
26
  T = TypeVar("T")
@@ -53,6 +54,7 @@ class ExampleNode(BaseNode):
53
54
  (ExampleInheritedClass, "alpha", (str,)),
54
55
  (ExampleInheritedClass, "beta", (int,)),
55
56
  (ExampleNode.Outputs, "iota", (str,)),
57
+ (ExampleClass, "kappa", (Any,)),
56
58
  ],
57
59
  ids=[
58
60
  "str",
@@ -67,6 +69,7 @@ class ExampleNode(BaseNode):
67
69
  "inherited_parent_annotation",
68
70
  "inherited_parent_class_var",
69
71
  "try_node_output",
72
+ "any",
70
73
  ],
71
74
  )
72
75
  def test_infer_types(cls, attr_name, expected_type):
@@ -76,9 +79,9 @@ def test_infer_types(cls, attr_name, expected_type):
76
79
  @pytest.mark.parametrize(
77
80
  "cls, expected_attr_names",
78
81
  [
79
- (ExampleClass, {"alpha", "beta", "gamma", "epsilon", "zeta", "eta"}),
82
+ (ExampleClass, {"alpha", "beta", "gamma", "epsilon", "zeta", "eta", "kappa"}),
80
83
  (ExampleGenericClass, {"delta"}),
81
- (ExampleInheritedClass, {"alpha", "beta", "gamma", "epsilon", "zeta", "eta", "theta"}),
84
+ (ExampleInheritedClass, {"alpha", "beta", "gamma", "epsilon", "zeta", "eta", "theta", "kappa"}),
82
85
  ],
83
86
  )
84
87
  def test_class_attr_names(cls, expected_attr_names):
@@ -13,6 +13,7 @@ from typing import (
13
13
  Type,
14
14
  TypeVar,
15
15
  Union,
16
+ cast,
16
17
  get_args,
17
18
  get_origin,
18
19
  get_type_hints,
@@ -81,6 +82,8 @@ def infer_types(object_: Type, attr_name: str, localns: Optional[Dict[str, Any]]
81
82
  if type_hint in type_var_mapping:
82
83
  return (type_var_mapping[type_hint],)
83
84
  return type_hint.__constraints__
85
+ if type_hint is Any:
86
+ return cast(Tuple[Type[Any], ...], (Any,))
84
87
 
85
88
  for base in reversed(class_.__mro__):
86
89
  class_attributes = vars(base)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.10.6
3
+ Version: 0.10.8
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.9,<4.0
@@ -1,21 +1,21 @@
1
1
  vellum_cli/CONTRIBUTING.md,sha256=FtDC7BGxSeMnwCXAUssFsAIElXtmJE-O5Z7BpolcgvI,2935
2
2
  vellum_cli/README.md,sha256=2NudRoLzWxNKqnuVy1JuQ7DerIaxWGYkrH8kMd-asIE,90
3
- vellum_cli/__init__.py,sha256=t62kIq0vDia8TTJqAmqFpYCo40buWNDQmjIDTOvmwwE,2416
3
+ vellum_cli/__init__.py,sha256=E2_T4MuUkfobYqla03ci2tRWQ7ZsaZA6wU340OCWRJ4,2788
4
4
  vellum_cli/aliased_group.py,sha256=ugW498j0yv4ALJ8vS9MsO7ctDW7Jlir9j6nE_uHAP8c,3363
5
5
  vellum_cli/config.py,sha256=urqMGQUkTntzdx-JV0P32FZVbqRZqgI-yFVmGPVblNI,3613
6
6
  vellum_cli/image_push.py,sha256=lCQhkQu-IlIMHNSynmEl5KUzO_dHW27NTAFWnyvPpcs,4419
7
7
  vellum_cli/logger.py,sha256=PuRFa0WCh4sAGFS5aqWB0QIYpS6nBWwPJrIXpWxugV4,1022
8
- vellum_cli/pull.py,sha256=op8HQmtiKa4TlrgEvhLiIac0Zhal6LETW22rhSkNHGE,3483
8
+ vellum_cli/pull.py,sha256=UApkIEq5BVq8Si_ZePyv5MMFUAspFetpec5Ix88WFOQ,3866
9
9
  vellum_cli/push.py,sha256=HhXHqLvWKf3CUZJ3yIm-KeoBkgk73EXqVtGgWYcBcVk,5089
10
10
  vellum_cli/tests/test_config.py,sha256=uvKGDc8BoVyT9_H0Z-g8469zVxomn6Oi3Zj-vK7O_wU,2631
11
- vellum_cli/tests/test_pull.py,sha256=24sHYWNViS-G_UHmPC_-KXb6l3OOs2AiDGv2kKp4AHY,5815
11
+ vellum_cli/tests/test_pull.py,sha256=gIkbpd4l_yUmIoW8k3wrTpp6h7OFbB0KXdijIjAgffU,7416
12
12
  vellum_ee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  vellum_ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  vellum_ee/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  vellum_ee/workflows/display/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  vellum_ee/workflows/display/base.py,sha256=yYH86aTPfOy7Zbzj9YBzU-yLUX3GBHVNxKqJFy7_wxk,1797
17
17
  vellum_ee/workflows/display/nodes/__init__.py,sha256=5XOcZJXYUgaLS55QgRJzyQ_W1tpeprjnYAeYVezqoGw,160
18
- vellum_ee/workflows/display/nodes/base_node_display.py,sha256=0ee5qP5uF9WASIocwhZfEi8S2NmPdaGQLlG-kwPb9ZI,5942
18
+ vellum_ee/workflows/display/nodes/base_node_display.py,sha256=gmGGOXHydc158aS55JOHZtYvta6jj4ZCuue-9n8KvFY,5942
19
19
  vellum_ee/workflows/display/nodes/base_node_vellum_display.py,sha256=a62tpKcX0LdyZM2clwoGwpUfH3HMBbX1qiA0FFb_nk4,1649
20
20
  vellum_ee/workflows/display/nodes/get_node_display_class.py,sha256=A036wKuBjhtBGJKdkQSq4v1Rcm0cXHropJxKPuGWAsk,907
21
21
  vellum_ee/workflows/display/nodes/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -24,13 +24,13 @@ vellum_ee/workflows/display/nodes/types.py,sha256=St1BB6no528OyELGiyRabWao0GGw6m
24
24
  vellum_ee/workflows/display/nodes/utils.py,sha256=sloya5TpXsnot1HURc9L51INwflRqUzHxRVnCS9Cd-4,973
25
25
  vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=jQgm0dsQAlxZ0tYR_cv5pX-6wHMPQfFwmhI3DQ29S9Y,1432
26
26
  vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=awjKut2m7HoEmqewRfdR1dw8ufA0Q5mVG8V8jhaHlKw,8572
27
- vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=bAtSJpcKyJW-VLvBEr92lKPpdPH1L_IA02qg78U1uFA,3403
27
+ vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=MASV7u0X4eiS3SzRWeBcbWZ_YgNlwwg5cM2vaFWjpqk,3915
28
28
  vellum_ee/workflows/display/nodes/vellum/conditional_node.py,sha256=v9g263oEtyL6ejp5ZfLrVfrcqU9gZwzuUI4yBuOScbI,12983
29
- vellum_ee/workflows/display/nodes/vellum/final_output_node.py,sha256=kR_z9ichhBtK_CLetqGjewmFmIFalfSiG2tQlM2T4yM,2772
29
+ vellum_ee/workflows/display/nodes/vellum/final_output_node.py,sha256=2HsghUtPBOQ-4sN-2jDOnbEuIwcsilDKO3f2o1WlYgw,2897
30
30
  vellum_ee/workflows/display/nodes/vellum/guardrail_node.py,sha256=lr4d2uV3Lq8d22b5LCKbWMz_nU7Q0fvffcNQ7zx5Ygc,2163
31
31
  vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=0lX14iOxZhdKSXE6mzBAIw480nNJD_Sz4qo7WZAXYfQ,7391
32
32
  vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=rZmYQSCtm7bdiJ-ZYMyPpFnEwbNr85a45PXqESvLyus,4696
33
- vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=TvUSmq5s2kFqkex8Z5uB65HT2U2MUYmRteAuumR4ySY,4656
33
+ vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=rjsXrUt2PjD1HOS1xDVPn5ThTImsI048hVh_3A_G-14,3588
34
34
  vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=7YmVRNSI6RkK1rvg0b0zDeW2nnBIKir0ERzqqtT08I4,2218
35
35
  vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=gjYEp7DdTtdH-uJvVbMTOEoj8KokB5LQBR_JJulFHj4,1121
36
36
  vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=LbxpCKr4Ys9A-xtWU119Ry8IP7W3GGinPFWt9QAZAi8,3111
@@ -45,10 +45,10 @@ vellum_ee/workflows/display/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
45
45
  vellum_ee/workflows/display/tests/workflow_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
46
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=bLdJ0VVwAPDRvwaJMiMf0fRCuIWvvuRjAxKzddGPFyA,16871
47
47
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=0McMPIPnIwE8iGh7fzFZL3dc6Q7NCQ_wUVFpl14YATo,22846
48
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=uGTR4g1epQOBKcS4RezFH1Py7-NWFvsuuRq52u2A2o4,54260
48
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=AOM1lN7_Y1wmorBpyF6Z2VVgrPUiFaePaGjauDluAsc,54187
49
49
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py,sha256=IfO5Hmr1W41X2IVq-i6pG7BuevBPZU_s6ASTNVVVkdg,8298
50
50
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=c97A2tFWnNUXi3T4RLsvf3nZkUTPiGSC6XD_x1-ZK_U,22270
51
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=0560oLL81CJu2oowqlchloYrWz5MUF-Eih2WzDTFvvM,14981
51
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=Bx6tpFoW_7KrlsuzeEgXgQxa6CHJsQKwFZjilJsTivg,15451
52
52
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=NUe91w_AHNJmxDaP_51wLuQoaHKgwkq83OXy0fHNsK0,9997
53
53
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=hIpamI86C9tfL0aOPeCRgVGCklQ1WB4XjRb7esSmgas,9493
54
54
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=xK-3iQ05ZItncX6AQSzf4uUn0K2ObBm40wbtvGfgnkQ,12708
@@ -60,18 +60,18 @@ vellum_ee/workflows/display/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
60
60
  vellum_ee/workflows/display/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
61
  vellum_ee/workflows/display/utils/tests/test_uuids.py,sha256=ItjROhaPns8_mlvD17LIBwZKvhe2l0dXEd5oL-JiY64,448
62
62
  vellum_ee/workflows/display/utils/uuids.py,sha256=DFzPv9RCvsKhvdTEIQyfSek2A31D6S_QcmeLPbgrgTY,739
63
- vellum_ee/workflows/display/utils/vellum.py,sha256=NbjS_dKEgrwjV71xgxgsVnAn-PTZ67SBPgXMMnTbvfg,5133
63
+ vellum_ee/workflows/display/utils/vellum.py,sha256=PYxIFv0H_8byUZkrs4jWPpQ6ACElImOBU7FHZjKKXsI,5278
64
64
  vellum_ee/workflows/display/vellum.py,sha256=_-lLRZsEitt8fdUID62aiXptWa8rJhyqgL4uy1gDmc4,8783
65
65
  vellum_ee/workflows/display/workflows/__init__.py,sha256=kapXsC67VJcgSuiBMa86FdePG5A9kMB5Pi4Uy1O2ob4,207
66
66
  vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=HkakkrNgVFoHlUP7yHlQjHOvii3CZ90iyU1062PfoW4,12819
67
67
  vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=EN6gXo_uNRrQZtPjenSZHOge2ztz5J9k5tpsmfGulVY,1160
68
68
  vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=RxSnupMr7lEAAjiyTC1BGJzH4OtgSi63_-LwE7bil3o,16843
69
- vellum/__init__.py,sha256=xiYriEQZVk6SzItzQNOMpGoeO2yFTBGrEJZNHJesm8E,34416
70
- vellum/client/README.md,sha256=8cKUE1kSuhz-U87n3-clA7o9_zlP0Avr4qKbvRbdT2k,5984
71
- vellum/client/__init__.py,sha256=Fu-wzw_MiTtqAQOFhcFcrLKAPkEfUhf6K4ZuFspfKUw,115305
69
+ vellum/__init__.py,sha256=67DJaPyfV8hWJkx4pBssBAnlPm3jQMl8VqIn5TtBP3Q,34484
70
+ vellum/client/README.md,sha256=JkCJjmMZl4jrPj46pkmL9dpK4gSzQQmP5I7z4aME4LY,4749
71
+ vellum/client/__init__.py,sha256=o4m7iRZWEV8rP3GkdaztHAjNmjxjWERlarviFoHzuKI,110927
72
72
  vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
73
73
  vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
74
- vellum/client/core/client_wrapper.py,sha256=_3h16IFZNO44Mk4A5auvJ9iLW940O2VFwfgnE-j4910,1890
74
+ vellum/client/core/client_wrapper.py,sha256=-M3uhAr1iTDcPBsJsI4SD1DfT1LMZ1qdWYe2eEbN-N4,1890
75
75
  vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
76
76
  vellum/client/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
77
77
  vellum/client/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
@@ -89,7 +89,7 @@ vellum/client/errors/internal_server_error.py,sha256=8USCagXyJJ1MOm9snpcXIUt6eNX
89
89
  vellum/client/errors/not_found_error.py,sha256=tBVCeBC8n3C811WHRj_n-hs3h8MqwR5gp0vLiobk7W8,262
90
90
  vellum/client/resources/__init__.py,sha256=2B6Oim7PG4IxSUNSzDY1EruQHsaZ7konj3j_WSTydCs,1378
91
91
  vellum/client/resources/ad_hoc/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
92
- vellum/client/resources/ad_hoc/client.py,sha256=6rsCw-oaq35-DVrb7NTyptc2WU9L6Eka99H3fNB0jA8,17749
92
+ vellum/client/resources/ad_hoc/client.py,sha256=HR5NwH12JPlaKBKKXtO9eiEe9_KTH11El3dbpG9nLuU,14403
93
93
  vellum/client/resources/container_images/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
94
94
  vellum/client/resources/container_images/client.py,sha256=jK1n-NFsdBKCeEKh-EIqvw7R8AG9PP4GxxcoH9F0GYs,15463
95
95
  vellum/client/resources/deployments/__init__.py,sha256=m64MNuPx3qVazOnTNwOY8oEeDrAkNwMJvUEe5xoMDvs,239
@@ -108,7 +108,7 @@ vellum/client/resources/folder_entities/client.py,sha256=ep5dnfJmEuEyrOSUftEVwKa
108
108
  vellum/client/resources/folder_entities/types/__init__.py,sha256=cHabrupjC-HL3kj-UZ9WdVzqHoQHCu6QsLFB3wlOs7k,212
109
109
  vellum/client/resources/folder_entities/types/folder_entities_list_request_entity_status.py,sha256=nK9b9fRSeCfjn2V2Hifl1IbhFeVsNkoeXJ8rCAPADFg,183
110
110
  vellum/client/resources/metric_definitions/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
111
- vellum/client/resources/metric_definitions/client.py,sha256=w-2IQ-ILDNqws6bWjZj6V9G86qw5zCVLXKq4j3Nebzw,5924
111
+ vellum/client/resources/metric_definitions/client.py,sha256=T3pS0tn2M1e-kdURLemdftGlVGfmxSozcV-SpJN5zvE,10100
112
112
  vellum/client/resources/ml_models/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
113
113
  vellum/client/resources/ml_models/client.py,sha256=XIYapTEY6GRNr7V0Kjy5bEeKmrhv9ul8qlQY2A5LFqQ,3872
114
114
  vellum/client/resources/sandboxes/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
@@ -116,7 +116,7 @@ vellum/client/resources/sandboxes/client.py,sha256=i-6DHap5k6gFcYS-kWI8ayJFVZxb-
116
116
  vellum/client/resources/test_suite_runs/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
117
117
  vellum/client/resources/test_suite_runs/client.py,sha256=gCF1ewlUrCsZhnXYOYqdUuD2twTrQ-u95xOgvRy7WAw,15130
118
118
  vellum/client/resources/test_suites/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
119
- vellum/client/resources/test_suites/client.py,sha256=XOSXVzgcnyescVX02aKdRzLSxY32xS0ULXbwc9XFAE8,25063
119
+ vellum/client/resources/test_suites/client.py,sha256=UDlFSHLdUFbZrjSq-uk6LA5O9SqgvAsQyrP8PpCeEBI,24659
120
120
  vellum/client/resources/workflow_deployments/__init__.py,sha256=_duH6m1CDWcfqX6DTBNjO3ar4Xrl-f5PozMaTcT4Kow,251
121
121
  vellum/client/resources/workflow_deployments/client.py,sha256=H9MhGYZVx1WLHE5j83Sl5HmX-CF6aJFCwQAGDG1n2oI,27149
122
122
  vellum/client/resources/workflow_deployments/types/__init__.py,sha256=W7DKJ1nduwhRckYLvH7wHLdaGH9MXHTZkxwG7FdTngY,340
@@ -125,12 +125,12 @@ vellum/client/resources/workflow_deployments/types/workflow_deployments_list_req
125
125
  vellum/client/resources/workflow_sandboxes/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
126
126
  vellum/client/resources/workflow_sandboxes/client.py,sha256=3wVQxkjrJ5bIS8fB5FpKXCP2dX38299ghWrJ8YmXxwQ,7435
127
127
  vellum/client/resources/workflows/__init__.py,sha256=Z4xi8Nxd9U4t35FQSepTt1p-ns0X1xtdNs168kUcuBk,153
128
- vellum/client/resources/workflows/client.py,sha256=SYPMtcDF9aVhrbzmlnGLqdx8l7Hau2QpZTTE-R8TwKQ,10853
128
+ vellum/client/resources/workflows/client.py,sha256=5wqDiO1xYnYxNmbaEE1OTnUn3YXKpruYqF3taCjLRDI,10263
129
129
  vellum/client/resources/workflows/types/__init__.py,sha256=-uFca4ypncAOvfsg6sjD-5C9zWdA5qNvU6m675GphVg,177
130
130
  vellum/client/resources/workflows/types/workflows_pull_request_format.py,sha256=dOWE_jnDnniIJLoeseeCms23aklghyBkoPmBFzcqqZk,165
131
131
  vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
132
132
  vellum/client/resources/workspace_secrets/client.py,sha256=h7UzXLyTttPq1t-JZGMg1BWxypxJvBGUdqg7KGT7MK4,8027
133
- vellum/client/types/__init__.py,sha256=fY4a4kaOhRGIChnfHFKrEAO-XCEF6m4zfTZNYnH8d24,51959
133
+ vellum/client/types/__init__.py,sha256=l-m0JRpHj7tm8Kzsr7HOIK_O9XnGOVWfQanEOE4Z_yo,52066
134
134
  vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
135
135
  vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
136
136
  vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
@@ -316,6 +316,7 @@ vellum/client/types/metadata_filter_rule_combinator.py,sha256=3Vpp1Mnv3As7efkxWT
316
316
  vellum/client/types/metadata_filter_rule_request.py,sha256=Pcs0TsU7CRnsEUoH0DWb-c9DTP2UW67lJKXlsTLXV48,1135
317
317
  vellum/client/types/metadata_filters_request.py,sha256=Yaiu7rkcrV2bCFk6HrZSjuF6V-6JYjZTpzxv7_MFe70,345
318
318
  vellum/client/types/metric_definition_execution.py,sha256=xwr5VJTo32k77isUtz2uzHGmtRm6K_VyOlTCbJr0JNU,672
319
+ vellum/client/types/metric_definition_history_item.py,sha256=oR0m0PG_NGpEBSwJ3n-CFi6TJo3o5Y4D_wfaqpk2VxI,1183
319
320
  vellum/client/types/metric_definition_input.py,sha256=4nmwpPqbeNQYCzLkXCkc-FGV5K2Zfa22xqSUe_L6o5s,331
320
321
  vellum/client/types/metric_node_result.py,sha256=YdKq1DZiBD1RBtjyMejImylv3BqrwY8B_UF4Ij-6_64,660
321
322
  vellum/client/types/ml_model_read.py,sha256=Vr5KjaS2Tca0GXsltfSYQpuyGYpgIahPEFfS6HfFGSo,706
@@ -875,6 +876,7 @@ vellum/types/metadata_filter_rule_combinator.py,sha256=bHx8PgGv5n_3cC-blXV20DKek
875
876
  vellum/types/metadata_filter_rule_request.py,sha256=LULGRo2_1WXc8GbFQioEzB1BfAfcOONwSgrRpwXlQig,166
876
877
  vellum/types/metadata_filters_request.py,sha256=Czs4HD9ibSdtX026v3NMur6L6wKOYYkvd5Em1-UVI2o,162
877
878
  vellum/types/metric_definition_execution.py,sha256=Yx5b1CygziiPLjlZDQF0lVVI7ubRLVJn16vT3N7zmHQ,165
879
+ vellum/types/metric_definition_history_item.py,sha256=OUGYJ9yHc60QiYh_C8-YuA1zHeQ9v5lShdaJ5KEl-1c,168
878
880
  vellum/types/metric_definition_input.py,sha256=TwMwjC_MNiLdodsvT52D7aa_wRY-0kT047flY3sFxII,161
879
881
  vellum/types/metric_node_result.py,sha256=Q_bUgbdRnSP26nEcJ-vZD7k2oLIcThN3JjW9hXTRfZo,156
880
882
  vellum/types/ml_model_read.py,sha256=d_CPwZ3bhXtC8c5jwXkuNVvobDqPI-I_byZ6WnVla1Q,151
@@ -1189,10 +1191,10 @@ vellum/workflows/environment/environment.py,sha256=IwcVSwA51jW1JTN_MAN22UbeAtZhi
1189
1191
  vellum/workflows/errors/__init__.py,sha256=BRyo4hKP2ElS4k1YDu8VdY2VhUZjILtHn2sPFf_d7U0,105
1190
1192
  vellum/workflows/errors/types.py,sha256=YQy6na_iBkqxl9GHKOcin44m8DMRG5KP9oLV1Lpal1M,541
1191
1193
  vellum/workflows/events/__init__.py,sha256=vLwQuykMmbv0izdUvsamouRQKbmKX_r9Poo77jd404w,821
1192
- vellum/workflows/events/node.py,sha256=w5A2MCWD8J-qvdmxBRP4r_c_qz6SK4YLjlsoswrYHc0,3697
1194
+ vellum/workflows/events/node.py,sha256=YQVWrE8LD5IxRTz_e0-0bXMhk3RZ75ZKTvAJZqH8dP0,5270
1193
1195
  vellum/workflows/events/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1194
- vellum/workflows/events/tests/test_event.py,sha256=UdBfjJFGUh1b0T3x-3IuN1Rg97Be5MViXaMY5tjnTL8,9614
1195
- vellum/workflows/events/types.py,sha256=2MDqlhBMwFWKso423IGH9ZdsPnmBWGGOIBceW568pnk,2865
1196
+ vellum/workflows/events/tests/test_event.py,sha256=BbAeTohMdfAdpBea9fbi5nDXX6UQ7xASMv9jNuwOmDU,12704
1197
+ vellum/workflows/events/types.py,sha256=9apSwzmjVtuSDxEP2NhF8HbGGOP2BkMaqnOy__YH-oY,2863
1196
1198
  vellum/workflows/events/utils.py,sha256=OwtE8dHOCX01jvLyoS1l18tYQ4ob0YJcUhUorKWLJh0,232
1197
1199
  vellum/workflows/events/workflow.py,sha256=kPjZTh5hzCsSrVKLkXQNwzxhnUp3X4GkFA5veGatGlQ,4353
1198
1200
  vellum/workflows/exceptions.py,sha256=Dc7mxstsaMDRmS91QEOiZCbZ1ZIRacnm0l5lQmC6WkA,401
@@ -1241,7 +1243,7 @@ vellum/workflows/nodes/core/__init__.py,sha256=5zDMCmyt1v0HTJzlUBwq3U9L825yZGZhT
1241
1243
  vellum/workflows/nodes/core/error_node/__init__.py,sha256=g7RRnlHhqu4qByfLjBwCunmgGA8dI5gNsjS3h6TwlSI,60
1242
1244
  vellum/workflows/nodes/core/error_node/node.py,sha256=hqBPHoLnhNrK9ITIaEzpnk47XYDbG6cmObz7oe78Ceg,944
1243
1245
  vellum/workflows/nodes/core/inline_subworkflow_node/__init__.py,sha256=nKNEH1QTl-1PcvmYoqSWEl0-t6gAur8GLTXHzklRQfM,84
1244
- vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=hXYdhY_4cJVzCDBeFynFflRisgS4nBeFsuz3sFzrMGI,3002
1246
+ vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=mWugLOYnVmji-dSf8Rfizs_XKKfKWSskMbn6TRMDbaY,3063
1245
1247
  vellum/workflows/nodes/core/map_node/__init__.py,sha256=MXpZYmGfhsMJHqqlpd64WiJRtbAtAMQz-_3fCU_cLV0,56
1246
1248
  vellum/workflows/nodes/core/map_node/node.py,sha256=aPhV3niv_jWSwrZ2CwiRg0CDOM-09Fa6QqOPYNJMgRc,6206
1247
1249
  vellum/workflows/nodes/core/map_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1253,7 +1255,7 @@ vellum/workflows/nodes/core/retry_node/tests/test_node.py,sha256=zANiu9-d-uIOP9t
1253
1255
  vellum/workflows/nodes/core/templating_node/__init__.py,sha256=GmyuYo81_A1_Bz6id69ozVFS6FKiuDsZTiA3I6MaL2U,70
1254
1256
  vellum/workflows/nodes/core/templating_node/custom_filters.py,sha256=Q0DahYRHP4KfaUXDt9XxN-DFLBrAxlv90yaVqxScoUw,264
1255
1257
  vellum/workflows/nodes/core/templating_node/exceptions.py,sha256=cDp140PP4OnInW4qAvg3KqiSiF70C71UyEAKRBR1Abo,46
1256
- vellum/workflows/nodes/core/templating_node/node.py,sha256=SU8zCVLz1Qq4bXoECHssECQBmUwxdeQgFMo7x1nv5Ts,4364
1258
+ vellum/workflows/nodes/core/templating_node/node.py,sha256=uxdOk_vyb5ONoOWG4xMDo3_eAZS_JxnZi-cMlq2Fc4k,4499
1257
1259
  vellum/workflows/nodes/core/templating_node/render.py,sha256=OpJp0NAH6qcEL6K9lxR0qjpFb75TYNttJR5iCos8tmg,1792
1258
1260
  vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py,sha256=L6F3Gw9doguj1TSKmAns-mzXvoRuRivaCFe3mhjo13E,551
1259
1261
  vellum/workflows/nodes/core/try_node/__init__.py,sha256=JVD4DrldTIqFQQFrubs9KtWCCc0YCAc7Fzol5ZWIWeM,56
@@ -1262,7 +1264,7 @@ vellum/workflows/nodes/core/try_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW
1262
1264
  vellum/workflows/nodes/core/try_node/tests/test_node.py,sha256=u06GmVGln5lg-65YYFAmjlKwxuXbP8bKA8Qf_Zbq7ak,3764
1263
1265
  vellum/workflows/nodes/displayable/__init__.py,sha256=6F_4DlSwvHuilWnIalp8iDjjDXl0Nmz4QzJV2PYe5RI,1023
1264
1266
  vellum/workflows/nodes/displayable/api_node/__init__.py,sha256=MoxdQSnidIj1Nf_d-hTxlOxcZXaZnsWFDbE-PkTK24o,56
1265
- vellum/workflows/nodes/displayable/api_node/node.py,sha256=-m93_KqwaWxbtbNQDWnLZZ-TSHCwd4ir2V542zovaZU,2043
1267
+ vellum/workflows/nodes/displayable/api_node/node.py,sha256=mnoncJtxo5YhuFCR3_axpvCqrGQKLShvfU6xJO7Fa8I,2047
1266
1268
  vellum/workflows/nodes/displayable/bases/__init__.py,sha256=0mWIx3qUrzllV7jqt7wN03vWGMuI1WrrLZeMLT2Cl2c,304
1267
1269
  vellum/workflows/nodes/displayable/bases/api_node/__init__.py,sha256=1jwx4WC358CLA1jgzl_UD-rZmdMm2v9Mps39ndwCD7U,64
1268
1270
  vellum/workflows/nodes/displayable/bases/api_node/node.py,sha256=YQNoO5xgjd44EzOTe0EVAxWgMLoaWGx_68fxgoEBqto,2487
@@ -1271,45 +1273,45 @@ vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py,sha256=et_cMMc
1271
1273
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/__init__.py,sha256=Hl35IAoepRpE-j4cALaXVJIYTYOF3qszyVbxTj4kS1s,82
1272
1274
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/constants.py,sha256=fnjiRWLoRlC4Puo5oQcpZD5Hd-EesxsAo9l5tGAkpZQ,270
1273
1275
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=vbl6LRCrmlxFURcFGFMAEBJjgNGPB5q9AnQ8UITxYuI,4869
1274
- vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=JjNMiAFgOupUo5EUeHaryG74SCjEECxBZiS8cMECR_c,4378
1276
+ vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=KsKU9SNgjd1feiylSNS33DE0jKsJbYsaepF5wpCUzRU,4440
1275
1277
  vellum/workflows/nodes/displayable/bases/search_node.py,sha256=z8IQg-J46AbRMgFi92M08A220Wf7gU0xE3634ii3T1E,3565
1276
1278
  vellum/workflows/nodes/displayable/code_execution_node/__init__.py,sha256=0FLWMMktpzSnmBMizQglBpcPrP80fzVsoJwJgf822Cg,76
1277
- vellum/workflows/nodes/displayable/code_execution_node/node.py,sha256=8yPoA8yCvk4TODot5Ou09wbonkCfqvPYFc5cOHbwP10,8078
1279
+ vellum/workflows/nodes/displayable/code_execution_node/node.py,sha256=zK-gxWmox8QZ84J11faUmasRozNKDIBv_86Gjq8uj7M,7975
1278
1280
  vellum/workflows/nodes/displayable/code_execution_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1279
1281
  vellum/workflows/nodes/displayable/code_execution_node/tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1280
1282
  vellum/workflows/nodes/displayable/code_execution_node/tests/fixtures/main.py,sha256=5QsbmkzSlSbcbWTG_JmIqcP-JNJzOPTKxGzdHos19W4,79
1281
1283
  vellum/workflows/nodes/displayable/code_execution_node/tests/test_code_execution_node.py,sha256=pvkvMOIL94vDP3KUrQh0OF1lELjEFJ6HIDEz5kUqbzo,3377
1282
- vellum/workflows/nodes/displayable/code_execution_node/utils.py,sha256=R0gVJVwn2g3caDr25LBj_mj9JUIbORSS-88MQkvSWQU,215
1284
+ vellum/workflows/nodes/displayable/code_execution_node/utils.py,sha256=JAoa0AUIDUHKuNVlsxlTD0RT5rX9K_7GAEACGz4XJas,613
1283
1285
  vellum/workflows/nodes/displayable/conditional_node/__init__.py,sha256=AS_EIqFdU1F9t8aLmbZU-rLh9ry6LCJ0uj0D8F0L5Uw,72
1284
- vellum/workflows/nodes/displayable/conditional_node/node.py,sha256=0IrCyzLksmYYxDwXQb9_E7E5y1rmxgtmXavfeCzSy04,1026
1286
+ vellum/workflows/nodes/displayable/conditional_node/node.py,sha256=SWfsEQ7G_y3yEnxzMhjtjHF4xZvFdFTds77LrFZHGUU,1020
1285
1287
  vellum/workflows/nodes/displayable/final_output_node/__init__.py,sha256=G7VXM4OWpubvSJtVkGmMNeqgb9GkM7qZT838eL18XU4,72
1286
1288
  vellum/workflows/nodes/displayable/final_output_node/node.py,sha256=iH3ZPOstPku_rg4h97Xz5FMaHWVRCjypaamAFzoJzJ0,1854
1287
1289
  vellum/workflows/nodes/displayable/guardrail_node/__init__.py,sha256=Ab5eXmOoBhyV4dMWdzh32HLUmnPIBEK_zFCT38C4Fng,68
1288
1290
  vellum/workflows/nodes/displayable/guardrail_node/node.py,sha256=vctOgn1gUYGIClknGciUjmDRFKlcEbIRZYvzgBaMiVo,3918
1289
1291
  vellum/workflows/nodes/displayable/inline_prompt_node/__init__.py,sha256=gSUOoEZLlrx35-tQhSAd3An8WDwBqyiQh-sIebLU9wU,74
1290
- vellum/workflows/nodes/displayable/inline_prompt_node/node.py,sha256=gZSiATdEwka07GkBm1F_CbqZLXNYdFAvFgT0vE2w1zA,1854
1292
+ vellum/workflows/nodes/displayable/inline_prompt_node/node.py,sha256=M4pUl2RO0a_094oCrtCmgo0rr_wKT_F3KN4y1eDFm4Y,2112
1291
1293
  vellum/workflows/nodes/displayable/merge_node/__init__.py,sha256=J8IC08dSH7P76wKlNuxe1sn7toNGtSQdFirUbtPDEs0,60
1292
1294
  vellum/workflows/nodes/displayable/merge_node/node.py,sha256=ZyPvcTgfPOneOm5Dc2kUOoPkwNJqwRPZSj232akXynA,324
1293
1295
  vellum/workflows/nodes/displayable/note_node/__init__.py,sha256=KWA3P4fyYJ-fOTky8qNGlcOotQ-HeHJ9AjZt6mRQmCE,58
1294
1296
  vellum/workflows/nodes/displayable/note_node/node.py,sha256=8rwP7RS1OOyQJ-ZuZBXTCtT2ZW8J6eGD59iKmq_pB24,258
1295
1297
  vellum/workflows/nodes/displayable/prompt_deployment_node/__init__.py,sha256=krX1Hds-TSVYZsx0wJFX4wsAKkEFYOX1ifwRGiIM-EA,82
1296
- vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=zEgOWgahPr-Jozd97xEqhX3ZelcHcMuKPMiOFb1igXE,2321
1298
+ vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=1GzSTUFiqjly7Uz-xSsEI5a4NZNv8ZEI_1C2oYwQKEg,2513
1297
1299
  vellum/workflows/nodes/displayable/search_node/__init__.py,sha256=hpBpvbrDYf43DElRZFLzieSn8weXiwNiiNOJurERQbs,62
1298
1300
  vellum/workflows/nodes/displayable/search_node/node.py,sha256=k7_S5yWFGZrIV1R5BsFIFSkOvmnbJK39pNmZD8XLCX4,1310
1299
1301
  vellum/workflows/nodes/displayable/subworkflow_deployment_node/__init__.py,sha256=9yYM6001YZeqI1VOk1QuEM_yrffk_EdsO7qaPzINKds,92
1300
- vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=HjKaQ8QaqmdEcwOIg2DoWk__l9cMpR4tYnZ51WQDThk,6714
1302
+ vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=JcMRX0dFYj3OETzkB7u3J6VFfRftYygHlFvrY266GYc,6776
1301
1303
  vellum/workflows/nodes/displayable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1302
1304
  vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py,sha256=UwNCIrq2gDpObcosrpiIHFdHZLWarmlS7ez8GanIBDc,4649
1303
1305
  vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=AZtodUoX_Fl_ZXDinutAxlsDsfcxEYS0nFL0mcBylW8,6955
1304
- vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=Ee2_1bvWycaVNzKGLsxAcu_3HNvTM_DiwDAeF20ZgBk,2497
1306
+ vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=t4ctc6MCwtvOOV4MG-xm-1w1A-ik0--_1es6yJ1qklU,2510
1305
1307
  vellum/workflows/nodes/utils.py,sha256=zY0b5WjJtGwVPPLY3ffHUdRREPvyoNwmJDigz5jQRAI,812
1306
1308
  vellum/workflows/outputs/__init__.py,sha256=AyZ4pRh_ACQIGvkf0byJO46EDnSix1ZCAXfvh-ms1QE,94
1307
1309
  vellum/workflows/outputs/base.py,sha256=aOll71CH_g1RaVO1wl038BqpWH70cD3XXSRxzH0YoRA,8002
1308
1310
  vellum/workflows/ports/__init__.py,sha256=bZuMt-R7z5bKwpu4uPW7LlJeePOQWmCcDSXe5frUY5g,101
1309
- vellum/workflows/ports/node_ports.py,sha256=OMbbwsy6h8wCCycWlll6nfDlEedVjBS7aaYUUYrN1DQ,2763
1310
- vellum/workflows/ports/port.py,sha256=4Y3heJglodE5svzq7om7e-5gqANqnbiqKD3ffQMGLVQ,2463
1311
+ vellum/workflows/ports/node_ports.py,sha256=GCsCejo2THT6Zxx_slegLbd5CvV6iPy9IOZOFjHkCXY,2753
1312
+ vellum/workflows/ports/port.py,sha256=iLYzjIoFk5HWpNyhySf8E1uIuJ3MbAeJGD3yOnnLY70,2843
1311
1313
  vellum/workflows/ports/utils.py,sha256=pEjVNJKw9LhD_cFN-o0MWBOW2ejno7jv26qqzjLxwS4,1662
1312
- vellum/workflows/references/__init__.py,sha256=tKHT1lePWOmDoPkrS7I2kPml_me9-WQwZmCoQzhU6k8,513
1314
+ vellum/workflows/references/__init__.py,sha256=glHFC1VfXmcbNvH5VzFbkT03d8_D7MMcvEcsUBrzLIs,591
1313
1315
  vellum/workflows/references/environment_variable.py,sha256=7FFtiKfc4eyVkkfUbhc666OBNDqvFlMoNQEYmGpEVVE,661
1314
1316
  vellum/workflows/references/execution_count.py,sha256=JILHqt8ELdc9ct-WsVCA5X-rKiP1rmJODw-XTf4kpHI,722
1315
1317
  vellum/workflows/references/external_input.py,sha256=ZSnRIjrTwpWuBcInZMvQQzcDgkeZ1r7-C7I4sRpDNy4,1658
@@ -1323,22 +1325,22 @@ vellum/workflows/references/workflow_input.py,sha256=epspVRZ9n_nxoTxI5Am3GDd2fpU
1323
1325
  vellum/workflows/resolvers/__init__.py,sha256=eH6hTvZO4IciDaf_cf7aM2vs-DkBDyJPycOQevJxQnI,82
1324
1326
  vellum/workflows/resolvers/base.py,sha256=WHra9LRtlTuB1jmuNqkfVE2JUgB61Cyntn8f0b0WZg4,411
1325
1327
  vellum/workflows/runner/__init__.py,sha256=i1iG5sAhtpdsrlvwgH6B-m49JsINkiWyPWs8vyT-bqM,72
1326
- vellum/workflows/runner/runner.py,sha256=hjE5n5IKr0mCyiNxtOMpe1mPV13kwhlHtJdMh_yBxBQ,24514
1327
- vellum/workflows/runner/types.py,sha256=mGTTmPjL0-vOVRAnazVuXUTsNoD-X7bFHdhfE1orRBE,583
1328
+ vellum/workflows/runner/runner.py,sha256=zqVjt4r7BuMou5oVFUglMPGshmQitUPfASBvATsfxGk,26770
1329
+ vellum/workflows/runner/types.py,sha256=UQIGqOuCDgxEQpoJr4ut3wAnAjp4scDWhNhEhYFyLrw,466
1328
1330
  vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
1329
1331
  vellum/workflows/state/base.py,sha256=gm4pun9BzYaZbW8I1j7EriUIlAzqQkKT3IBbXPh3FkA,12663
1330
1332
  vellum/workflows/state/context.py,sha256=tpJoOgmx7bmeNrQeOtavOfqTwBbtJCNDqjJ6ssh4gh8,464
1331
- vellum/workflows/state/encoder.py,sha256=jYwC_47gHyMuPRvshWBNJ1SxVXQ1SBCfxvq7iuHjV_g,1688
1333
+ vellum/workflows/state/encoder.py,sha256=kRrqwD0vFCiSRZR3rg8Sjkh8sDEerQQhlvmdSYQAOl8,1741
1332
1334
  vellum/workflows/state/store.py,sha256=VYGBQgN1bpd1as5eGiouV_7scg8QsRs4_1aqZAGIsRQ,793
1333
1335
  vellum/workflows/state/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1334
1336
  vellum/workflows/state/tests/test_state.py,sha256=BQjcdREIK1MPuGhivRUgpynVJLftjEpH9RG3cRKxQEY,3310
1335
- vellum/workflows/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1337
+ vellum/workflows/types/__init__.py,sha256=KxUTMBGzuRCfiMqzzsykOeVvrrkaZmTTo1a7SLu8gRM,68
1336
1338
  vellum/workflows/types/core.py,sha256=llsHFE3XKnVEk_pYoK0s9WUdeninSU5Kmoi7dU4GX0c,1804
1337
1339
  vellum/workflows/types/generics.py,sha256=ZkfoRhWs042i5IjA99v2wIhmh1u-Wieo3LzosgGWJVk,600
1338
1340
  vellum/workflows/types/stack.py,sha256=RDSGLkcV612ge8UuAH9TZiEGXxJt0Av2-H5rfzrTVVI,1014
1339
1341
  vellum/workflows/types/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1340
- vellum/workflows/types/tests/test_utils.py,sha256=PhpaFwhrX-TJX409MINh9Y4IEfkDX1OCkSqz6QSXQ9Q,2339
1341
- vellum/workflows/types/utils.py,sha256=vxMGvd-Ay-Nq3w1lmJKcGsiORDk3hu6Fg8dpCKZxEa8,5496
1342
+ vellum/workflows/types/tests/test_utils.py,sha256=hlCGh0GW_fY16oMSgu-Lih14TSZXcknWNFqMYCCkdeo,2433
1343
+ vellum/workflows/types/utils.py,sha256=rPQdiMkYgWp_6Iv6pRK0qjmxPrgf11FvaUS8z9i2Opw,5598
1342
1344
  vellum/workflows/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1343
1345
  vellum/workflows/utils/names.py,sha256=QLUqfJ1tmSEeUwBKTTiv_Qk3QGbInC2RSmlXfGXc8Wo,380
1344
1346
  vellum/workflows/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1348,8 +1350,8 @@ vellum/workflows/utils/vellum_variables.py,sha256=wbYejKwjy23ITDRfdGW4d181buvCbZ
1348
1350
  vellum/workflows/vellum_client.py,sha256=ODrq_TSl-drX2aezXegf7pizpWDVJuTXH-j6528t75s,683
1349
1351
  vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
1350
1352
  vellum/workflows/workflows/base.py,sha256=QxIm0zCic8P-y0NNLdqgC1YKTu-3TmMJ-wH1nUylguA,13689
1351
- vellum_ai-0.10.6.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1352
- vellum_ai-0.10.6.dist-info/METADATA,sha256=bYIQ3gBUlMApjanIg9j2P6B47ZUHUlzKZrBXmZlG_Xo,5128
1353
- vellum_ai-0.10.6.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
1354
- vellum_ai-0.10.6.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1355
- vellum_ai-0.10.6.dist-info/RECORD,,
1353
+ vellum_ai-0.10.8.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1354
+ vellum_ai-0.10.8.dist-info/METADATA,sha256=n5dQCMNsh-FaCOh5YMeDVzfusigZuus_UEjWSmFnK2Q,5128
1355
+ vellum_ai-0.10.8.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
1356
+ vellum_ai-0.10.8.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1357
+ vellum_ai-0.10.8.dist-info/RECORD,,
vellum_cli/__init__.py CHANGED
@@ -42,11 +42,30 @@ def push(
42
42
 
43
43
  @main.command()
44
44
  @click.argument("module", required=False)
45
- @click.option("--legacy-module", is_flag=True, help="Pull the workflow as a legacy module")
46
- @click.option("--include-json", is_flag=True, help="Include the JSON representation of the Workflow in the pull response. Should only be used for debugging purposes.")
47
- def pull(module: Optional[str], legacy_module: Optional[bool], include_json: Optional[bool]) -> None:
45
+ @click.option(
46
+ "--include-json",
47
+ is_flag=True,
48
+ help="Include the JSON representation of the Workflow in the pull response. Should only be used for debugging purposes.",
49
+ )
50
+ @click.option("--workflow-sandbox-id", type=str, help="Pull the Workflow from a specific Sandbox ID")
51
+ @click.option(
52
+ "--exclude-code",
53
+ is_flag=True,
54
+ help="Exclude the code definition of the Workflow from the pull response. Should only be used for debugging purposes.",
55
+ )
56
+ def pull(
57
+ module: Optional[str],
58
+ include_json: Optional[bool],
59
+ workflow_sandbox_id: Optional[str],
60
+ exclude_code: Optional[bool],
61
+ ) -> None:
48
62
  """Pull Workflow from Vellum"""
49
- pull_command(module, legacy_module, include_json)
63
+ pull_command(
64
+ module=module,
65
+ include_json=include_json,
66
+ workflow_sandbox_id=workflow_sandbox_id,
67
+ exclude_code=exclude_code,
68
+ )
50
69
 
51
70
 
52
71
  @main.group(aliases=["images", "image"])