vellum-ai 0.14.36__py3-none-any.whl → 0.14.38__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 (52) hide show
  1. vellum/__init__.py +8 -0
  2. vellum/client/core/client_wrapper.py +1 -1
  3. vellum/client/reference.md +6272 -0
  4. vellum/client/types/__init__.py +8 -0
  5. vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py +2 -0
  6. vellum/client/types/fulfilled_prompt_execution_meta.py +2 -0
  7. vellum/client/types/logical_operator.py +1 -0
  8. vellum/client/types/test_suite_run_exec_config_request.py +4 -0
  9. vellum/client/types/test_suite_run_prompt_sandbox_exec_config_data_request.py +27 -0
  10. vellum/client/types/test_suite_run_prompt_sandbox_exec_config_request.py +29 -0
  11. vellum/client/types/test_suite_run_workflow_sandbox_exec_config_data_request.py +22 -0
  12. vellum/client/types/test_suite_run_workflow_sandbox_exec_config_request.py +29 -0
  13. vellum/plugins/pydantic.py +1 -1
  14. vellum/types/test_suite_run_prompt_sandbox_exec_config_data_request.py +3 -0
  15. vellum/types/test_suite_run_prompt_sandbox_exec_config_request.py +3 -0
  16. vellum/types/test_suite_run_workflow_sandbox_exec_config_data_request.py +3 -0
  17. vellum/types/test_suite_run_workflow_sandbox_exec_config_request.py +3 -0
  18. vellum/workflows/events/node.py +2 -1
  19. vellum/workflows/events/types.py +3 -40
  20. vellum/workflows/events/workflow.py +2 -1
  21. vellum/workflows/inputs/base.py +2 -1
  22. vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py +96 -3
  23. vellum/workflows/nodes/displayable/conftest.py +2 -6
  24. vellum/workflows/nodes/displayable/guardrail_node/node.py +15 -7
  25. vellum/workflows/nodes/displayable/guardrail_node/test_node.py +25 -0
  26. vellum/workflows/nodes/displayable/guardrail_node/tests/__init__.py +0 -0
  27. vellum/workflows/nodes/displayable/guardrail_node/tests/test_node.py +50 -0
  28. vellum/workflows/nodes/displayable/prompt_deployment_node/tests/test_node.py +297 -0
  29. vellum/workflows/runner/runner.py +44 -43
  30. vellum/workflows/state/base.py +169 -36
  31. vellum/workflows/types/definition.py +71 -0
  32. vellum/workflows/types/generics.py +34 -1
  33. vellum/workflows/workflows/base.py +34 -0
  34. vellum/workflows/workflows/tests/test_base_workflow.py +270 -0
  35. {vellum_ai-0.14.36.dist-info → vellum_ai-0.14.38.dist-info}/METADATA +1 -1
  36. {vellum_ai-0.14.36.dist-info → vellum_ai-0.14.38.dist-info}/RECORD +52 -39
  37. vellum_ee/workflows/display/base.py +9 -7
  38. vellum_ee/workflows/display/nodes/__init__.py +2 -2
  39. vellum_ee/workflows/display/nodes/vellum/note_node.py +1 -2
  40. vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py +2 -0
  41. vellum_ee/workflows/display/nodes/vellum/tests/test_note_node.py +33 -0
  42. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py +3 -4
  43. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py +1 -1
  44. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py +0 -1
  45. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py +1 -0
  46. vellum_ee/workflows/display/types.py +6 -7
  47. vellum_ee/workflows/display/vellum.py +5 -9
  48. vellum_ee/workflows/display/workflows/base_workflow_display.py +20 -19
  49. vellum_ee/workflows/display/workflows/vellum_workflow_display.py +11 -37
  50. {vellum_ai-0.14.36.dist-info → vellum_ai-0.14.38.dist-info}/LICENSE +0 -0
  51. {vellum_ai-0.14.36.dist-info → vellum_ai-0.14.38.dist-info}/WHEEL +0 -0
  52. {vellum_ai-0.14.36.dist-info → vellum_ai-0.14.38.dist-info}/entry_points.txt +0 -0
@@ -1,4 +1,5 @@
1
1
  import pytest
2
+ from uuid import uuid4
2
3
 
3
4
  from vellum.workflows.edges.edge import Edge
4
5
  from vellum.workflows.inputs.base import BaseInputs
@@ -9,6 +10,14 @@ from vellum.workflows.state.base import BaseState
9
10
  from vellum.workflows.workflows.base import BaseWorkflow
10
11
 
11
12
 
13
+ class GlobalTestWorkflow(BaseWorkflow):
14
+ """
15
+ Used as part of `test_base_workflow__deserialize_state_with_invalid_workflow_definition` below.
16
+ """
17
+
18
+ pass
19
+
20
+
12
21
  def test_base_workflow__inherit_base_outputs():
13
22
  class MyNode(BaseNode):
14
23
  class Outputs(BaseNode.Outputs):
@@ -314,3 +323,264 @@ def test_workflow__unsupported_graph_item():
314
323
 
315
324
  # THEN it should raise an error
316
325
  assert "Unexpected graph type: <class 'int'>" in str(exc_info.value)
326
+
327
+
328
+ def test_base_workflow__deserialize_state():
329
+
330
+ # GIVEN a state definition
331
+ class State(BaseState):
332
+ bar: str
333
+
334
+ # AND an inputs definition
335
+ class Inputs(BaseInputs):
336
+ baz: str
337
+
338
+ # AND a node
339
+ class NodeA(BaseNode):
340
+ class Outputs(BaseNode.Outputs):
341
+ foo: str
342
+
343
+ # AND a workflow that uses all three
344
+ class TestWorkflow(BaseWorkflow[Inputs, State]):
345
+ graph = NodeA
346
+
347
+ # WHEN we deserialize the state
348
+ last_span_id = str(uuid4())
349
+ state = TestWorkflow.deserialize_state(
350
+ {
351
+ "bar": "My state bar",
352
+ "meta": {
353
+ "id": "b70a5a4f-8253-4a38-aeaf-0700b4783a78",
354
+ "trace_id": "9dcfb309-81e9-4b75-9b21-edd31cf9685f",
355
+ "span_id": "1c2e310c-3624-4f4f-b7ac-1e429de29bbf",
356
+ "updated_ts": "2025-04-14T19:22:18.504902",
357
+ "external_inputs": {},
358
+ "node_outputs": {
359
+ "test_base_workflow__deserialize_state.<locals>.NodeA.Outputs.foo": "My node A output foo"
360
+ },
361
+ "node_execution_cache": {
362
+ "dependencies_invoked": {
363
+ last_span_id: ["test_base_workflow__deserialize_state.<locals>.NodeA"],
364
+ },
365
+ "node_executions_initiated": {
366
+ "test_base_workflow__deserialize_state.<locals>.NodeA": [last_span_id],
367
+ },
368
+ "node_executions_fulfilled": {
369
+ "test_base_workflow__deserialize_state.<locals>.NodeA": [last_span_id],
370
+ },
371
+ "node_executions_queued": {
372
+ "test_base_workflow__deserialize_state.<locals>.NodeA": [],
373
+ },
374
+ },
375
+ "parent": None,
376
+ },
377
+ },
378
+ workflow_inputs=Inputs(baz="My input baz"),
379
+ )
380
+
381
+ # THEN the state should be correct
382
+ assert state.bar == "My state bar"
383
+ assert state.meta.node_outputs == {NodeA.Outputs.foo: "My node A output foo"}
384
+ assert isinstance(state.meta.workflow_inputs, Inputs)
385
+ assert state.meta.workflow_inputs.baz == "My input baz"
386
+
387
+ # AND the node execution cache should deserialize
388
+ assert state.meta.node_execution_cache
389
+
390
+
391
+ def test_base_workflow__deserialize_state_with_optional_inputs():
392
+
393
+ # GIVEN a state definition
394
+ class State(BaseState):
395
+ bar: str
396
+
397
+ # AND an inputs definition with an optional field
398
+ class Inputs(BaseInputs):
399
+ baz: str = "My default baz"
400
+
401
+ # AND a node
402
+ class NodeA(BaseNode):
403
+ class Outputs(BaseNode.Outputs):
404
+ foo: str
405
+
406
+ # AND a workflow that uses all three
407
+ class TestWorkflow(BaseWorkflow[Inputs, State]):
408
+ graph = NodeA
409
+
410
+ # WHEN we deserialize the state
411
+ state = TestWorkflow.deserialize_state(
412
+ {
413
+ "bar": "My state bar",
414
+ "meta": {
415
+ "node_outputs": {},
416
+ "parent": None,
417
+ },
418
+ },
419
+ )
420
+
421
+ # THEN the state should be correct
422
+ assert state.bar == "My state bar"
423
+ assert isinstance(state.meta.workflow_inputs, Inputs)
424
+ assert state.meta.workflow_inputs.baz == "My default baz"
425
+
426
+
427
+ def test_base_workflow__deserialize_nested_state():
428
+ # GIVEN a state definition
429
+ class State(BaseState):
430
+ foo: str
431
+
432
+ # AND a nested state definition
433
+ class NestedState(BaseState):
434
+ bar: str
435
+
436
+ # AND an inner node
437
+ class InnerNode(BaseNode):
438
+ class Outputs(BaseNode.Outputs):
439
+ baz: str
440
+
441
+ # AND a subworkflow definition with the nested state and inner node
442
+ class InnerWorkflow(BaseWorkflow[BaseInputs, NestedState]):
443
+ graph = InnerNode
444
+
445
+ # AND a subworkflow node
446
+ class OuterNode(InlineSubworkflowNode[State, BaseInputs, NestedState]):
447
+ subworkflow = InnerWorkflow
448
+
449
+ class Outputs(InlineSubworkflowNode.Outputs):
450
+ qux: str
451
+
452
+ # AND a workflow that uses the outer state and subworkflow node
453
+ class TestWorkflow(BaseWorkflow[BaseInputs, State]):
454
+ graph = OuterNode
455
+
456
+ # WHEN we deserialize the nested state
457
+ inner_node_output_definition = "test_base_workflow__deserialize_nested_state.<locals>.InnerNode.Outputs.baz"
458
+ outer_node_output_definition = "test_base_workflow__deserialize_nested_state.<locals>.OuterNode.Outputs.qux"
459
+ state = InnerWorkflow.deserialize_state(
460
+ {
461
+ "bar": "My nested state bar",
462
+ "meta": {
463
+ "workflow_definition": {
464
+ "id": str(InnerWorkflow.__id__),
465
+ "name": "test_base_workflow__deserialize_nested_state.<locals>.InnerWorkflow",
466
+ "module": ["vellum", "workflows", "workflows", "tests", "test_base_workflow"],
467
+ },
468
+ "node_outputs": {inner_node_output_definition: "My inner node output baz"},
469
+ "parent": {
470
+ "foo": "My outer state foo",
471
+ "meta": {
472
+ "node_outputs": {outer_node_output_definition: "My outer node output qux"},
473
+ "workflow_definition": {
474
+ "id": str(TestWorkflow.__id__),
475
+ "name": "test_base_workflow__deserialize_nested_state.<locals>.TestWorkflow",
476
+ "module": ["vellum", "workflows", "workflows", "tests", "test_base_workflow"],
477
+ },
478
+ },
479
+ },
480
+ },
481
+ },
482
+ )
483
+
484
+ # THEN the state should be correct
485
+ assert state.bar == "My nested state bar"
486
+ assert state.meta.node_outputs == {InnerNode.Outputs.baz: "My inner node output baz"}
487
+ assert state.meta.workflow_definition == InnerWorkflow
488
+
489
+ # AND the parent state should be correct
490
+ assert isinstance(state.meta.parent, State)
491
+ assert state.meta.parent.foo == "My outer state foo"
492
+ assert state.meta.parent.meta.node_outputs == {OuterNode.Outputs.qux: "My outer node output qux"}
493
+ assert state.meta.parent.meta.workflow_definition == TestWorkflow
494
+
495
+
496
+ def test_base_workflow__deserialize_state_with_none():
497
+
498
+ # GIVEN a state definition
499
+ class State(BaseState):
500
+ bar: str
501
+
502
+ # AND an inputs definition
503
+ class Inputs(BaseInputs):
504
+ baz: str
505
+
506
+ # AND a node
507
+ class NodeA(BaseNode):
508
+ class Outputs(BaseNode.Outputs):
509
+ foo: str
510
+
511
+ # AND a workflow that uses all three
512
+ class TestWorkflow(BaseWorkflow[Inputs, State]):
513
+ graph = NodeA
514
+
515
+ # WHEN we deserialize None
516
+ state = TestWorkflow.deserialize_state(None)
517
+
518
+ # THEN we should get back None
519
+ assert state is None
520
+
521
+
522
+ @pytest.mark.parametrize(
523
+ "raw_workflow_definition",
524
+ [
525
+ {
526
+ "name": "test_base_workflow__deserialize_state_with_invalid_workflow_definition.<locals>.TestWorkflow",
527
+ "module": ["invalid", "module", "path"],
528
+ },
529
+ {
530
+ "name": "test_base_workflow__deserialize_state_with_invalid_workflow_definition.<locals>.InvalidWorkflow",
531
+ "module": ["vellum", "workflows", "workflows", "tests", "test_base_workflow"],
532
+ },
533
+ {
534
+ "name": "invalid_local_function_name.<locals>.TestWorkflow",
535
+ "module": ["vellum", "workflows", "workflows", "tests", "test_base_workflow"],
536
+ },
537
+ {
538
+ "name": "GlobalTestWorkflow",
539
+ "module": ["invalid", "module", "path"],
540
+ },
541
+ {
542
+ "name": "InlineSubworkflowNode",
543
+ "module": ["vellum", "workflows", "workflows", "tests", "test_base_workflow"],
544
+ },
545
+ {
546
+ "name": "InvalidWorkflow",
547
+ "module": ["vellum", "workflows", "workflows", "tests", "test_base_workflow"],
548
+ },
549
+ ],
550
+ ids=[
551
+ "invalid_module_path_with_locals",
552
+ "invalid_local_name",
553
+ "invalid_local_container",
554
+ "invalid_global_module",
555
+ "invalid_global_name",
556
+ "missing_global_name",
557
+ ],
558
+ )
559
+ def test_base_workflow__deserialize_state_with_invalid_workflow_definition(raw_workflow_definition):
560
+
561
+ # GIVEN a state definition
562
+ class State(BaseState):
563
+ bar = "My default bar"
564
+
565
+ # AND a workflow
566
+ class TestWorkflow(BaseWorkflow[BaseInputs, State]):
567
+ pass
568
+
569
+ # WHEN we deserialize a state with an invalid module path
570
+ state = TestWorkflow.deserialize_state(
571
+ {
572
+ "meta": {
573
+ "workflow_definition": {
574
+ "id": str(TestWorkflow.__id__),
575
+ **raw_workflow_definition,
576
+ },
577
+ },
578
+ },
579
+ )
580
+
581
+ # THEN we should get back the default state
582
+ assert isinstance(state, State)
583
+ assert state.bar == "My default bar"
584
+
585
+ # AND the workflow definition should be BaseWorkflow
586
+ assert state.meta.workflow_definition == BaseWorkflow
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.14.36
3
+ Version: 0.14.38
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.9,<4.0
@@ -22,10 +22,10 @@ vellum_ee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
22
  vellum_ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
23
  vellum_ee/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
24
  vellum_ee/workflows/display/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
- vellum_ee/workflows/display/base.py,sha256=swJqgFOhlbe7-FzdPYE1GgX4oq0t2UoyXZs_yM0JIY4,2307
25
+ vellum_ee/workflows/display/base.py,sha256=em2kgLWBk74fiDoDDp-smL0IFmDjMPtd8F4mx10NPTg,2229
26
26
  vellum_ee/workflows/display/editor/__init__.py,sha256=MSAgY91xCEg2neH5d8jXx5wRdR962ftZVa6vO9BGq9k,167
27
27
  vellum_ee/workflows/display/editor/types.py,sha256=x-tOOCJ6CF4HmiKDfCmcc3bOVfc1EBlP5o6u5WEfLoY,567
28
- vellum_ee/workflows/display/nodes/__init__.py,sha256=436iSAh_Ex5tC68oEYvNgPu05ZVIAVXnS4PKGrQeZ0Y,321
28
+ vellum_ee/workflows/display/nodes/__init__.py,sha256=jI1aPBQf8DkmrYoZ4O-wR1duqZByOf5mDFmo_wFJPE4,307
29
29
  vellum_ee/workflows/display/nodes/base_node_display.py,sha256=cHK2OxeM2gWOshMHjaDHxWbRxvjkNHxOXbajjkrgk1w,19094
30
30
  vellum_ee/workflows/display/nodes/base_node_vellum_display.py,sha256=WXbfVoGHTfl_owas2WKHwcRhfLeu0cAI4qLmKxfxjOs,1707
31
31
  vellum_ee/workflows/display/nodes/get_node_display_class.py,sha256=59Nht1XAxMcNESFV1VmECrF01lZMnGkB_9JWaTAFnv0,2214
@@ -45,8 +45,8 @@ vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=86hkneLIBS
45
45
  vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=MU9I8CB1X1TgL1aa1eT6DHWwNJ-2v79t74xl0oy-fBo,5510
46
46
  vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=8CPnn06HIBxBOiECevUffeVmQmCpec6WtPQnNl9gj9Y,3748
47
47
  vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=xtyecs9mJ_WEwVpP12jxYwvehLXynhqLrPJ-Ahdk2GA,3232
48
- vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=TMb8txILu2uWjzoxaghjgjlzeBAgzn4vkP_8zSh2qoE,1151
49
- vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=9YR6MtxVq8Bavb0ud2lZX0t2Y_NUd-dY9kRgq8WBz-Y,3093
48
+ vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=DQzzhVGVZf812DkpQZoVYJcDsIOtjkm_sCX3oDLks2Y,1103
49
+ vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=yAiWMeKs6jEecRdWfTjqxLmnGLeBPguaVsBD7xcOV94,3263
50
50
  vellum_ee/workflows/display/nodes/vellum/retry_node.py,sha256=LgokATi7sSS38Fil-XjqoR4t7AMOJ-GzXRw6p606Svo,3397
51
51
  vellum_ee/workflows/display/nodes/vellum/search_node.py,sha256=Hn55mKO1Q6BBspQtbsurvJJqX7RjSSuEyRjUW29xvg0,9279
52
52
  vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=62baAElKoRKIoba0lLhnrXGWWx96B73VxKGxh7BaIxc,2612
@@ -54,6 +54,7 @@ vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=5EWzdA3TSUPlb
54
54
  vellum_ee/workflows/display/nodes/vellum/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py,sha256=p0fCvbKzpGvVrg67QmJd14m9E8_DG0u5s6SYIhzlkNA,4018
56
56
  vellum_ee/workflows/display/nodes/vellum/tests/test_error_node.py,sha256=ulrpoYUW-5kIxfG4Lf5F2p0k_EoYKhmahEbF3P_eruM,1648
57
+ vellum_ee/workflows/display/nodes/vellum/tests/test_note_node.py,sha256=Xx_2qi956tc6QoWr3MxlTBp48xJEErj8LHIsMfEi1vU,1356
57
58
  vellum_ee/workflows/display/nodes/vellum/tests/test_prompt_node.py,sha256=fu9nxD4FInSfKbipJJ7UE617VkeUWs_uS6SeEz_8-Iw,4691
58
59
  vellum_ee/workflows/display/nodes/vellum/tests/test_retry_node.py,sha256=NuIw8Yb42KUdoGi3Ur8_7VPg50IC4hNrwAkCociwqNk,2091
59
60
  vellum_ee/workflows/display/nodes/vellum/tests/test_templating_node.py,sha256=Us32jf_FQnLuT4Bs2o5JyHxihCTAN8ozZghWIR0pl9k,3459
@@ -65,7 +66,7 @@ vellum_ee/workflows/display/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
65
66
  vellum_ee/workflows/display/tests/test_vellum_workflow_display.py,sha256=VD-4USiRlCcdC3Qe9WfdkxwFdircai0vqvuZCbELR84,9556
66
67
  vellum_ee/workflows/display/tests/workflow_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
68
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py,sha256=f3EKg65yq5TgyK9yx6D2XmTYLgAF5eYp5gWKS4x-Fhc,2229
69
+ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py,sha256=GzDx9JX9yBDgsHk1x58cmjChC9tPMUtlaqOSxO5CJxQ,2069
69
70
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py,sha256=4R8cZ98JsGmIq-kmt3q519c4nCI7wCy5ynAUCUNnvuI,15605
70
71
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py,sha256=PXoNUAgqfyNCAoYGWoo5D-_5SLEannn7SD08nxZmVe8,19781
71
72
  vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py,sha256=s6_mnk0pkztU59wYpSfOFpMhAJaRjmyfxM6WJGtnD4Y,6456
@@ -74,31 +75,31 @@ vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trig
74
75
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=EdLwx6iUEMrQd68UIlACa9DQguomcu621MOYuXmunig,15908
75
76
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=V__y7uu-dy6TJjPeu4UDvaoO2yYwBRbPiW9uJdzWRx4,29828
76
77
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=6ejs_C1cuaRHtc8Qb2qh8-b-juDwLwdfTBd-6CSDDYw,47672
77
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py,sha256=WebMmamSwRykxcilhiNG1XTxI88VydCgPFavF-gSqWk,8820
78
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py,sha256=FKojL_YddJ-PEZ9n0IKedD2qI0JQtnXRTfMXBPPB9HU,8821
78
79
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=wgedEa2IVP2ssH_FLghoEmLgpJR41AY-iNIw1SESeqA,6106
79
80
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py,sha256=THQB73vAgdiRRk7GKWwzw99G-X3LLgEEVCb4QCQrrMQ,5773
80
81
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py,sha256=aWZ3XIquyKeS199VayYVA7qVjXdvPepGG8UkNt0osIU,7446
81
82
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_prompt_node_serialization.py,sha256=XRtXTWtNXHe1g8E_mNcAhYZVjc0UcGlJRjq34_sd0jo,787
82
83
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py,sha256=nZ3IOZSX3cOg4XV5-PW-Hsu806vfzmOZyCpZyl1I50w,20605
83
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=8GakAJmf140XzQRZyr-BbZUt22h0lZKUFhNZY4zlD4g,16172
84
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py,sha256=3uWphk9TeyZ5Ila2wBIDIjQfbr62bHQ6TNpRgBVIP98,16150
84
85
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py,sha256=QifoIZja04F1ulMhKlfZHtOqhAWrbUXlnQpybBBzNdw,8449
85
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=-bGp82C5_XgcVxeM80zWL9viogxvE4DGk7-5H__wwxA,8649
86
+ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py,sha256=J7BQnYNjS8EFy6y4hYRFKoh33EGXz7vFSCKPOM6v2Zk,8713
86
87
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py,sha256=elc4ak2OyI4y5P6GPnK2RwuZLcx4FL6hHlmhY3ARk6k,13008
87
88
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=BzFNl9ECeGh0krm-CUjbBQQq0g7krANsp0Sh-j5dAkc,11322
88
89
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py,sha256=qjaXGw0JTnPnQmDAFm7jkB3bVkApf-WQ0Gd6kptqdPA,7818
89
90
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=UrueKI15Ez-DRfZpZH82o127v0LRXLP-s308kjDTPMI,4084
90
91
  vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=eD5686C9nWC5s6t08vbAnm9qf9t53gYQM-E1FwAa75c,3035
91
92
  vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=zXTjfjUdji0WBu6ZhocvM4UiXEWFJIpds24sxV9TZT0,7714
92
- vellum_ee/workflows/display/types.py,sha256=XNudHX8AyvU3657QQ37_sDULwf-EnLAOS3aQZGq7Zmw,2495
93
+ vellum_ee/workflows/display/types.py,sha256=nERYzMC-TqoQuRN8QtF2ZLr-56G7XgXJqLtn8qQMQqs,2442
93
94
  vellum_ee/workflows/display/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
95
  vellum_ee/workflows/display/utils/expressions.py,sha256=2u2o8Fqr-2C45FII01ej5rt6i8n2EEGiliXugK7buVw,1210
95
96
  vellum_ee/workflows/display/utils/vellum.py,sha256=Pzmg9Xiq-hRaYxbOSDaJhIAQ4A0apQN6dURn_h5DnWI,9364
96
- vellum_ee/workflows/display/vellum.py,sha256=s1ARDF8miRDwFXFIMsmFzyyUOTE5MNjri8fGhfpZeF4,3701
97
+ vellum_ee/workflows/display/vellum.py,sha256=o7mq_vk2Yapu9DDKRz5l76h8EmCAypWGQYe6pryrbB8,3576
97
98
  vellum_ee/workflows/display/workflows/__init__.py,sha256=kapXsC67VJcgSuiBMa86FdePG5A9kMB5Pi4Uy1O2ob4,207
98
- vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=6YIUU1KiKdVdpAzjaACOlMPxFmqhLCWNh8-1Qj8fEfI,20879
99
+ vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=UbUalLL_CDFIEnqN-uFv8Ms06AMxDmQPx9HQ1oocBno,20979
99
100
  vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=kp0u8LN_2IwshLrhMImhpZx1hRyAcD5gXY-kDuuaGMQ,1269
100
101
  vellum_ee/workflows/display/workflows/tests/test_workflow_display.py,sha256=nD6_lZnNp56siVJwhlWzSEHdMaSKjvWlsJa31SqfQAE,10623
101
- vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=AzGZ7ApiwXAHuymTJoXJketUegyC1dmB1blzoni5eh8,13423
102
+ vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=f-Js7M_WbFp_3mPTv191xC4GoGyWbITrvZSGdiqDcU4,12436
102
103
  vellum_ee/workflows/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
103
104
  vellum_ee/workflows/server/virtual_file_loader.py,sha256=7JphJcSO3H85qiC2DpFfBWjC3JjrbRmoynBC6KKHVsA,2710
104
105
  vellum_ee/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -123,12 +124,12 @@ vellum_ee/workflows/tests/local_workflow/workflow.py,sha256=A4qOzOPNwePYxWbcAgIP
123
124
  vellum_ee/workflows/tests/test_display_meta.py,sha256=C25dErwghPNXio49pvSRxyOuc96srH6eYEwTAWdE2zY,2258
124
125
  vellum_ee/workflows/tests/test_server.py,sha256=SsOkS6sGO7uGC4mxvk4iv8AtcXs058P9hgFHzTWmpII,14519
125
126
  vellum_ee/workflows/tests/test_virtual_files.py,sha256=TJEcMR0v2S8CkloXNmCHA0QW0K6pYNGaIjraJz7sFvY,2762
126
- vellum/__init__.py,sha256=hl6RSGwdQetF5BV0k-8eGbGDVhdnZDpYX7MQXpZ4c-0,41308
127
+ vellum/__init__.py,sha256=430zRtvdyz4CCMrfuVGV376v3E2yT_mIjZun7qe5qek,41724
127
128
  vellum/client/README.md,sha256=JkCJjmMZl4jrPj46pkmL9dpK4gSzQQmP5I7z4aME4LY,4749
128
129
  vellum/client/__init__.py,sha256=Z-JHK2jGxhtTtmkLeOaUGGJWIUNYGNVBLvUewC6lp6w,118148
129
130
  vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
130
131
  vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
131
- vellum/client/core/client_wrapper.py,sha256=xLCZEpnqwYGxZRQKKBufqucpuc1GH4onEtUKV7qvzdM,1869
132
+ vellum/client/core/client_wrapper.py,sha256=AgCSD62C0H6UZT5KMnqofnXDVF4tqxpuR550TMlFN0Q,1869
132
133
  vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
133
134
  vellum/client/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
134
135
  vellum/client/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
@@ -144,6 +145,7 @@ vellum/client/errors/bad_request_error.py,sha256=_EbO8mWqN9kFZPvIap8qa1lL_EWkRcs
144
145
  vellum/client/errors/forbidden_error.py,sha256=QO1kKlhClAPES6zsEK7g9pglWnxn3KWaOCAawWOg6Aw,263
145
146
  vellum/client/errors/internal_server_error.py,sha256=8USCagXyJJ1MOm9snpcXIUt6eNXvrd_aq7Gfcu1vlOI,268
146
147
  vellum/client/errors/not_found_error.py,sha256=tBVCeBC8n3C811WHRj_n-hs3h8MqwR5gp0vLiobk7W8,262
148
+ vellum/client/reference.md,sha256=iTxdizCeS4bP5BFv_sR6BUI0gzHA8cMkA9KHpQq0ZD4,88081
147
149
  vellum/client/resources/__init__.py,sha256=XgQao4rJxyYu71j64RFIsshz4op9GE8-i-C5GCv-KVE,1555
148
150
  vellum/client/resources/ad_hoc/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
149
151
  vellum/client/resources/ad_hoc/client.py,sha256=_liorv4AsoJ55kVu0a5oWB3Qeff0iUKXqoHEIyDWLxc,14173
@@ -195,10 +197,10 @@ vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCat
195
197
  vellum/client/resources/workspace_secrets/client.py,sha256=h7UzXLyTttPq1t-JZGMg1BWxypxJvBGUdqg7KGT7MK4,8027
196
198
  vellum/client/resources/workspaces/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
197
199
  vellum/client/resources/workspaces/client.py,sha256=RthwzN1o-Jxwg5yyNNodavFyNUSxfLoTv26w3mRR5g8,3595
198
- vellum/client/types/__init__.py,sha256=vfEaeh8-2xzhzeFo8j-OnbmezsjCd4EJS4zhxuw_JbE,62505
200
+ vellum/client/types/__init__.py,sha256=IIfGVNuXgBGmwm0-_BIpFzo9VQAGABBLytDlZwKkNyA,63167
199
201
  vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
200
202
  vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
201
- vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
203
+ vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=oDG60TpwK1YNSKhRsBbiP2O3ZF9PKR-M9chGIfKw4R4,1004
202
204
  vellum/client/types/ad_hoc_initiated_prompt_execution_meta.py,sha256=gOHP4kmnVCJJkTpfRPOgkFB70mhz5ySg_c2qRffDGWQ,785
203
205
  vellum/client/types/ad_hoc_rejected_prompt_execution_meta.py,sha256=Yo3TNjemHUfxU9R3EMzAGh-ey9pSClpEX7uGgGZiXDg,849
204
206
  vellum/client/types/ad_hoc_streaming_prompt_execution_meta.py,sha256=OVSyUL81lpkbXdxnQmPD6qPIxrErEDAgDofQ9lGWLXk,741
@@ -329,7 +331,7 @@ vellum/client/types/fulfilled_ad_hoc_execute_prompt_event.py,sha256=19rFjVrzobaa
329
331
  vellum/client/types/fulfilled_execute_prompt_event.py,sha256=E-iBwlMWvwQyRfzqPlgtX8KurE3IYsTRd5vWjXtbOmk,994
330
332
  vellum/client/types/fulfilled_execute_prompt_response.py,sha256=nKhDk2ZloCuE0uijX5XOE63_cq8PBo4UWs4hK4e3jUE,1227
331
333
  vellum/client/types/fulfilled_execute_workflow_workflow_result_event.py,sha256=kYlTOfJd9SydVSmJ8dr8pdLh7RHOwcFv5UzBYgKlyTw,1147
332
- vellum/client/types/fulfilled_prompt_execution_meta.py,sha256=sMWAMqJCh8n_NBtRSM4muiAqKne_W-NCxJVzKy9Q1Ec,934
334
+ vellum/client/types/fulfilled_prompt_execution_meta.py,sha256=yUn1X3zqfvh60U6Kd3Z9YUxcNU0LyjfLPMKbwLTo7AU,999
333
335
  vellum/client/types/fulfilled_workflow_node_result_event.py,sha256=dYZUcyl_nFRFpBA_imaHkp9F7dLi59z2ESq4R7do9mo,1403
334
336
  vellum/client/types/function_call.py,sha256=3f19emMu06jHo3DlO4pQb_bC7NjKCLjWdLq3gndiCqg,713
335
337
  vellum/client/types/function_call_chat_message_content.py,sha256=qXbrMQeXn_CLjfDzQvv9llmae2wvpoTlUSQWdfMvf-k,831
@@ -380,7 +382,7 @@ vellum/client/types/json_input.py,sha256=ZUA2O9YueBCx0IMMdB8uYNSWJiSDZxMm5ogwbwC
380
382
  vellum/client/types/json_input_request.py,sha256=x5sA-VXxF4QH-98xRcIKPZhsMVbnJNUQofiUQqyfGk4,768
381
383
  vellum/client/types/json_vellum_value.py,sha256=8irlw6NkRRVafysfTc1Q5BFFhRrWJYzdwrDYTdJK4JY,689
382
384
  vellum/client/types/json_vellum_value_request.py,sha256=IUlkdwFGgBeLl9sCmAJhoaxomWiEMpWgRcLa_WnlK8g,696
383
- vellum/client/types/logical_operator.py,sha256=_3-gBnfsz4g5-sw5_ThRuS0NdNLQ2n2vV2Dl1RqbXe4,617
385
+ vellum/client/types/logical_operator.py,sha256=mfRXK3dWLcqt2tHTgNXynEXdMDh32yI4MUade3smI7Q,636
384
386
  vellum/client/types/logprobs_enum.py,sha256=D_458cZX2CAb6dX_ovrQ6HARlJkYcZRadKwsi1Cr-JM,151
385
387
  vellum/client/types/map_node_result.py,sha256=e2YqEP-aKig2TbbZIlfn5LCeVEVhEJJBR7o7xTBKXaY,752
386
388
  vellum/client/types/map_node_result_data.py,sha256=3xJXC1JrS9lo3-3_u1S79sYwLxMknNntDyspN24vQzY,699
@@ -612,7 +614,7 @@ vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data.py,sh
612
614
  vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data_request.py,sha256=cUr9LN4YLxkyMXI3wwemmKZtvxSi9K79kPJrmRyknKc,935
613
615
  vellum/client/types/test_suite_run_deployment_release_tag_exec_config_request.py,sha256=fyBRNbErOr1ixYs84JbvqM9yPEH1D-LDsfGVhIgsdZ4,1192
614
616
  vellum/client/types/test_suite_run_exec_config.py,sha256=CwsiCKjkRb2S9YJdQYRtnKU87CzbimPyswBwRriv004,879
615
- vellum/client/types/test_suite_run_exec_config_request.py,sha256=bXR2LXwc6T7WtgVa0HCkJuDg1H1TFB01CpCdb-hoqWc,1014
617
+ vellum/client/types/test_suite_run_exec_config_request.py,sha256=GNeLff_kZSWa8gTOc-uGdbea0cF3ESZn5cniCtWon6A,1328
616
618
  vellum/client/types/test_suite_run_execution.py,sha256=x0tjfFMSEl5hr1ZAh9r-2m3gQCbhKNZBGu5_6ANLgiU,1091
617
619
  vellum/client/types/test_suite_run_execution_array_output.py,sha256=fnGLAXY6NC8uJKK2500lsRXDvugjfIBJiDAfWDg1sUo,1101
618
620
  vellum/client/types/test_suite_run_execution_chat_history_output.py,sha256=tzeWqczo04aXl-ALhfOHYEabrgOIqmG7E-nA5-l3dME,879
@@ -635,6 +637,8 @@ vellum/client/types/test_suite_run_metric_json_output.py,sha256=DI3mJR5kpi8Hm2n6
635
637
  vellum/client/types/test_suite_run_metric_number_output.py,sha256=8pddeSds6Rrn0xGqyvgPsG1hr1tu6eOiQAp8kkM_aBk,739
636
638
  vellum/client/types/test_suite_run_metric_output.py,sha256=z9A4_ZT9_NIHWHkFZakaf_SMn3Y13WRJ_lWzTCzXZ_U,691
637
639
  vellum/client/types/test_suite_run_metric_string_output.py,sha256=YXerGfpvJdBtKrzgutSqEfG-N6cZoeOL59qZ5k6DwQA,737
640
+ vellum/client/types/test_suite_run_prompt_sandbox_exec_config_data_request.py,sha256=FrUaFEfdZq4lyGaC_ZQpq0EyXB7_nRF865h13F-_ihs,870
641
+ vellum/client/types/test_suite_run_prompt_sandbox_exec_config_request.py,sha256=E2W0Ec6Yy6NGHzG-sPe8bYw09g3L_H7TQhh_2I9UNLc,1135
638
642
  vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py,sha256=NUJXSSLxOxVAGOoQj74m5UqjCTCCeEIgbWGP6kM2Fck,1200
639
643
  vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py,sha256=IdlTWDda1061PwsHaoGDyB7-2lBVSus7Z8agcdmSOYE,905
640
644
  vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py,sha256=0XxaQKR-pb__We2EDSoiKTcz3v-nKodIYtnwFXFQ_GM,912
@@ -646,6 +650,8 @@ vellum/client/types/test_suite_run_workflow_release_tag_exec_config.py,sha256=0A
646
650
  vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data.py,sha256=Omps96mVTbhyg8ZknhAdtAC4TU4J1OG_Y2yqwlovNbU,941
647
651
  vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data_request.py,sha256=n3rbUAmoqjn-U-C6GJL-zVJJf0n_J-6rLIeH0tm3Ixg,948
648
652
  vellum/client/types/test_suite_run_workflow_release_tag_exec_config_request.py,sha256=tEknB5YPt5zLKTkXnsuWaPRkFPHpIDQImREmlONfMIo,1182
653
+ vellum/client/types/test_suite_run_workflow_sandbox_exec_config_data_request.py,sha256=Ay_JkgQmptHJbgbWoLQcr-c8pYFfsMqRCM0xxIdmQ3I,707
654
+ vellum/client/types/test_suite_run_workflow_sandbox_exec_config_request.py,sha256=mmNKQA6Qv0MMZkpS96NBdhZGBRYbUs2vQXCURnsCmw0,1149
649
655
  vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config.py,sha256=2scqgAbRo6j7cYV2NZO1VMio5WOwJG_97IxXVqC4G18,1214
650
656
  vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py,sha256=FPIw8GlWh5cH6af2_Y7wS98j_Zi9O0G1JIMBsej__i0,915
651
657
  vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py,sha256=Q8aYzR-AJ18_s7KJfBZeb8jbFxhZVfk1qQvhO7ShGH0,922
@@ -802,7 +808,7 @@ vellum/evaluations/utils/env.py,sha256=Xj_nxsoU5ox06EOTjRopR4lrigQI6Le6qbWGltYoE
802
808
  vellum/evaluations/utils/exceptions.py,sha256=dXMAkzqbHV_AP5FjjbegPlfUE0zQDlpA3qOsoOJUxfg,49
803
809
  vellum/evaluations/utils/paginator.py,sha256=rEED_BJAXAM6tM1yMwHePNzszjq_tTq4NbQvi1jWQ_Q,697
804
810
  vellum/plugins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
805
- vellum/plugins/pydantic.py,sha256=_kx82JIA050R67QAimgR7NQTuweSP7xLGW4qHLIepo4,3609
811
+ vellum/plugins/pydantic.py,sha256=j4ApZ5WyaoCX6v54qNoShhMFyft_uKWTkyAFz5wbcgg,3619
806
812
  vellum/plugins/utils.py,sha256=cPmxE9R2CK1bki2jKE8rB-G9zMf2pzHjSPDHFPXwd3Q,878
807
813
  vellum/plugins/vellum_mypy.py,sha256=QTuMSq6PiZW1dyTUZ5Bf1d4XkgFj0TKAgZLP8f4UgL4,27914
808
814
  vellum/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1304,6 +1310,8 @@ vellum/types/test_suite_run_metric_json_output.py,sha256=mZIXhFS0IoauRhNhwtO_nBe
1304
1310
  vellum/types/test_suite_run_metric_number_output.py,sha256=FRat-EjmPl4eyK307tPnQ8U3prAPsqgXVLdRmYXxaGw,173
1305
1311
  vellum/types/test_suite_run_metric_output.py,sha256=QvexO_ontwejyAQBipmrvTMxJRZrFu5ja_g8HBjDpiI,166
1306
1312
  vellum/types/test_suite_run_metric_string_output.py,sha256=_az-yxsYHgariEfKeFN1UtCyW1rXxCiOsVZj-INNqa8,173
1313
+ vellum/types/test_suite_run_prompt_sandbox_exec_config_data_request.py,sha256=_AVqGprc3VUZwDrnieSETimiJ3lEHxuuQlQEb29yfV4,192
1314
+ vellum/types/test_suite_run_prompt_sandbox_exec_config_request.py,sha256=wDlHjrkMPdexhv5lN4hr0BMprSLKohXjnALJx44N7CE,187
1307
1315
  vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config.py,sha256=aShS-YpR-mxoj59s1pF1qSx7NWSrUSuDC59kXesT33Y,192
1308
1316
  vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py,sha256=5E1ZUYAwlZBAzyurmLsHMhdQJZmI-_neQU49cyDQH_0,197
1309
1317
  vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py,sha256=7JsZ1nGze0m2o4RvaJOpz6TcqDgCz29HhzzBPGr1eow,205
@@ -1315,6 +1323,8 @@ vellum/types/test_suite_run_workflow_release_tag_exec_config.py,sha256=yc9NhLbDb
1315
1323
  vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py,sha256=g1i2knCRKE7ah_u96zvm1zIi5xfZTQFsGTDtCfMGBcE,190
1316
1324
  vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py,sha256=e8JSECW9A0LT6Iv6PyAZOiSTczwg_954MYq4kGjn5DY,198
1317
1325
  vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py,sha256=L2bYpTz9AEDwHXT1Ev9qMHLUStjjwP3iJMyTixdroOU,193
1326
+ vellum/types/test_suite_run_workflow_sandbox_exec_config_data_request.py,sha256=MEUFx67NIvckNSzQ-TY3iZy5p9QlO11tIxBq3G6bbR0,194
1327
+ vellum/types/test_suite_run_workflow_sandbox_exec_config_request.py,sha256=9XlGG4AggN37tpBdzwgniWIWivrbQ537OtLOhEsTGDQ,189
1318
1328
  vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config.py,sha256=PMXrCIw1mn3tvdR-OwYxPToejzu8MNTHubgRwW2Ul68,194
1319
1329
  vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py,sha256=vdh41Vg4O1UjQi1BsHBaLsfvxSbWbou73VPAGcSOkCc,199
1320
1330
  vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py,sha256=An3z8020xLUVjvjJrW-Rqe_CPRQkuiuq740Z1SXB19Y,207
@@ -1473,11 +1483,11 @@ vellum/workflows/environment/environment.py,sha256=0XhJPBs8YASWmvPx8bkSdCvcbDmzp
1473
1483
  vellum/workflows/errors/__init__.py,sha256=tWGPu5xyAU8gRb8_bl0fL7OfU3wxQ9UH6qVwy4X4P_Q,113
1474
1484
  vellum/workflows/errors/types.py,sha256=tVW7Il9zalnwWzdoDLqYPIvRTOhXIv6FPORZAbU7n5Q,3640
1475
1485
  vellum/workflows/events/__init__.py,sha256=6pxxceJo2dcaRkWtkDAYlUQZ-PHBQSZytIoyuUK48Qw,759
1476
- vellum/workflows/events/node.py,sha256=jbmNHjdp331Q1IRK-AWtAxwF6Lidb9R7__N5rQuilE8,5401
1486
+ vellum/workflows/events/node.py,sha256=TaawUxKaZG8cv_GkiKnJmjOmC4Ic0wMlsxUduF2Rbpw,5446
1477
1487
  vellum/workflows/events/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1478
1488
  vellum/workflows/events/tests/test_event.py,sha256=WRxjOO1470rFH40O56RWjhonIdupW782h_FRAhIQZCQ,17823
1479
- vellum/workflows/events/types.py,sha256=cKXEZEZ4C_O38CH-qiu8nYSMy2DVJ66lQayJO5A-haU,5690
1480
- vellum/workflows/events/workflow.py,sha256=xdqU6WOexaAqzJbU2Zw42o2LJhK7SDPtTFO5REGv17I,7293
1489
+ vellum/workflows/events/types.py,sha256=LwgFlMRbptJvdPtPO1POUtGtbhGw7BSuvgHxNSgS7N8,4652
1490
+ vellum/workflows/events/workflow.py,sha256=WL6RDtlPnTHNGvR6Vk7KQG1AvgnOaBnnmSG8VZnYkKI,7338
1481
1491
  vellum/workflows/exceptions.py,sha256=NiBiR3ggfmPxBVqD-H1SqmjI-7mIn0EStSN1BqApvCM,1213
1482
1492
  vellum/workflows/expressions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1483
1493
  vellum/workflows/expressions/accessor.py,sha256=ItZF7fMLzVTqsdAiaXb5SiDupXmX0X9xbIus1W6hRds,1870
@@ -1517,7 +1527,7 @@ vellum/workflows/graph/graph.py,sha256=GGR8cGpSuNWPIiTWNWsj6l70upb5nIxAyFcn7VdaJ
1517
1527
  vellum/workflows/graph/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1518
1528
  vellum/workflows/graph/tests/test_graph.py,sha256=q0wxLvPPxc-6en4a_XuAZwVfLURMd9Ikvoreq4bpJ9s,11839
1519
1529
  vellum/workflows/inputs/__init__.py,sha256=AbFEteIYEvCb14fM3EK7bhM-40-6s494rSlIhQ4Dsss,62
1520
- vellum/workflows/inputs/base.py,sha256=eVTjtn6GielKYogQ-LPA6n4iZO3-WIfyxWpBKkN-dPs,3959
1530
+ vellum/workflows/inputs/base.py,sha256=n5jqDpIEl-jf7z3ohwSUtIq2YfHH-GJ9Qn8KZzzMxIM,4019
1521
1531
  vellum/workflows/inputs/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1522
1532
  vellum/workflows/inputs/tests/test_inputs.py,sha256=g--YqWTNWzMk5Ktoj__gq988kvBReefc2tsyUl6H2kg,1775
1523
1533
  vellum/workflows/logging.py,sha256=_a217XogktV4Ncz6xKFz7WfYmZAzkfVRVuC0rWob8ls,437
@@ -1564,7 +1574,7 @@ vellum/workflows/nodes/displayable/bases/inline_prompt_node/constants.py,sha256=
1564
1574
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=rga24gkK9_STRhFwhBwGL7oHhTTZvLWS_rXHHrp85p4,8386
1565
1575
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1566
1576
  vellum/workflows/nodes/displayable/bases/inline_prompt_node/tests/test_inline_prompt_node.py,sha256=ZCXCZs-_OyPk4nqCpuWY-vw87lg92TDZ2tK_gckJ7mg,10450
1567
- vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=mjTAN2GERUaoKVsr5h1ecW60Hw_fZ-EYzgaKMZ33P-s,5674
1577
+ vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=lwH7mfiHcRKFxU1Y9IPQVgb3o5trssuhwlKnA30rTWk,9777
1568
1578
  vellum/workflows/nodes/displayable/bases/search_node.py,sha256=3UtbqY3QO4kzfJHbmUNZGnEEfJmaoiF892u8H6TGjp8,5381
1569
1579
  vellum/workflows/nodes/displayable/bases/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1570
1580
  vellum/workflows/nodes/displayable/bases/tests/test_utils.py,sha256=eqdqbKNRWVMDPevgwLg1i6YK0g4L4bCy-7xCBN5yYZI,3156
@@ -1579,14 +1589,16 @@ vellum/workflows/nodes/displayable/code_execution_node/tests/test_code_execution
1579
1589
  vellum/workflows/nodes/displayable/code_execution_node/utils.py,sha256=G-sc7yOL5g6rLk99X8HAbXNcLxRaqpju9IXq1iUwnQI,4470
1580
1590
  vellum/workflows/nodes/displayable/conditional_node/__init__.py,sha256=AS_EIqFdU1F9t8aLmbZU-rLh9ry6LCJ0uj0D8F0L5Uw,72
1581
1591
  vellum/workflows/nodes/displayable/conditional_node/node.py,sha256=Qjfl33gZ3JEgxBA1EgzSUebboGvsARthIxxcQyvx5Gg,1152
1582
- vellum/workflows/nodes/displayable/conftest.py,sha256=tD_WIiw5WjFqnzgnGLtEZDaMj2XhQ1DptnBTKYeBbI0,5705
1592
+ vellum/workflows/nodes/displayable/conftest.py,sha256=K2kLM2JGAfcrmmd92u8DXInUO5klFdggPWblg5RVcx4,5729
1583
1593
  vellum/workflows/nodes/displayable/final_output_node/__init__.py,sha256=G7VXM4OWpubvSJtVkGmMNeqgb9GkM7qZT838eL18XU4,72
1584
1594
  vellum/workflows/nodes/displayable/final_output_node/node.py,sha256=PuQ0RvtAmoSIZ5En_92tym7gpSMEoiHgwu20-UDbC7o,2368
1585
1595
  vellum/workflows/nodes/displayable/final_output_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1586
1596
  vellum/workflows/nodes/displayable/final_output_node/tests/test_node.py,sha256=E6LQ74qZjY4Xi4avx2qdOCgGhF8pEcNLBh8cqYRkzMI,709
1587
1597
  vellum/workflows/nodes/displayable/guardrail_node/__init__.py,sha256=Ab5eXmOoBhyV4dMWdzh32HLUmnPIBEK_zFCT38C4Fng,68
1588
- vellum/workflows/nodes/displayable/guardrail_node/node.py,sha256=AHyqBiP9_XZx9jI-EbPY2dHDRwKrpo_SS6DAdrPBulA,5086
1589
- vellum/workflows/nodes/displayable/guardrail_node/test_node.py,sha256=gpaa7fmVPLH2dDjlNTbjutF3SBXa_aearI3xYvZ4ekg,3533
1598
+ vellum/workflows/nodes/displayable/guardrail_node/node.py,sha256=d7C6M6aIZ33GyjIxn24Vd-xyWMGtxm6Hs8nszyl4tNU,5356
1599
+ vellum/workflows/nodes/displayable/guardrail_node/test_node.py,sha256=KkLog-bjvPaUZUBciMH25lRHA5pDIrmUxNLVWY6oU34,4526
1600
+ vellum/workflows/nodes/displayable/guardrail_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1601
+ vellum/workflows/nodes/displayable/guardrail_node/tests/test_node.py,sha256=X2pd6TI8miYxIa7rgvs1pHTEreyWcf77EyR0_Jsa700,2055
1590
1602
  vellum/workflows/nodes/displayable/inline_prompt_node/__init__.py,sha256=gSUOoEZLlrx35-tQhSAd3An8WDwBqyiQh-sIebLU9wU,74
1591
1603
  vellum/workflows/nodes/displayable/inline_prompt_node/node.py,sha256=8RXZqWMzViUjFfbpmcy1gkSsKnEpci8BGwsuPYv4xMQ,3380
1592
1604
  vellum/workflows/nodes/displayable/inline_prompt_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1598,7 +1610,7 @@ vellum/workflows/nodes/displayable/note_node/node.py,sha256=sIN1VBQ7zeT3GhN0kupX
1598
1610
  vellum/workflows/nodes/displayable/prompt_deployment_node/__init__.py,sha256=krX1Hds-TSVYZsx0wJFX4wsAKkEFYOX1ifwRGiIM-EA,82
1599
1611
  vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=eUiQYdqJTrWhVcUgGAPJYEnRk6S71Yrzu5-c-XcVFs4,3243
1600
1612
  vellum/workflows/nodes/displayable/prompt_deployment_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1601
- vellum/workflows/nodes/displayable/prompt_deployment_node/tests/test_node.py,sha256=nOFiv2s8MyRf6c6aQxJPhN6a0mk1dFL2HI8Gkfc09sk,7288
1613
+ vellum/workflows/nodes/displayable/prompt_deployment_node/tests/test_node.py,sha256=AM-W95ck2GWmG2skC3Lkx1Ng-RUJXg0185J1mdt9sDs,18772
1602
1614
  vellum/workflows/nodes/displayable/search_node/__init__.py,sha256=hpBpvbrDYf43DElRZFLzieSn8weXiwNiiNOJurERQbs,62
1603
1615
  vellum/workflows/nodes/displayable/search_node/node.py,sha256=_VHHuTNN4icZBgc7O5U9SVKrv1zgKipU72fOtxTyrQU,1453
1604
1616
  vellum/workflows/nodes/displayable/search_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1642,10 +1654,10 @@ vellum/workflows/references/workflow_input.py,sha256=lq7BiiLBHQNP-vP2p1TN2QBq0_L
1642
1654
  vellum/workflows/resolvers/__init__.py,sha256=eH6hTvZO4IciDaf_cf7aM2vs-DkBDyJPycOQevJxQnI,82
1643
1655
  vellum/workflows/resolvers/base.py,sha256=WHra9LRtlTuB1jmuNqkfVE2JUgB61Cyntn8f0b0WZg4,411
1644
1656
  vellum/workflows/runner/__init__.py,sha256=i1iG5sAhtpdsrlvwgH6B-m49JsINkiWyPWs8vyT-bqM,72
1645
- vellum/workflows/runner/runner.py,sha256=ww4fjZJBENkB5HJxdj92kTz7k_EyifCeAreupy5qIxs,31813
1657
+ vellum/workflows/runner/runner.py,sha256=94A--MUhXNct3kNMsdZrEKsjNsFo7mBQvx-Ddz3qddI,31949
1646
1658
  vellum/workflows/sandbox.py,sha256=GVJzVjMuYzOBnSrboB0_6MMRZWBluAyQ2o7syeaeBd0,2235
1647
1659
  vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
1648
- vellum/workflows/state/base.py,sha256=LOQ2UCnpVLWISryfJwbicFCrRmothJQ7OQGJElgKlvg,15675
1660
+ vellum/workflows/state/base.py,sha256=nLXsa85JSVb-4lFN0i2I1tzJq51zbcPDD12ps-SwRGQ,20894
1649
1661
  vellum/workflows/state/context.py,sha256=KOAI1wEGn8dGmhmAemJaf4SZbitP3jpIBcwKfznQaRE,3076
1650
1662
  vellum/workflows/state/encoder.py,sha256=TnOQojc5lTQ83g9QbpA4UCqShJvutmTMxbpKt-9gNe4,1911
1651
1663
  vellum/workflows/state/store.py,sha256=uVe-oN73KwGV6M6YLhwZMMUQhzTQomsVfVnb8V91gVo,1147
@@ -1656,7 +1668,8 @@ vellum/workflows/tests/test_sandbox.py,sha256=JKwaluI-lODQo7Ek9sjDstjL_WTdSqUlVi
1656
1668
  vellum/workflows/tests/test_undefined.py,sha256=zMCVliCXVNLrlC6hEGyOWDnQADJ2g83yc5FIM33zuo8,353
1657
1669
  vellum/workflows/types/__init__.py,sha256=KxUTMBGzuRCfiMqzzsykOeVvrrkaZmTTo1a7SLu8gRM,68
1658
1670
  vellum/workflows/types/core.py,sha256=kMQremh_I8egXpiKmtMQbB6e3OczAWiRnnTq5V6xlD0,928
1659
- vellum/workflows/types/generics.py,sha256=9HzFvtcF8qpn1wcsly7er250MMwdS9r-BjSVco9UBj4,584
1671
+ vellum/workflows/types/definition.py,sha256=z81CL_u0FJol-9yUIqoXNTYAARtU8x__c6s-f4rb5c8,2335
1672
+ vellum/workflows/types/generics.py,sha256=tKXz0LwWJGKw1YGudyl9_yFDrRgU6yYV1yJV1Zv-LTw,1430
1660
1673
  vellum/workflows/types/stack.py,sha256=RDSGLkcV612ge8UuAH9TZiEGXxJt0Av2-H5rfzrTVVI,1014
1661
1674
  vellum/workflows/types/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1662
1675
  vellum/workflows/types/tests/test_utils.py,sha256=y2bj4O8-ykPRRRocdD98NdnQz6ydSCoMBp6rECPPqE8,2536
@@ -1673,13 +1686,13 @@ vellum/workflows/utils/uuids.py,sha256=DFzPv9RCvsKhvdTEIQyfSek2A31D6S_QcmeLPbgrg
1673
1686
  vellum/workflows/utils/vellum_variables.py,sha256=UiGlUh0a8vel2FbW3w-xbHxSv_jNutkDdqMVtP_b42A,3385
1674
1687
  vellum/workflows/vellum_client.py,sha256=GxOy3dX6A04xiY69vPv1S4YGuQ_TMxwHi6WRMimQBBE,762
1675
1688
  vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
1676
- vellum/workflows/workflows/base.py,sha256=DycL6YgN8CyaHub2gG8r9NB5PVxR9jP0wV4J09iaBnE,22749
1689
+ vellum/workflows/workflows/base.py,sha256=zdBOFZaCs5jNYrsYsnPtyD58qTne5oOwDLxw42zKwkY,23784
1677
1690
  vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnadGsrSZGa7t7LpJA,2008
1678
1691
  vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1679
- vellum/workflows/workflows/tests/test_base_workflow.py,sha256=tCxrV3QBHL8wfdEO3bvKteDdw32xBlUl1_WxkAwaONw,8344
1692
+ vellum/workflows/workflows/tests/test_base_workflow.py,sha256=rBLsUsoLdRRQ-JBEfUivV9qVCjdqaiDsCPNyHvqz9fc,17361
1680
1693
  vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
1681
- vellum_ai-0.14.36.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1682
- vellum_ai-0.14.36.dist-info/METADATA,sha256=8nijTIGNJWT-D2j9VvMW7PARaKyi1lKH76DMnGPzXoY,5484
1683
- vellum_ai-0.14.36.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1684
- vellum_ai-0.14.36.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1685
- vellum_ai-0.14.36.dist-info/RECORD,,
1694
+ vellum_ai-0.14.38.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
1695
+ vellum_ai-0.14.38.dist-info/METADATA,sha256=4W7jvgNhHoXv4MdRLeJNEKfyvBGhEkxXrKTVcx-RA9E,5484
1696
+ vellum_ai-0.14.38.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
1697
+ vellum_ai-0.14.38.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
1698
+ vellum_ai-0.14.38.dist-info/RECORD,,
@@ -1,6 +1,6 @@
1
1
  from dataclasses import dataclass, field
2
2
  from uuid import UUID
3
- from typing import Optional, TypeVar
3
+ from typing import Optional
4
4
 
5
5
  from pydantic import Field
6
6
 
@@ -36,17 +36,19 @@ class WorkflowMetaDisplayOverrides(WorkflowMetaDisplay):
36
36
 
37
37
 
38
38
  @dataclass
39
- class WorkflowInputsDisplayOverrides:
39
+ class WorkflowInputsDisplay:
40
40
  id: UUID
41
+ name: Optional[str] = None
42
+ color: Optional[str] = None
41
43
 
42
44
 
43
45
  @dataclass
44
- class WorkflowInputsDisplay(WorkflowInputsDisplayOverrides):
45
- pass
46
-
46
+ class WorkflowInputsDisplayOverrides(WorkflowInputsDisplay):
47
+ """
48
+ DEPRECATED: Use WorkflowInputsDisplay instead. Will be removed in 0.15.0
49
+ """
47
50
 
48
- WorkflowInputsDisplayType = TypeVar("WorkflowInputsDisplayType", bound=WorkflowInputsDisplay)
49
- WorkflowInputsDisplayOverridesType = TypeVar("WorkflowInputsDisplayOverridesType", bound=WorkflowInputsDisplayOverrides)
51
+ pass
50
52
 
51
53
 
52
54
  @dataclass