vellum-ai 0.14.14__py3-none-any.whl → 0.14.16__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 (33) hide show
  1. vellum/client/core/client_wrapper.py +1 -1
  2. vellum/client/core/pydantic_utilities.py +4 -5
  3. vellum/client/resources/document_indexes/client.py +0 -55
  4. vellum/client/types/document_index_read.py +0 -10
  5. vellum/client/types/logical_operator.py +1 -0
  6. vellum/plugins/pydantic.py +14 -4
  7. vellum/workflows/nodes/core/retry_node/tests/test_node.py +23 -0
  8. vellum/workflows/nodes/displayable/api_node/tests/test_api_node.py +29 -0
  9. vellum/workflows/nodes/displayable/bases/api_node/node.py +2 -2
  10. vellum/workflows/vellum_client.py +9 -5
  11. {vellum_ai-0.14.14.dist-info → vellum_ai-0.14.16.dist-info}/METADATA +2 -2
  12. {vellum_ai-0.14.14.dist-info → vellum_ai-0.14.16.dist-info}/RECORD +33 -32
  13. vellum_cli/image_push.py +76 -42
  14. vellum_cli/tests/test_image_push.py +56 -0
  15. vellum_ee/workflows/display/nodes/base_node_display.py +8 -5
  16. vellum_ee/workflows/display/nodes/base_node_vellum_display.py +1 -4
  17. vellum_ee/workflows/display/nodes/get_node_display_class.py +34 -8
  18. vellum_ee/workflows/display/nodes/vellum/base_adornment_node.py +55 -1
  19. vellum_ee/workflows/display/nodes/vellum/retry_node.py +1 -54
  20. vellum_ee/workflows/display/nodes/vellum/templating_node.py +1 -8
  21. vellum_ee/workflows/display/nodes/vellum/try_node.py +1 -42
  22. vellum_ee/workflows/display/tests/test_vellum_workflow_display.py +47 -10
  23. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py +29 -33
  24. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py +91 -106
  25. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py +33 -38
  26. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py +197 -145
  27. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py +23 -26
  28. vellum_ee/workflows/display/utils/vellum.py +3 -0
  29. vellum_ee/workflows/display/workflows/base_workflow_display.py +3 -6
  30. vellum_ee/workflows/display/workflows/tests/test_workflow_display.py +52 -0
  31. {vellum_ai-0.14.14.dist-info → vellum_ai-0.14.16.dist-info}/LICENSE +0 -0
  32. {vellum_ai-0.14.14.dist-info → vellum_ai-0.14.16.dist-info}/WHEEL +0 -0
  33. {vellum_ai-0.14.14.dist-info → vellum_ai-0.14.16.dist-info}/entry_points.txt +0 -0
@@ -13,18 +13,17 @@ class Inputs(BaseInputs):
13
13
  input: str
14
14
 
15
15
 
16
- class AnnotatedOutputGenericNode(BaseNode):
17
- class Outputs(BaseNode.Outputs):
18
- output: int
19
-
20
-
21
16
  def test_serialize_node__annotated_output(serialize_node):
17
+ class AnnotatedOutputGenericNode(BaseNode):
18
+ class Outputs(BaseNode.Outputs):
19
+ output: int
20
+
22
21
  serialized_node = serialize_node(AnnotatedOutputGenericNode)
23
22
 
24
23
  assert not DeepDiff(
25
24
  {
26
- "id": "c0b71cfa-0d9e-4329-bde0-967c44be5c3c",
27
- "label": "AnnotatedOutputGenericNode",
25
+ "id": "e33ddf79-f48c-4057-ba17-d41a3a60ac98",
26
+ "label": "test_serialize_node__annotated_output.<locals>.AnnotatedOutputGenericNode",
28
27
  "type": "GENERIC",
29
28
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
30
29
  "base": {"name": "BaseNode", "module": ["vellum", "workflows", "nodes", "bases", "base"]},
@@ -40,13 +39,13 @@ def test_serialize_node__annotated_output(serialize_node):
40
39
  "test_outputs_serialization",
41
40
  ],
42
41
  },
43
- "trigger": {"id": "256ef76c-39a6-4a8f-8bda-922f5972a1d4", "merge_behavior": "AWAIT_ATTRIBUTES"},
44
- "ports": [{"id": "9f391128-5d83-4c46-a62e-2b8bd075f569", "type": "DEFAULT", "name": "default"}],
42
+ "trigger": {"id": "753f7ef1-8724-4af2-939a-794f74ffc21b", "merge_behavior": "AWAIT_ATTRIBUTES"},
43
+ "ports": [{"id": "d83b7a5d-bbac-47ee-9277-1fbed71e83e8", "type": "DEFAULT", "name": "default"}],
45
44
  "adornments": None,
46
45
  "attributes": [],
47
46
  "outputs": [
48
47
  {
49
- "id": "8c3c9aff-e1d5-49f4-af75-3ec2fcbb4af2",
48
+ "id": "0fd1356f-ca4e-4e85-b923-8a0164bfc451",
50
49
  "name": "output",
51
50
  "type": "NUMBER",
52
51
  "value": None,
@@ -58,12 +57,11 @@ def test_serialize_node__annotated_output(serialize_node):
58
57
  )
59
58
 
60
59
 
61
- class WorkflowInputGenericNode(BaseNode):
62
- class Outputs(BaseNode.Outputs):
63
- output = Inputs.input
64
-
65
-
66
60
  def test_serialize_node__workflow_input(serialize_node):
61
+ class WorkflowInputGenericNode(BaseNode):
62
+ class Outputs(BaseNode.Outputs):
63
+ output = Inputs.input
64
+
67
65
  input_id = uuid4()
68
66
  serialized_node = serialize_node(
69
67
  node_class=WorkflowInputGenericNode,
@@ -72,8 +70,8 @@ def test_serialize_node__workflow_input(serialize_node):
72
70
 
73
71
  assert not DeepDiff(
74
72
  {
75
- "id": "ddfa947f-0830-476b-b07e-ac573968f9a7",
76
- "label": "WorkflowInputGenericNode",
73
+ "id": "30116483-6f38-40e0-baf2-32de0e14e9a3",
74
+ "label": "test_serialize_node__workflow_input.<locals>.WorkflowInputGenericNode",
77
75
  "type": "GENERIC",
78
76
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
79
77
  "base": {"name": "BaseNode", "module": ["vellum", "workflows", "nodes", "bases", "base"]},
@@ -89,13 +87,13 @@ def test_serialize_node__workflow_input(serialize_node):
89
87
  "test_outputs_serialization",
90
88
  ],
91
89
  },
92
- "trigger": {"id": "b1a5d749-bac0-4f11-8427-191febb2198e", "merge_behavior": "AWAIT_ATTRIBUTES"},
93
- "ports": [{"id": "d15c7175-139c-4885-8ef8-3e4081db121b", "type": "DEFAULT", "name": "default"}],
90
+ "trigger": {"id": "dcb92d51-1fbd-4d41-ab89-c8f490d2bb38", "merge_behavior": "AWAIT_ATTRIBUTES"},
91
+ "ports": [{"id": "20d91130-ca86-4420-b2e7-a962c0f1a509", "type": "DEFAULT", "name": "default"}],
94
92
  "adornments": None,
95
93
  "attributes": [],
96
94
  "outputs": [
97
95
  {
98
- "id": "2c4a85c0-b017-4cea-a261-e8e8498570c9",
96
+ "id": "b62c0cbe-48d5-465d-8d9e-4ff82847f8c7",
99
97
  "name": "output",
100
98
  "type": "STRING",
101
99
  "value": {
@@ -110,21 +108,18 @@ def test_serialize_node__workflow_input(serialize_node):
110
108
  )
111
109
 
112
110
 
113
- class NodeWithOutput(BaseNode):
114
- class Outputs(BaseNode.Outputs):
115
- output = Inputs.input
116
-
117
-
118
- class NodeWithOutputDisplay(BaseNodeDisplay[NodeWithOutput]):
119
- pass
120
-
111
+ def test_serialize_node__node_output_reference(serialize_node):
112
+ class NodeWithOutput(BaseNode):
113
+ class Outputs(BaseNode.Outputs):
114
+ output = Inputs.input
121
115
 
122
- class GenericNodeReferencingOutput(BaseNode):
123
- class Outputs(BaseNode.Outputs):
124
- output = NodeWithOutput.Outputs.output
116
+ class NodeWithOutputDisplay(BaseNodeDisplay[NodeWithOutput]):
117
+ pass
125
118
 
119
+ class GenericNodeReferencingOutput(BaseNode):
120
+ class Outputs(BaseNode.Outputs):
121
+ output = NodeWithOutput.Outputs.output
126
122
 
127
- def test_serialize_node__node_output_reference(serialize_node):
128
123
  workflow_input_id = uuid4()
129
124
  node_output_id = uuid4()
130
125
  serialized_node = serialize_node(
@@ -138,8 +133,8 @@ def test_serialize_node__node_output_reference(serialize_node):
138
133
 
139
134
  assert not DeepDiff(
140
135
  {
141
- "id": "c1e2ce60-ac3a-4b17-915e-abe861734e03",
142
- "label": "GenericNodeReferencingOutput",
136
+ "id": "ac067acc-6a6f-44b1-ae84-428e965ce691",
137
+ "label": "test_serialize_node__node_output_reference.<locals>.GenericNodeReferencingOutput",
143
138
  "type": "GENERIC",
144
139
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
145
140
  "base": {"name": "BaseNode", "module": ["vellum", "workflows", "nodes", "bases", "base"]},
@@ -155,18 +150,18 @@ def test_serialize_node__node_output_reference(serialize_node):
155
150
  "test_outputs_serialization",
156
151
  ],
157
152
  },
158
- "trigger": {"id": "449072ba-f7b6-4314-ac96-682123f225e5", "merge_behavior": "AWAIT_ATTRIBUTES"},
159
- "ports": [{"id": "1879f33e-6efa-46a0-9281-e02bbbc1d413", "type": "DEFAULT", "name": "default"}],
153
+ "trigger": {"id": "e949426f-9f3c-425e-a4de-8c0c5f6a8945", "merge_behavior": "AWAIT_ATTRIBUTES"},
154
+ "ports": [{"id": "383dc10a-d8f3-4bac-b995-8b95bc6deb21", "type": "DEFAULT", "name": "default"}],
160
155
  "adornments": None,
161
156
  "attributes": [],
162
157
  "outputs": [
163
158
  {
164
- "id": "db010db3-7076-4df9-ae1b-069caa16fa20",
159
+ "id": "46e6e98e-9ecf-4880-86f9-6390f0851c31",
165
160
  "name": "output",
166
161
  "type": "STRING",
167
162
  "value": {
168
163
  "type": "NODE_OUTPUT",
169
- "node_id": "cd954d76-0b0a-4d9b-9bdf-347179c38cb6",
164
+ "node_id": "21213d1e-991c-405a-b4fa-a1e01c4dd088",
170
165
  "node_output_id": str(node_output_id),
171
166
  },
172
167
  }