vellum-ai 0.14.4__py3-none-any.whl → 0.14.6__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.
- vellum/__init__.py +6 -0
- vellum/client/__init__.py +8 -8
- vellum/client/core/client_wrapper.py +1 -1
- vellum/client/resources/__init__.py +2 -0
- vellum/client/resources/workflow_sandboxes/__init__.py +3 -0
- vellum/client/resources/workflow_sandboxes/client.py +146 -0
- vellum/client/resources/workflow_sandboxes/types/__init__.py +5 -0
- vellum/client/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py +5 -0
- vellum/client/types/__init__.py +4 -0
- vellum/client/types/paginated_workflow_sandbox_example_list.py +23 -0
- vellum/client/types/workflow_sandbox_example.py +22 -0
- vellum/resources/workflow_sandboxes/types/__init__.py +3 -0
- vellum/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py +3 -0
- vellum/types/paginated_workflow_sandbox_example_list.py +3 -0
- vellum/types/workflow_sandbox_example.py +3 -0
- vellum/workflows/context.py +8 -3
- vellum/workflows/nodes/displayable/code_execution_node/tests/test_code_execution_node.py +81 -1
- vellum/workflows/nodes/displayable/code_execution_node/utils.py +44 -20
- vellum/workflows/nodes/displayable/prompt_deployment_node/node.py +17 -10
- vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +12 -2
- vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/test_node.py +23 -0
- vellum/workflows/workflows/base.py +61 -53
- vellum/workflows/workflows/tests/test_base_workflow.py +47 -0
- vellum/workflows/workflows/tests/test_context.py +60 -0
- {vellum_ai-0.14.4.dist-info → vellum_ai-0.14.6.dist-info}/METADATA +1 -1
- {vellum_ai-0.14.4.dist-info → vellum_ai-0.14.6.dist-info}/RECORD +39 -29
- vellum_ee/workflows/display/nodes/vellum/__init__.py +2 -0
- vellum_ee/workflows/display/nodes/vellum/base_adornment_node.py +39 -0
- vellum_ee/workflows/display/nodes/vellum/map_node.py +2 -2
- vellum_ee/workflows/display/nodes/vellum/retry_node.py +36 -4
- vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py +31 -0
- vellum_ee/workflows/display/nodes/vellum/try_node.py +43 -29
- vellum_ee/workflows/display/nodes/vellum/utils.py +8 -0
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py +25 -1
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py +14 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py +19 -1
- {vellum_ai-0.14.4.dist-info → vellum_ai-0.14.6.dist-info}/LICENSE +0 -0
- {vellum_ai-0.14.4.dist-info → vellum_ai-0.14.6.dist-info}/WHEEL +0 -0
- {vellum_ai-0.14.4.dist-info → vellum_ai-0.14.6.dist-info}/entry_points.txt +0 -0
@@ -1,3 +1,4 @@
|
|
1
|
+
import json
|
1
2
|
from typing import Iterator
|
2
3
|
|
3
4
|
from vellum.workflows.errors import WorkflowErrorCode
|
@@ -44,13 +45,19 @@ class PromptDeploymentNode(BasePromptDeploymentNode[StateType]):
|
|
44
45
|
code=WorkflowErrorCode.INTERNAL_ERROR,
|
45
46
|
)
|
46
47
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
48
|
+
string_outputs = []
|
49
|
+
for output in outputs:
|
50
|
+
if output.value is None:
|
51
|
+
continue
|
52
|
+
|
53
|
+
if output.type == "STRING":
|
54
|
+
string_outputs.append(output.value)
|
55
|
+
elif output.type == "JSON":
|
56
|
+
string_outputs.append(json.dumps(output.value, indent=4))
|
57
|
+
elif output.type == "FUNCTION_CALL":
|
58
|
+
string_outputs.append(output.value.model_dump_json(indent=4))
|
59
|
+
else:
|
60
|
+
string_outputs.append(output.value.message)
|
61
|
+
|
62
|
+
value = "\n".join(string_outputs)
|
63
|
+
yield BaseOutput(name="text", value=value)
|
@@ -127,10 +127,20 @@ class SubworkflowDeploymentNode(BaseNode[StateType], Generic[StateType]):
|
|
127
127
|
"execution_context": {"parent_context": parent_context},
|
128
128
|
**request_options.get("additional_body_parameters", {}),
|
129
129
|
}
|
130
|
+
|
131
|
+
try:
|
132
|
+
deployment_id = str(self.deployment) if isinstance(self.deployment, UUID) else None
|
133
|
+
deployment_name = self.deployment if isinstance(self.deployment, str) else None
|
134
|
+
except AttributeError:
|
135
|
+
raise NodeException(
|
136
|
+
code=WorkflowErrorCode.NODE_EXECUTION,
|
137
|
+
message="Expected subworkflow deployment attribute to be either a UUID or STR, got None instead",
|
138
|
+
)
|
139
|
+
|
130
140
|
subworkflow_stream = self._context.vellum_client.execute_workflow_stream(
|
131
141
|
inputs=self._compile_subworkflow_inputs(),
|
132
|
-
workflow_deployment_id=
|
133
|
-
workflow_deployment_name=
|
142
|
+
workflow_deployment_id=deployment_id,
|
143
|
+
workflow_deployment_name=deployment_name,
|
134
144
|
release_tag=self.release_tag,
|
135
145
|
external_id=self.external_id,
|
136
146
|
event_types=["WORKFLOW"],
|
@@ -11,6 +11,8 @@ from vellum.client.types.workflow_request_chat_history_input_request import Work
|
|
11
11
|
from vellum.client.types.workflow_request_json_input_request import WorkflowRequestJsonInputRequest
|
12
12
|
from vellum.client.types.workflow_result_event import WorkflowResultEvent
|
13
13
|
from vellum.client.types.workflow_stream_event import WorkflowStreamEvent
|
14
|
+
from vellum.workflows.errors import WorkflowErrorCode
|
15
|
+
from vellum.workflows.exceptions import NodeException
|
14
16
|
from vellum.workflows.nodes.displayable.subworkflow_deployment_node.node import SubworkflowDeploymentNode
|
15
17
|
|
16
18
|
|
@@ -129,3 +131,24 @@ def test_run_workflow__any_array(vellum_client):
|
|
129
131
|
assert call_kwargs["inputs"] == [
|
130
132
|
WorkflowRequestJsonInputRequest(name="fruits", value=["apple", "banana", "cherry"]),
|
131
133
|
]
|
134
|
+
|
135
|
+
|
136
|
+
def test_run_workflow__no_deployment():
|
137
|
+
"""Confirm that we raise error when running a subworkflow deployment node with no deployment attribute set"""
|
138
|
+
|
139
|
+
# GIVEN a Subworkflow Deployment Node
|
140
|
+
class ExampleSubworkflowDeploymentNode(SubworkflowDeploymentNode):
|
141
|
+
subworkflow_inputs = {
|
142
|
+
"fruits": ["apple", "banana", "cherry"],
|
143
|
+
}
|
144
|
+
|
145
|
+
# WHEN/THEN running the node should raise a NodeException
|
146
|
+
node = ExampleSubworkflowDeploymentNode()
|
147
|
+
with pytest.raises(NodeException) as exc_info:
|
148
|
+
list(node.run())
|
149
|
+
|
150
|
+
# AND the error message should be correct
|
151
|
+
assert exc_info.value.code == WorkflowErrorCode.NODE_EXECUTION
|
152
|
+
assert "Expected subworkflow deployment attribute to be either a UUID or STR, got None instead" in str(
|
153
|
+
exc_info.value
|
154
|
+
)
|
@@ -178,82 +178,90 @@ class BaseWorkflow(Generic[InputsType, StateType], metaclass=_BaseWorkflowMeta):
|
|
178
178
|
def context(self) -> WorkflowContext:
|
179
179
|
return self._context
|
180
180
|
|
181
|
-
@
|
182
|
-
def
|
183
|
-
original_graph = cls.graph
|
184
|
-
if isinstance(original_graph, Graph):
|
185
|
-
return [original_graph]
|
186
|
-
if isinstance(original_graph, set):
|
187
|
-
return [
|
188
|
-
subgraph if isinstance(subgraph, Graph) else Graph.from_node(subgraph) for subgraph in original_graph
|
189
|
-
]
|
190
|
-
if issubclass(original_graph, BaseNode):
|
191
|
-
return [Graph.from_node(original_graph)]
|
192
|
-
|
193
|
-
raise ValueError(f"Unexpected graph type: {original_graph.__class__}")
|
194
|
-
|
195
|
-
@classmethod
|
196
|
-
def get_edges(cls) -> Iterator[Edge]:
|
181
|
+
@staticmethod
|
182
|
+
def _resolve_graph(graph: GraphAttribute) -> List[Graph]:
|
197
183
|
"""
|
198
|
-
|
199
|
-
ensure uniqueness, and the iterator to preserve order.
|
184
|
+
Resolves a single graph source to a list of Graph objects.
|
200
185
|
"""
|
186
|
+
if isinstance(graph, Graph):
|
187
|
+
return [graph]
|
188
|
+
if isinstance(graph, set):
|
189
|
+
graphs = []
|
190
|
+
for item in graph:
|
191
|
+
if isinstance(item, Graph):
|
192
|
+
graphs.append(item)
|
193
|
+
elif issubclass(item, BaseNode):
|
194
|
+
graphs.append(Graph.from_node(item))
|
195
|
+
else:
|
196
|
+
raise ValueError(f"Unexpected graph type: {type(item)}")
|
197
|
+
return graphs
|
198
|
+
if issubclass(graph, BaseNode):
|
199
|
+
return [Graph.from_node(graph)]
|
200
|
+
raise ValueError(f"Unexpected graph type: {type(graph)}")
|
201
201
|
|
202
|
+
@staticmethod
|
203
|
+
def _get_edges_from_subgraphs(subgraphs: Iterable[Graph]) -> Iterator[Edge]:
|
202
204
|
edges = set()
|
203
|
-
subgraphs = cls.get_subgraphs()
|
204
205
|
for subgraph in subgraphs:
|
205
206
|
for edge in subgraph.edges:
|
206
207
|
if edge not in edges:
|
207
208
|
edges.add(edge)
|
208
209
|
yield edge
|
209
210
|
|
211
|
+
@staticmethod
|
212
|
+
def _get_nodes_from_subgraphs(subgraphs: Iterable[Graph]) -> Iterator[Type[BaseNode]]:
|
213
|
+
nodes = set()
|
214
|
+
for subgraph in subgraphs:
|
215
|
+
for node in subgraph.nodes:
|
216
|
+
if node not in nodes:
|
217
|
+
nodes.add(node)
|
218
|
+
yield node
|
219
|
+
|
220
|
+
@classmethod
|
221
|
+
def get_subgraphs(cls) -> List[Graph]:
|
222
|
+
return cls._resolve_graph(cls.graph)
|
223
|
+
|
224
|
+
@classmethod
|
225
|
+
def get_edges(cls) -> Iterator[Edge]:
|
226
|
+
"""
|
227
|
+
Returns an iterator over the edges in the workflow. We use a set to
|
228
|
+
ensure uniqueness, and the iterator to preserve order.
|
229
|
+
"""
|
230
|
+
return cls._get_edges_from_subgraphs(cls.get_subgraphs())
|
231
|
+
|
210
232
|
@classmethod
|
211
233
|
def get_nodes(cls) -> Iterator[Type[BaseNode]]:
|
212
234
|
"""
|
213
235
|
Returns an iterator over the nodes in the workflow. We use a set to
|
214
236
|
ensure uniqueness, and the iterator to preserve order.
|
215
237
|
"""
|
238
|
+
return cls._get_nodes_from_subgraphs(cls.get_subgraphs())
|
216
239
|
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
240
|
+
@classmethod
|
241
|
+
def get_unused_subgraphs(cls) -> List[Graph]:
|
242
|
+
"""
|
243
|
+
Returns a list of subgraphs that are defined but not used in the graph
|
244
|
+
"""
|
245
|
+
if not hasattr(cls, "unused_graphs"):
|
246
|
+
return []
|
247
|
+
graphs = []
|
248
|
+
for item in cls.unused_graphs:
|
249
|
+
graphs.extend(cls._resolve_graph(item))
|
250
|
+
return graphs
|
223
251
|
|
224
252
|
@classmethod
|
225
253
|
def get_unused_nodes(cls) -> Iterator[Type[BaseNode]]:
|
226
254
|
"""
|
227
255
|
Returns an iterator over the nodes that are defined but not used in the graph.
|
228
256
|
"""
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
if node not in nodes:
|
238
|
-
nodes.add(node)
|
239
|
-
yield node
|
240
|
-
elif isinstance(item, set):
|
241
|
-
# Item is a set of graphs or nodes
|
242
|
-
for subitem in item:
|
243
|
-
if isinstance(subitem, Graph):
|
244
|
-
for node in subitem.nodes:
|
245
|
-
if node not in nodes:
|
246
|
-
nodes.add(node)
|
247
|
-
yield node
|
248
|
-
elif issubclass(subitem, BaseNode):
|
249
|
-
if subitem not in nodes:
|
250
|
-
nodes.add(subitem)
|
251
|
-
yield subitem
|
252
|
-
elif issubclass(item, BaseNode):
|
253
|
-
# Item is a node
|
254
|
-
if item not in nodes:
|
255
|
-
nodes.add(item)
|
256
|
-
yield item
|
257
|
+
return cls._get_nodes_from_subgraphs(cls.get_unused_subgraphs())
|
258
|
+
|
259
|
+
@classmethod
|
260
|
+
def get_unused_edges(cls) -> Iterator[Edge]:
|
261
|
+
"""
|
262
|
+
Returns an iterator over edges that are defined but not used in the graph.
|
263
|
+
"""
|
264
|
+
return cls._get_edges_from_subgraphs(cls.get_unused_subgraphs())
|
257
265
|
|
258
266
|
@classmethod
|
259
267
|
def get_entrypoints(cls) -> Iterable[Type[BaseNode]]:
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import pytest
|
2
2
|
|
3
|
+
from vellum.workflows.edges.edge import Edge
|
3
4
|
from vellum.workflows.inputs.base import BaseInputs
|
4
5
|
from vellum.workflows.nodes.bases.base import BaseNode
|
5
6
|
from vellum.workflows.nodes.core.inline_subworkflow_node.node import InlineSubworkflowNode
|
@@ -166,3 +167,49 @@ def test_workflow__node_in_both_graph_and_unused():
|
|
166
167
|
|
167
168
|
# THEN it should raise an error
|
168
169
|
assert "Node(s) NodeA cannot appear in both graph and unused_graphs" in str(exc_info.value)
|
170
|
+
|
171
|
+
|
172
|
+
def test_workflow__get_unused_edges():
|
173
|
+
"""
|
174
|
+
Test that get_unused_edges correctly identifies edges that are defined but not used in the workflow graph.
|
175
|
+
"""
|
176
|
+
|
177
|
+
class NodeA(BaseNode):
|
178
|
+
pass
|
179
|
+
|
180
|
+
class NodeB(BaseNode):
|
181
|
+
pass
|
182
|
+
|
183
|
+
class NodeC(BaseNode):
|
184
|
+
pass
|
185
|
+
|
186
|
+
class NodeD(BaseNode):
|
187
|
+
pass
|
188
|
+
|
189
|
+
class NodeE(BaseNode):
|
190
|
+
pass
|
191
|
+
|
192
|
+
class NodeF(BaseNode):
|
193
|
+
pass
|
194
|
+
|
195
|
+
class NodeG(BaseNode):
|
196
|
+
pass
|
197
|
+
|
198
|
+
class TestWorkflow(BaseWorkflow[BaseInputs, BaseState]):
|
199
|
+
graph = NodeA >> NodeB
|
200
|
+
unused_graphs = {NodeC >> {NodeD >> NodeE, NodeF} >> NodeG}
|
201
|
+
|
202
|
+
edge_c_to_d = Edge(from_port=NodeC.Ports.default, to_node=NodeD)
|
203
|
+
edge_c_to_f = Edge(from_port=NodeC.Ports.default, to_node=NodeF)
|
204
|
+
edge_d_to_e = Edge(from_port=NodeD.Ports.default, to_node=NodeE)
|
205
|
+
edge_e_to_g = Edge(from_port=NodeE.Ports.default, to_node=NodeG)
|
206
|
+
edge_f_to_g = Edge(from_port=NodeF.Ports.default, to_node=NodeG)
|
207
|
+
|
208
|
+
# Collect unused edges
|
209
|
+
unused_edges = set(TestWorkflow.get_unused_edges())
|
210
|
+
|
211
|
+
# Expected unused edges
|
212
|
+
expected_unused_edges = {edge_c_to_d, edge_c_to_f, edge_d_to_e, edge_e_to_g, edge_f_to_g}
|
213
|
+
|
214
|
+
# TEST that unused edges are correctly identified
|
215
|
+
assert unused_edges == expected_unused_edges, f"Expected {expected_unused_edges}, but got {unused_edges}"
|
@@ -0,0 +1,60 @@
|
|
1
|
+
from uuid import UUID, uuid4
|
2
|
+
|
3
|
+
from vellum.workflows import BaseWorkflow
|
4
|
+
from vellum.workflows.context import execution_context, get_execution_context
|
5
|
+
from vellum.workflows.events.types import NodeParentContext, WorkflowParentContext
|
6
|
+
from vellum.workflows.inputs import BaseInputs
|
7
|
+
from vellum.workflows.nodes import BaseNode
|
8
|
+
from vellum.workflows.references import VellumSecretReference
|
9
|
+
from vellum.workflows.state import BaseState
|
10
|
+
|
11
|
+
|
12
|
+
class MockInputs(BaseInputs):
|
13
|
+
foo: str
|
14
|
+
|
15
|
+
|
16
|
+
class MockNode(BaseNode):
|
17
|
+
node_foo = MockInputs.foo
|
18
|
+
node_secret = VellumSecretReference("secret")
|
19
|
+
|
20
|
+
class Outputs(BaseNode.Outputs):
|
21
|
+
example: str
|
22
|
+
|
23
|
+
|
24
|
+
class MockWorkflow(BaseWorkflow[MockInputs, BaseState]):
|
25
|
+
graph = MockNode
|
26
|
+
|
27
|
+
|
28
|
+
def test_context_trace_and_parent():
|
29
|
+
trace_id = uuid4()
|
30
|
+
parent_context = NodeParentContext(
|
31
|
+
node_definition=MockNode,
|
32
|
+
span_id=UUID("123e4567-e89b-12d3-a456-426614174000"),
|
33
|
+
parent=WorkflowParentContext(
|
34
|
+
workflow_definition=MockWorkflow,
|
35
|
+
span_id=UUID("123e4567-e89b-12d3-a456-426614174000"),
|
36
|
+
),
|
37
|
+
)
|
38
|
+
second_parent_context = WorkflowParentContext(
|
39
|
+
workflow_definition=MockWorkflow, span_id=uuid4(), parent=parent_context
|
40
|
+
)
|
41
|
+
# When using execution context , if we set trace id within
|
42
|
+
with execution_context(parent_context=parent_context, trace_id=trace_id):
|
43
|
+
test = get_execution_context()
|
44
|
+
assert test.trace_id == trace_id
|
45
|
+
assert test.parent_context == parent_context
|
46
|
+
with execution_context(parent_context=second_parent_context):
|
47
|
+
test1 = get_execution_context()
|
48
|
+
assert test1.trace_id == trace_id
|
49
|
+
assert test1.parent_context == second_parent_context
|
50
|
+
# then we can assume trace id will not change
|
51
|
+
with execution_context(trace_id=uuid4()):
|
52
|
+
test3 = get_execution_context()
|
53
|
+
assert test3.trace_id == trace_id
|
54
|
+
with execution_context(parent_context=parent_context, trace_id=uuid4()):
|
55
|
+
test3 = get_execution_context()
|
56
|
+
assert test3.trace_id == trace_id
|
57
|
+
# and if we have a new context, the trace will differ
|
58
|
+
with execution_context(parent_context=parent_context, trace_id=uuid4()):
|
59
|
+
test = get_execution_context()
|
60
|
+
assert test.trace_id != trace_id
|
@@ -28,8 +28,9 @@ vellum_ee/workflows/display/nodes/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
|
|
28
28
|
vellum_ee/workflows/display/nodes/tests/test_base_node_display.py,sha256=QqR3Ly0RNrXwOeLdW5nERDFt0gRPf76n1bPES6o5UN4,1093
|
29
29
|
vellum_ee/workflows/display/nodes/types.py,sha256=St1BB6no528OyELGiyRabWao0GGw6mLhstQAvEACbGk,247
|
30
30
|
vellum_ee/workflows/display/nodes/utils.py,sha256=sloya5TpXsnot1HURc9L51INwflRqUzHxRVnCS9Cd-4,973
|
31
|
-
vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=
|
31
|
+
vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=nUIgH2s0-7IbQRNrBhLPyRNe8YIrx3Yo9HeeW-aXXFk,1668
|
32
32
|
vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=hoV-cUtS6H9kmRQXHd2py95GRWI_dAnnaPwvlNBkDOQ,8571
|
33
|
+
vellum_ee/workflows/display/nodes/vellum/base_adornment_node.py,sha256=UlfX8ifleaAaRCmGlj6XNubEMJnHOgCXSBRk6LAZw38,1995
|
33
34
|
vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=z00Z3L0d4PsUQo4S8FRDTtOFLtjdi17TJbatNVF4nM8,4288
|
34
35
|
vellum_ee/workflows/display/nodes/vellum/conditional_node.py,sha256=ybLIa4uclqVIy3VAQvI1ivg2tnK5Ug_1R5a69DFqL7E,11104
|
35
36
|
vellum_ee/workflows/display/nodes/vellum/error_node.py,sha256=I1Jkp2htRINJATtv1e-zs9BrReFX842djpiVgBPHDYg,2186
|
@@ -37,11 +38,11 @@ vellum_ee/workflows/display/nodes/vellum/final_output_node.py,sha256=p-PvlnxpBQ7
|
|
37
38
|
vellum_ee/workflows/display/nodes/vellum/guardrail_node.py,sha256=aYZSJTxknU4LMiQdWk9LcK6CkhdozeDEMiRxfAyUNEc,2202
|
38
39
|
vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py,sha256=aNZhjw5CwpUO8IcLJ2nhYrzn96RJ3FWeJXdfDizuPzw,8491
|
39
40
|
vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py,sha256=MU9I8CB1X1TgL1aa1eT6DHWwNJ-2v79t74xl0oy-fBo,5510
|
40
|
-
vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=
|
41
|
+
vellum_ee/workflows/display/nodes/vellum/map_node.py,sha256=8CPnn06HIBxBOiECevUffeVmQmCpec6WtPQnNl9gj9Y,3748
|
41
42
|
vellum_ee/workflows/display/nodes/vellum/merge_node.py,sha256=HkNMgdQELiON42jdO-xDLmqrEKdGx1RVqrz2DXNTLS8,3239
|
42
43
|
vellum_ee/workflows/display/nodes/vellum/note_node.py,sha256=TMb8txILu2uWjzoxaghjgjlzeBAgzn4vkP_8zSh2qoE,1151
|
43
44
|
vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py,sha256=LFjLUrH6sJ4czPnExdRqFr0PB_yKBMLXLvK5GAzIAgc,3273
|
44
|
-
vellum_ee/workflows/display/nodes/vellum/retry_node.py,sha256=
|
45
|
+
vellum_ee/workflows/display/nodes/vellum/retry_node.py,sha256=hVqTtuHjlw_cYJ3ydNAvUHfGEoQi5YocVONZUo4i_Gs,1717
|
45
46
|
vellum_ee/workflows/display/nodes/vellum/search_node.py,sha256=TxcAGZDl_hvJ7Y1hUi9YVEVrj9Ie0hKkASdpfRL4_cs,9227
|
46
47
|
vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py,sha256=62baAElKoRKIoba0lLhnrXGWWx96B73VxKGxh7BaIxc,2612
|
47
48
|
vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=JVIMPR3WpveOCWZubHKZkE04mavnTdb_9QY_r3XliRg,3424
|
@@ -49,21 +50,21 @@ vellum_ee/workflows/display/nodes/vellum/tests/__init__.py,sha256=47DEQpj8HBSa-_
|
|
49
50
|
vellum_ee/workflows/display/nodes/vellum/tests/test_error_node.py,sha256=ulrpoYUW-5kIxfG4Lf5F2p0k_EoYKhmahEbF3P_eruM,1648
|
50
51
|
vellum_ee/workflows/display/nodes/vellum/tests/test_prompt_node.py,sha256=bg9INsXiWfyK047u8TD1oEOFYrqDq8GC7Hvgz69n7BE,1988
|
51
52
|
vellum_ee/workflows/display/nodes/vellum/tests/test_try_node.py,sha256=mtzB8LJlFCHVFM4H5AanLp29gQfaVmnN4A4iaRGJHoI,2427
|
52
|
-
vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py,sha256=
|
53
|
-
vellum_ee/workflows/display/nodes/vellum/try_node.py,sha256=
|
54
|
-
vellum_ee/workflows/display/nodes/vellum/utils.py,sha256=
|
53
|
+
vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py,sha256=4YUaTeD_OWF-UaPMyOTBTu9skGC1jgSHlAYrzbH7Z04,5039
|
54
|
+
vellum_ee/workflows/display/nodes/vellum/try_node.py,sha256=HBfGz4yt9GlmMW9JxzaCacPnHBDNIeXE8Jhqr9DqLLw,6191
|
55
|
+
vellum_ee/workflows/display/nodes/vellum/utils.py,sha256=F_0BrlSszllK_BhryPbojIleLq2dGXOfQD1rVp3fNFg,4733
|
55
56
|
vellum_ee/workflows/display/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
56
57
|
vellum_ee/workflows/display/tests/test_vellum_workflow_display.py,sha256=1EEvkKQRfOKlnpLxE9-hKSsVLLaelM39LY7007LM5dg,4983
|
57
58
|
vellum_ee/workflows/display/tests/workflow_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
58
59
|
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
59
60
|
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py,sha256=A1-tIpC5KIKG9JA_rkd1nLS8zUG3Kb4QiVdvb3boFxE,2509
|
60
|
-
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py,sha256=
|
61
|
+
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py,sha256=7Fc-TtPw7hz_pvQ-TWz3G8Vy9h2AztukpyDK0p7REGU,9071
|
61
62
|
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py,sha256=1cszL6N6FNGVm61MOa7AEiHnF0QjZWqDQuPOp4yiG94,18277
|
62
63
|
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py,sha256=-12ZkZb3f5gyoNASV2yeQtMo5HmNsVEo8nXwL6IC-I8,6261
|
63
64
|
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py,sha256=6th6kCwzql6lddjkTQx4Jbvvs4ChqtJwctW-B4QuBhI,37352
|
64
65
|
vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py,sha256=EbVgg_3_ipTt3MOop4RARX0fmNjwqZtkhIXzx9nGw7Y,4487
|
65
66
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=IRazH2QR6F8RGqNemEnHueyj5DtEa6rFTYhT16S4jI8,15917
|
66
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=
|
67
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=V__y7uu-dy6TJjPeu4UDvaoO2yYwBRbPiW9uJdzWRx4,29828
|
67
68
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=R8DW1DUb0DOSLtnF2E1HaCTmtpG-ski0LfcM2WeLVNo,47672
|
68
69
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py,sha256=z9FSufJeV-003R87wi_Lx4mZewdeeOeTPCGNc9vg8vY,8819
|
69
70
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=wgedEa2IVP2ssH_FLghoEmLgpJR41AY-iNIw1SESeqA,6106
|
@@ -78,7 +79,7 @@ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_
|
|
78
79
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py,sha256=BzFNl9ECeGh0krm-CUjbBQQq0g7krANsp0Sh-j5dAkc,11322
|
79
80
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py,sha256=xXtW915v9yxxKlyu5ObzKHyJYMvobvev3ermX61SGx4,7818
|
80
81
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py,sha256=NdhE3lm7RMQ8DqkraPSq24IbOxNla9unbs4tsMWRzm4,3781
|
81
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=
|
82
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=eD5686C9nWC5s6t08vbAnm9qf9t53gYQM-E1FwAa75c,3035
|
82
83
|
vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=huKAOeMJ2MKmp6XtbvMJTUadqynoV40Ypoz9jsBEBEQ,7431
|
83
84
|
vellum_ee/workflows/display/types.py,sha256=xDC1zy4rWKNqDtSr-h6MQfWnJ6scZ_Sadxp4t8Q3PY4,2897
|
84
85
|
vellum_ee/workflows/display/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -114,12 +115,12 @@ vellum_ee/workflows/tests/local_workflow/workflow.py,sha256=A4qOzOPNwePYxWbcAgIP
|
|
114
115
|
vellum_ee/workflows/tests/test_display_meta.py,sha256=pzdqND4KLWs7EUIbpXuqgso7BIRpoUsO3T_bgeENs0Q,2205
|
115
116
|
vellum_ee/workflows/tests/test_server.py,sha256=SvKUrUPmOf3sIInXcFjETekql60npb4cAn1GPbF0bPs,391
|
116
117
|
vellum_ee/workflows/tests/test_virtual_files.py,sha256=TJEcMR0v2S8CkloXNmCHA0QW0K6pYNGaIjraJz7sFvY,2762
|
117
|
-
vellum/__init__.py,sha256=
|
118
|
+
vellum/__init__.py,sha256=BGZ28ICgCMzo3Qjj3IN3eMsvylstMCl9C1YKzrQNRnk,36024
|
118
119
|
vellum/client/README.md,sha256=JkCJjmMZl4jrPj46pkmL9dpK4gSzQQmP5I7z4aME4LY,4749
|
119
|
-
vellum/client/__init__.py,sha256=
|
120
|
+
vellum/client/__init__.py,sha256=tKtdM1_GqmGq1gpi9ydWD_T-MM7fPn8QdHh8ww19cNI,117564
|
120
121
|
vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
|
121
122
|
vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
|
122
|
-
vellum/client/core/client_wrapper.py,sha256=
|
123
|
+
vellum/client/core/client_wrapper.py,sha256=Hye69mrkKpKvBVFEfZKH3c08doQVIZ0VGlBRZZmgr0k,1868
|
123
124
|
vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
124
125
|
vellum/client/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
|
125
126
|
vellum/client/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
|
@@ -135,7 +136,7 @@ vellum/client/errors/bad_request_error.py,sha256=_EbO8mWqN9kFZPvIap8qa1lL_EWkRcs
|
|
135
136
|
vellum/client/errors/forbidden_error.py,sha256=QO1kKlhClAPES6zsEK7g9pglWnxn3KWaOCAawWOg6Aw,263
|
136
137
|
vellum/client/errors/internal_server_error.py,sha256=8USCagXyJJ1MOm9snpcXIUt6eNXvrd_aq7Gfcu1vlOI,268
|
137
138
|
vellum/client/errors/not_found_error.py,sha256=tBVCeBC8n3C811WHRj_n-hs3h8MqwR5gp0vLiobk7W8,262
|
138
|
-
vellum/client/resources/__init__.py,sha256=
|
139
|
+
vellum/client/resources/__init__.py,sha256=g95miLphTYIegm6D-G3sWk-Sf0-5EulFpMGNJMxpp1Y,1567
|
139
140
|
vellum/client/resources/ad_hoc/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
140
141
|
vellum/client/resources/ad_hoc/client.py,sha256=_liorv4AsoJ55kVu0a5oWB3Qeff0iUKXqoHEIyDWLxc,14173
|
141
142
|
vellum/client/resources/container_images/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
@@ -172,8 +173,10 @@ vellum/client/resources/workflow_deployments/client.py,sha256=H9MhGYZVx1WLHE5j83
|
|
172
173
|
vellum/client/resources/workflow_deployments/types/__init__.py,sha256=W7DKJ1nduwhRckYLvH7wHLdaGH9MXHTZkxwG7FdTngY,340
|
173
174
|
vellum/client/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py,sha256=LPETHLX9Ygha_JRT9oWZAZR6clv-W1tTelXzktkTBX8,178
|
174
175
|
vellum/client/resources/workflow_deployments/types/workflow_deployments_list_request_status.py,sha256=FXVkVmGM6DZ2RpTGnZXWJYiVlLQ-K5fDtX3WMaBPaWk,182
|
175
|
-
vellum/client/resources/workflow_sandboxes/__init__.py,sha256=
|
176
|
-
vellum/client/resources/workflow_sandboxes/client.py,sha256=
|
176
|
+
vellum/client/resources/workflow_sandboxes/__init__.py,sha256=OR3wE3pTgsZlTS-0ukeMWzSuEZF8PszuQTCHDh6JybI,175
|
177
|
+
vellum/client/resources/workflow_sandboxes/client.py,sha256=4FfB7DCAo8DDd3CDlmRiycMjnZhP4oWEbfGuhtzVfwo,12404
|
178
|
+
vellum/client/resources/workflow_sandboxes/types/__init__.py,sha256=EaGVRU1w6kJiiHrbZOeEa0c3ggjfgv_jBqsyOkCRWOI,212
|
179
|
+
vellum/client/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py,sha256=TEwWit20W3X-zWPPLAhmUG05UudG9gaBSJ4Q4-rNJws,188
|
177
180
|
vellum/client/resources/workflows/__init__.py,sha256=Z4xi8Nxd9U4t35FQSepTt1p-ns0X1xtdNs168kUcuBk,153
|
178
181
|
vellum/client/resources/workflows/client.py,sha256=hM7FDn05XHhQk599ti8CI4moIg0RVoEFil3Wp9v9UZk,11215
|
179
182
|
vellum/client/resources/workflows/types/__init__.py,sha256=-uFca4ypncAOvfsg6sjD-5C9zWdA5qNvU6m675GphVg,177
|
@@ -182,7 +185,7 @@ vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCat
|
|
182
185
|
vellum/client/resources/workspace_secrets/client.py,sha256=h7UzXLyTttPq1t-JZGMg1BWxypxJvBGUdqg7KGT7MK4,8027
|
183
186
|
vellum/client/resources/workspaces/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
184
187
|
vellum/client/resources/workspaces/client.py,sha256=RthwzN1o-Jxwg5yyNNodavFyNUSxfLoTv26w3mRR5g8,3595
|
185
|
-
vellum/client/types/__init__.py,sha256=
|
188
|
+
vellum/client/types/__init__.py,sha256=w4LPPCUDsYhlZyPcoN7B3cCwPDL87A-UIlYTtiO0zO4,54198
|
186
189
|
vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
|
187
190
|
vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
|
188
191
|
vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
|
@@ -438,6 +441,7 @@ vellum/client/types/paginated_slim_workflow_deployment_list.py,sha256=b0SGPewaOK
|
|
438
441
|
vellum/client/types/paginated_test_suite_run_execution_list.py,sha256=_NCKlKzs-8h0oZFhbGLO4sMt3xh9jicPqJdYu-NN-8c,1019
|
439
442
|
vellum/client/types/paginated_test_suite_test_case_list.py,sha256=9KrCCQKy0egMmVx5U2k6o1GjNrUYpVvGG_hm2cHqIzc,995
|
440
443
|
vellum/client/types/paginated_workflow_release_tag_read_list.py,sha256=dH24ESWyAMVtyHsBkxG8kJ9oORY04Wn3IN-7jvV7Lu4,818
|
444
|
+
vellum/client/types/paginated_workflow_sandbox_example_list.py,sha256=rCivuKp5fzVV8PdRwyiet7bEmLxX_1hv8N0vn0xaT70,817
|
441
445
|
vellum/client/types/pdf_search_result_meta_source.py,sha256=EMVhqdN1bwE6Ujdx4VhlmKQtJvitN-57kY8oZPxh9dI,1126
|
442
446
|
vellum/client/types/pdf_search_result_meta_source_request.py,sha256=nUhaD2Kw1paGC6O_ICVNu3R0e1SVgTshRTkGNgmcjXo,1133
|
443
447
|
vellum/client/types/plain_text_prompt_block.py,sha256=cqEN-B4mcvMw_9lBN7FQG8pk9b5LBJ9xpM6PTgkGiqs,930
|
@@ -674,6 +678,7 @@ vellum/client/types/workflow_result_event_output_data_json.py,sha256=8MrgcTSVUby
|
|
674
678
|
vellum/client/types/workflow_result_event_output_data_number.py,sha256=OZYYUF3ayq7gyaesRK3YRaTMVgxFdeFGtOpTPWX10yk,1081
|
675
679
|
vellum/client/types/workflow_result_event_output_data_search_results.py,sha256=U34IK7ZvBG70ZBO4SEqbaNzIrV9Zn1NXabNh3M9v_hg,1172
|
676
680
|
vellum/client/types/workflow_result_event_output_data_string.py,sha256=tM3kgh6tEhD0dFEb_7UU0-UspeN4pUdINCcCrD64W74,1228
|
681
|
+
vellum/client/types/workflow_sandbox_example.py,sha256=ZYFI7ZahyRYMNVmF8LZcF-_lkhqt95WiWXT6SpxnFHk,666
|
677
682
|
vellum/client/types/workflow_stream_event.py,sha256=Wn3Yzuy9MqWAeo8tEaXDTKDEbJoA8DdYdMVq8EKuhu8,361
|
678
683
|
vellum/client/types/workspace_read.py,sha256=ocPtWvOwadqkU3z21bJgE4JeLYTAkOqBlKkc9lDDFFg,697
|
679
684
|
vellum/client/types/workspace_secret_read.py,sha256=3CnHDG72IAY0KRNvc31F0xLmhnpwjQHnDYCfQJzCxI0,714
|
@@ -754,6 +759,8 @@ vellum/resources/workflow_deployments/types/list_workflow_release_tags_request_s
|
|
754
759
|
vellum/resources/workflow_deployments/types/workflow_deployments_list_request_status.py,sha256=mLfHzwK3uBQfw8nku6YmceHoaWksRPRZzpNBy9MGBv4,209
|
755
760
|
vellum/resources/workflow_sandboxes/__init__.py,sha256=jHqdk62iizWsMzrhlXMhAON5eX4CRgL7ipux4MqoK2Y,160
|
756
761
|
vellum/resources/workflow_sandboxes/client.py,sha256=6hUU770XG4lOoZZOwvAqmUz5XZDgRd3MPWZs1wieWEM,167
|
762
|
+
vellum/resources/workflow_sandboxes/types/__init__.py,sha256=jMwkDLd5Xc4hheGoU-h087t1L3qxp4llmT6MG5MeufA,166
|
763
|
+
vellum/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py,sha256=ylKYQDob7ivDO05K9Y21qfAYQmWvsuhu25C6CKjby5c,209
|
757
764
|
vellum/resources/workflows/__init__.py,sha256=NhC5vYlg2Jre4lekOubbziseG5_k2c9-tlxGJ2zNVHU,151
|
758
765
|
vellum/resources/workflows/client.py,sha256=HVVkYDhHnodVD-MAj1oABf4PGVHr4XNGJrMnShuX-Oc,158
|
759
766
|
vellum/resources/workflows/types/__init__.py,sha256=n3dH29XbL5XgAZesnDu2WVWUd_JqPU-s1vOKU_56oDs,157
|
@@ -1018,6 +1025,7 @@ vellum/types/paginated_slim_workflow_deployment_list.py,sha256=3QgvxRFqcOw9z-cl0
|
|
1018
1025
|
vellum/types/paginated_test_suite_run_execution_list.py,sha256=XEr928_4w9Rw9_q6dshxPWfXXptLdRlDp-frKIIcdYQ,177
|
1019
1026
|
vellum/types/paginated_test_suite_test_case_list.py,sha256=LoyXDEr2yXrkniJ25HctBWvhqKQ987XItukUwPYUIhQ,173
|
1020
1027
|
vellum/types/paginated_workflow_release_tag_read_list.py,sha256=XUeQn_6JPJ6K2qts-NZIEEZF94C3U2AosStc2k57eWY,178
|
1028
|
+
vellum/types/paginated_workflow_sandbox_example_list.py,sha256=FlPNK6QtzQL9yD-k_qpQrE8yMARrJRjk5aGf6ZTbGyY,177
|
1021
1029
|
vellum/types/pdf_search_result_meta_source.py,sha256=tkM53z99Zky8ifkcfj1HoS7k-scjy6xeVInVDjMTBzM,167
|
1022
1030
|
vellum/types/pdf_search_result_meta_source_request.py,sha256=TW9FWTdqZi-SuERKkjMdrKBgQEq3RA4W9nwefm8it6k,175
|
1023
1031
|
vellum/types/plain_text_prompt_block.py,sha256=K5tGXMDCVTLDIDOL17TjLvZD6pMaHnRtcSYfXOrzQMM,161
|
@@ -1254,6 +1262,7 @@ vellum/types/workflow_result_event_output_data_json.py,sha256=z5uMkd759__fTOKWDA
|
|
1254
1262
|
vellum/types/workflow_result_event_output_data_number.py,sha256=TtQhFjBxV8zc036NkvBrYhWWHEmaUJk2RWAd1NKVtz0,178
|
1255
1263
|
vellum/types/workflow_result_event_output_data_search_results.py,sha256=UNfCHLQ0jd5advLYdV7IBgmsRNzJ0PdDd3r2dNiIlgY,186
|
1256
1264
|
vellum/types/workflow_result_event_output_data_string.py,sha256=rHEVbN0nyf-xoDoSIUEKlUKh6DDoguer4w0iN18JQ2I,178
|
1265
|
+
vellum/types/workflow_sandbox_example.py,sha256=PixQSt8aczB-oUT8qTL6k9nY-H2Mx7XvispKV0thUHM,162
|
1257
1266
|
vellum/types/workflow_stream_event.py,sha256=PjHGgN0eJm5w-5FJ6__ASC1FU94Gsav_ko5JWkpVvK8,159
|
1258
1267
|
vellum/types/workspace_read.py,sha256=9CvgvK8Li8vL6qC5KX7f3-nEHslJ4lw2w07bvXcrjA0,152
|
1259
1268
|
vellum/types/workspace_secret_read.py,sha256=Z6QNXHxVHRdrLXSI31KxngePRwJTVoJYMXVbtPQwrxs,159
|
@@ -1271,7 +1280,7 @@ vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
|
|
1271
1280
|
vellum/workflows/README.md,sha256=MLNm-ihc0ao6I8gwwOhXQQBf0jOf-EsA9C519ALYI1o,3610
|
1272
1281
|
vellum/workflows/__init__.py,sha256=CssPsbNvN6rDhoLuqpEv7MMKGa51vE6dvAh6U31Pcio,71
|
1273
1282
|
vellum/workflows/constants.py,sha256=2yg4_uo5gpqViy3ZLSwfC8qTybleYCtOnhA4Rj6bacM,1310
|
1274
|
-
vellum/workflows/context.py,sha256=
|
1283
|
+
vellum/workflows/context.py,sha256=DwSf8lO9NHABiqOoD3exgrjUoRuNsKtutaL5TgRbD-A,1441
|
1275
1284
|
vellum/workflows/descriptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1276
1285
|
vellum/workflows/descriptors/base.py,sha256=gSib3vJpcI_UC8y8jhdp-hOK3_TGTF-SuwdhxF6x5iQ,14332
|
1277
1286
|
vellum/workflows/descriptors/exceptions.py,sha256=gUy4UD9JFUKSeQnQpeuDSLiRqWjWiIsxLahB7p_q3JY,54
|
@@ -1380,8 +1389,8 @@ vellum/workflows/nodes/displayable/code_execution_node/node.py,sha256=_yrQn_uLwy
|
|
1380
1389
|
vellum/workflows/nodes/displayable/code_execution_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1381
1390
|
vellum/workflows/nodes/displayable/code_execution_node/tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1382
1391
|
vellum/workflows/nodes/displayable/code_execution_node/tests/fixtures/main.py,sha256=5QsbmkzSlSbcbWTG_JmIqcP-JNJzOPTKxGzdHos19W4,79
|
1383
|
-
vellum/workflows/nodes/displayable/code_execution_node/tests/test_code_execution_node.py,sha256=
|
1384
|
-
vellum/workflows/nodes/displayable/code_execution_node/utils.py,sha256=
|
1392
|
+
vellum/workflows/nodes/displayable/code_execution_node/tests/test_code_execution_node.py,sha256=4ADDKsObtUs0PhcWyAjWyQcAF7PGUYE0CxjYp8d-1NM,20637
|
1393
|
+
vellum/workflows/nodes/displayable/code_execution_node/utils.py,sha256=BQraIN4I3DCzXLEuBlRYCyp7ote7hQmnnKHu4jFHCCA,5174
|
1385
1394
|
vellum/workflows/nodes/displayable/conditional_node/__init__.py,sha256=AS_EIqFdU1F9t8aLmbZU-rLh9ry6LCJ0uj0D8F0L5Uw,72
|
1386
1395
|
vellum/workflows/nodes/displayable/conditional_node/node.py,sha256=Qjfl33gZ3JEgxBA1EgzSUebboGvsARthIxxcQyvx5Gg,1152
|
1387
1396
|
vellum/workflows/nodes/displayable/final_output_node/__init__.py,sha256=G7VXM4OWpubvSJtVkGmMNeqgb9GkM7qZT838eL18XU4,72
|
@@ -1397,7 +1406,7 @@ vellum/workflows/nodes/displayable/merge_node/node.py,sha256=nZtGGVAvY4fvGg8vwV6
|
|
1397
1406
|
vellum/workflows/nodes/displayable/note_node/__init__.py,sha256=KWA3P4fyYJ-fOTky8qNGlcOotQ-HeHJ9AjZt6mRQmCE,58
|
1398
1407
|
vellum/workflows/nodes/displayable/note_node/node.py,sha256=sIN1VBQ7zeT3GhN0kupXbFfdpvgedWV79k4woJNp5IQ,394
|
1399
1408
|
vellum/workflows/nodes/displayable/prompt_deployment_node/__init__.py,sha256=krX1Hds-TSVYZsx0wJFX4wsAKkEFYOX1ifwRGiIM-EA,82
|
1400
|
-
vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=
|
1409
|
+
vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=pb-KbrnfTRL7mmNtVAMmiCiys8raXkl5Od7sIu682xU,2707
|
1401
1410
|
vellum/workflows/nodes/displayable/prompt_deployment_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1402
1411
|
vellum/workflows/nodes/displayable/prompt_deployment_node/tests/test_node.py,sha256=ymEwMwrwRuQGyvkTnqeRZvfK7dhnf-kmRJTuwlycNjI,3939
|
1403
1412
|
vellum/workflows/nodes/displayable/search_node/__init__.py,sha256=hpBpvbrDYf43DElRZFLzieSn8weXiwNiiNOJurERQbs,62
|
@@ -1405,9 +1414,9 @@ vellum/workflows/nodes/displayable/search_node/node.py,sha256=_VHHuTNN4icZBgc7O5
|
|
1405
1414
|
vellum/workflows/nodes/displayable/search_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1406
1415
|
vellum/workflows/nodes/displayable/search_node/tests/test_node.py,sha256=2-QCV7Vk_-YMls33p0GOUtCv3f2uPNZCjkB2CRjek7o,6562
|
1407
1416
|
vellum/workflows/nodes/displayable/subworkflow_deployment_node/__init__.py,sha256=9yYM6001YZeqI1VOk1QuEM_yrffk_EdsO7qaPzINKds,92
|
1408
|
-
vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=
|
1417
|
+
vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=9yqklkehUWLFhjIAC2WrkoMNqqvzHj1-hsuIVLXJHfo,8657
|
1409
1418
|
vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1410
|
-
vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/test_node.py,sha256=
|
1419
|
+
vellum/workflows/nodes/displayable/subworkflow_deployment_node/tests/test_node.py,sha256=qHnwn1KI4XpxM1b1zmCXEZUBxe5Sjk88ehxZ8HIGJQc,6353
|
1411
1420
|
vellum/workflows/nodes/displayable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1412
1421
|
vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py,sha256=LaxohBcKfSW2PSiBBlx67FdW_q4YC2BM2ouH-vuGPAA,4700
|
1413
1422
|
vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=VepO5z1277c1y5N6LLIC31nnWD1aak2m5oPFplfJHHs,6935
|
@@ -1470,12 +1479,13 @@ vellum/workflows/utils/uuids.py,sha256=DFzPv9RCvsKhvdTEIQyfSek2A31D6S_QcmeLPbgrg
|
|
1470
1479
|
vellum/workflows/utils/vellum_variables.py,sha256=fC2aSLvlS31D15dOWu43LBRR0QsgUKNXBiCUvvaLXSs,3231
|
1471
1480
|
vellum/workflows/vellum_client.py,sha256=ODrq_TSl-drX2aezXegf7pizpWDVJuTXH-j6528t75s,683
|
1472
1481
|
vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
|
1473
|
-
vellum/workflows/workflows/base.py,sha256=
|
1482
|
+
vellum/workflows/workflows/base.py,sha256=k3GfMDbhsa0pNGGHEaqJFbACyIJf_-wZMOz3FFtr_ls,22192
|
1474
1483
|
vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnadGsrSZGa7t7LpJA,2008
|
1475
1484
|
vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1476
|
-
vellum/workflows/workflows/tests/test_base_workflow.py,sha256=
|
1477
|
-
|
1478
|
-
vellum_ai-0.14.
|
1479
|
-
vellum_ai-0.14.
|
1480
|
-
vellum_ai-0.14.
|
1481
|
-
vellum_ai-0.14.
|
1485
|
+
vellum/workflows/workflows/tests/test_base_workflow.py,sha256=DTfXqHUF0SJELTVSA9PCOWHVoAylqpDNFZTkQM44CdU,6215
|
1486
|
+
vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
|
1487
|
+
vellum_ai-0.14.6.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
|
1488
|
+
vellum_ai-0.14.6.dist-info/METADATA,sha256=gJeL8u5StNSUb5b8gENXqxj5mH0etlqQWLtWKBvE_eY,5407
|
1489
|
+
vellum_ai-0.14.6.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1490
|
+
vellum_ai-0.14.6.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
|
1491
|
+
vellum_ai-0.14.6.dist-info/RECORD,,
|
@@ -1,4 +1,5 @@
|
|
1
1
|
from .api_node import BaseAPINodeDisplay
|
2
|
+
from .base_adornment_node import BaseAdornmentNodeDisplay
|
2
3
|
from .code_execution_node import BaseCodeExecutionNodeDisplay
|
3
4
|
from .conditional_node import BaseConditionalNodeDisplay
|
4
5
|
from .error_node import BaseErrorNodeDisplay
|
@@ -18,6 +19,7 @@ from .try_node import BaseTryNodeDisplay
|
|
18
19
|
|
19
20
|
# All node display classes must be imported here to be registered in BaseNodeDisplay's node display registry
|
20
21
|
__all__ = [
|
22
|
+
"BaseAdornmentNodeDisplay",
|
21
23
|
"BaseAPINodeDisplay",
|
22
24
|
"BaseCodeExecutionNodeDisplay",
|
23
25
|
"BaseConditionalNodeDisplay",
|