vellum-ai 0.14.22__py3-none-any.whl → 0.14.24__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 +122 -0
- vellum/client/core/client_wrapper.py +1 -1
- vellum/client/resources/workflow_deployments/client.py +250 -0
- vellum/client/types/__init__.py +122 -0
- vellum/client/types/api_request_parent_context.py +41 -0
- vellum/client/types/api_version_enum.py +5 -0
- vellum/client/types/base_output.py +21 -0
- vellum/client/types/code_resource_definition.py +31 -0
- vellum/client/types/external_input_descriptor.py +23 -0
- vellum/client/types/invoked_port.py +19 -0
- vellum/client/types/ml_model_usage_wrapper.py +21 -0
- vellum/client/types/node_event_display_context.py +30 -0
- vellum/client/types/node_execution_fulfilled_body.py +24 -0
- vellum/client/types/node_execution_fulfilled_event.py +49 -0
- vellum/client/types/node_execution_initiated_body.py +21 -0
- vellum/client/types/node_execution_initiated_event.py +49 -0
- vellum/client/types/node_execution_paused_body.py +20 -0
- vellum/client/types/node_execution_paused_event.py +49 -0
- vellum/client/types/node_execution_rejected_body.py +22 -0
- vellum/client/types/node_execution_rejected_event.py +49 -0
- vellum/client/types/node_execution_resumed_body.py +20 -0
- vellum/client/types/node_execution_resumed_event.py +49 -0
- vellum/client/types/node_execution_span.py +46 -0
- vellum/client/types/node_execution_span_attributes.py +19 -0
- vellum/client/types/node_execution_streaming_body.py +22 -0
- vellum/client/types/node_execution_streaming_event.py +49 -0
- vellum/client/types/node_parent_context.py +43 -0
- vellum/client/types/parent_context.py +21 -0
- vellum/client/types/prompt_deployment_parent_context.py +49 -0
- vellum/client/types/slim_workflow_execution_read.py +54 -0
- vellum/client/types/span_link.py +41 -0
- vellum/client/types/span_link_type_enum.py +5 -0
- vellum/client/types/vellum_code_resource_definition.py +25 -0
- vellum/client/types/vellum_node_execution_event.py +18 -0
- vellum/client/types/vellum_sdk_error.py +21 -0
- vellum/client/types/vellum_sdk_error_code_enum.py +20 -0
- vellum/client/types/vellum_span.py +7 -0
- vellum/client/types/vellum_workflow_execution_event.py +20 -0
- vellum/client/types/workflow_deployment_event_executions_response.py +55 -0
- vellum/client/types/workflow_deployment_parent_context.py +49 -0
- vellum/client/types/workflow_error.py +7 -0
- vellum/client/types/workflow_event_display_context.py +28 -0
- vellum/client/types/workflow_event_execution_read.py +60 -0
- vellum/client/types/workflow_execution_actual.py +30 -0
- vellum/client/types/workflow_execution_fulfilled_body.py +21 -0
- vellum/client/types/workflow_execution_fulfilled_event.py +49 -0
- vellum/client/types/workflow_execution_initiated_body.py +30 -0
- vellum/client/types/workflow_execution_initiated_event.py +53 -0
- vellum/client/types/workflow_execution_paused_body.py +22 -0
- vellum/client/types/workflow_execution_paused_event.py +49 -0
- vellum/client/types/workflow_execution_rejected_body.py +22 -0
- vellum/client/types/workflow_execution_rejected_event.py +49 -0
- vellum/client/types/workflow_execution_resumed_body.py +20 -0
- vellum/client/types/workflow_execution_resumed_event.py +49 -0
- vellum/client/types/workflow_execution_snapshotted_body.py +21 -0
- vellum/client/types/workflow_execution_snapshotted_event.py +51 -0
- vellum/client/types/workflow_execution_span.py +50 -0
- vellum/client/types/workflow_execution_span_attributes.py +19 -0
- vellum/client/types/workflow_execution_streaming_body.py +22 -0
- vellum/client/types/workflow_execution_streaming_event.py +49 -0
- vellum/client/types/workflow_execution_usage_calculation_fulfilled_body.py +22 -0
- vellum/client/types/workflow_execution_view_online_eval_metric_result.py +30 -0
- vellum/client/types/workflow_initialization_error.py +24 -0
- vellum/client/types/workflow_parent_context.py +43 -0
- vellum/client/types/workflow_sandbox_parent_context.py +44 -0
- vellum/plugins/pydantic.py +2 -0
- vellum/types/api_request_parent_context.py +3 -0
- vellum/types/api_version_enum.py +3 -0
- vellum/types/base_output.py +3 -0
- vellum/types/code_resource_definition.py +3 -0
- vellum/types/external_input_descriptor.py +3 -0
- vellum/types/invoked_port.py +3 -0
- vellum/types/ml_model_usage_wrapper.py +3 -0
- vellum/types/node_event_display_context.py +3 -0
- vellum/types/node_execution_fulfilled_body.py +3 -0
- vellum/types/node_execution_fulfilled_event.py +3 -0
- vellum/types/node_execution_initiated_body.py +3 -0
- vellum/types/node_execution_initiated_event.py +3 -0
- vellum/types/node_execution_paused_body.py +3 -0
- vellum/types/node_execution_paused_event.py +3 -0
- vellum/types/node_execution_rejected_body.py +3 -0
- vellum/types/node_execution_rejected_event.py +3 -0
- vellum/types/node_execution_resumed_body.py +3 -0
- vellum/types/node_execution_resumed_event.py +3 -0
- vellum/types/node_execution_span.py +3 -0
- vellum/types/node_execution_span_attributes.py +3 -0
- vellum/types/node_execution_streaming_body.py +3 -0
- vellum/types/node_execution_streaming_event.py +3 -0
- vellum/types/node_parent_context.py +3 -0
- vellum/types/parent_context.py +3 -0
- vellum/types/prompt_deployment_parent_context.py +3 -0
- vellum/types/slim_workflow_execution_read.py +3 -0
- vellum/types/span_link.py +3 -0
- vellum/types/span_link_type_enum.py +3 -0
- vellum/types/vellum_code_resource_definition.py +3 -0
- vellum/types/vellum_node_execution_event.py +3 -0
- vellum/types/vellum_sdk_error.py +3 -0
- vellum/types/vellum_sdk_error_code_enum.py +3 -0
- vellum/types/vellum_span.py +3 -0
- vellum/types/vellum_workflow_execution_event.py +3 -0
- vellum/types/workflow_deployment_event_executions_response.py +3 -0
- vellum/types/workflow_deployment_parent_context.py +3 -0
- vellum/types/workflow_error.py +3 -0
- vellum/types/workflow_event_display_context.py +3 -0
- vellum/types/workflow_event_execution_read.py +3 -0
- vellum/types/workflow_execution_actual.py +3 -0
- vellum/types/workflow_execution_fulfilled_body.py +3 -0
- vellum/types/workflow_execution_fulfilled_event.py +3 -0
- vellum/types/workflow_execution_initiated_body.py +3 -0
- vellum/types/workflow_execution_initiated_event.py +3 -0
- vellum/types/workflow_execution_paused_body.py +3 -0
- vellum/types/workflow_execution_paused_event.py +3 -0
- vellum/types/workflow_execution_rejected_body.py +3 -0
- vellum/types/workflow_execution_rejected_event.py +3 -0
- vellum/types/workflow_execution_resumed_body.py +3 -0
- vellum/types/workflow_execution_resumed_event.py +3 -0
- vellum/types/workflow_execution_snapshotted_body.py +3 -0
- vellum/types/workflow_execution_snapshotted_event.py +3 -0
- vellum/types/workflow_execution_span.py +3 -0
- vellum/types/workflow_execution_span_attributes.py +3 -0
- vellum/types/workflow_execution_streaming_body.py +3 -0
- vellum/types/workflow_execution_streaming_event.py +3 -0
- vellum/types/workflow_execution_usage_calculation_fulfilled_body.py +3 -0
- vellum/types/workflow_execution_view_online_eval_metric_result.py +3 -0
- vellum/types/workflow_initialization_error.py +3 -0
- vellum/types/workflow_parent_context.py +3 -0
- vellum/types/workflow_sandbox_parent_context.py +3 -0
- vellum/workflows/nodes/core/inline_subworkflow_node/node.py +6 -0
- vellum/workflows/nodes/core/inline_subworkflow_node/tests/test_node.py +27 -0
- vellum/workflows/nodes/core/retry_node/tests/test_node.py +0 -23
- vellum/workflows/workflows/base.py +2 -2
- vellum/workflows/workflows/tests/test_base_workflow.py +10 -0
- {vellum_ai-0.14.22.dist-info → vellum_ai-0.14.24.dist-info}/METADATA +1 -1
- {vellum_ai-0.14.22.dist-info → vellum_ai-0.14.24.dist-info}/RECORD +157 -33
- vellum_ee/workflows/display/base.py +26 -4
- vellum_ee/workflows/display/editor/__init__.py +7 -0
- vellum_ee/workflows/display/editor/types.py +22 -0
- vellum_ee/workflows/display/nodes/base_node_display.py +2 -1
- vellum_ee/workflows/display/nodes/base_node_vellum_display.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/api_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/final_output_node.py +8 -0
- vellum_ee/workflows/display/nodes/vellum/search_node.py +2 -1
- vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py +5 -11
- vellum_ee/workflows/display/nodes/vellum/utils.py +3 -4
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py +2 -1
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py +8 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py +12 -8
- vellum_ee/workflows/display/types.py +16 -13
- vellum_ee/workflows/display/utils/expressions.py +6 -2
- vellum_ee/workflows/display/utils/vellum.py +59 -13
- vellum_ee/workflows/display/vellum.py +18 -95
- vellum_ee/workflows/display/workflows/base_workflow_display.py +54 -46
- vellum_ee/workflows/display/workflows/tests/test_workflow_display.py +15 -1
- vellum_ee/workflows/display/workflows/vellum_workflow_display.py +2 -4
- {vellum_ai-0.14.22.dist-info → vellum_ai-0.14.24.dist-info}/LICENSE +0 -0
- {vellum_ai-0.14.22.dist-info → vellum_ai-0.14.24.dist-info}/WHEEL +0 -0
- {vellum_ai-0.14.22.dist-info → vellum_ai-0.14.24.dist-info}/entry_points.txt +0 -0
@@ -10,7 +10,6 @@ from vellum.workflows import BaseWorkflow
|
|
10
10
|
from vellum.workflows.descriptors.base import BaseDescriptor
|
11
11
|
from vellum.workflows.edges import Edge
|
12
12
|
from vellum.workflows.events.workflow import NodeEventDisplayContext, WorkflowEventDisplayContext
|
13
|
-
from vellum.workflows.expressions.coalesce_expression import CoalesceExpression
|
14
13
|
from vellum.workflows.nodes.bases import BaseNode
|
15
14
|
from vellum.workflows.nodes.utils import get_unadorned_node, get_wrapped_node
|
16
15
|
from vellum.workflows.ports import Port
|
@@ -26,16 +25,22 @@ from vellum_ee.workflows.display.base import (
|
|
26
25
|
StateValueDisplayType,
|
27
26
|
WorkflowInputsDisplayOverridesType,
|
28
27
|
WorkflowInputsDisplayType,
|
29
|
-
|
30
|
-
WorkflowMetaDisplayType,
|
28
|
+
WorkflowMetaDisplay,
|
31
29
|
WorkflowOutputDisplay,
|
32
30
|
)
|
33
31
|
from vellum_ee.workflows.display.nodes.base_node_display import BaseNodeDisplay
|
34
32
|
from vellum_ee.workflows.display.nodes.base_node_vellum_display import BaseNodeVellumDisplay
|
35
33
|
from vellum_ee.workflows.display.nodes.get_node_display_class import get_node_display_class
|
36
|
-
from vellum_ee.workflows.display.nodes.types import NodeOutputDisplay, PortDisplay
|
34
|
+
from vellum_ee.workflows.display.nodes.types import NodeOutputDisplay, PortDisplay
|
37
35
|
from vellum_ee.workflows.display.nodes.utils import raise_if_descriptor
|
38
|
-
from vellum_ee.workflows.display.types import
|
36
|
+
from vellum_ee.workflows.display.types import (
|
37
|
+
EdgeDisplays,
|
38
|
+
NodeDisplays,
|
39
|
+
NodeOutputDisplays,
|
40
|
+
PortDisplays,
|
41
|
+
WorkflowDisplayContext,
|
42
|
+
WorkflowOutputDisplays,
|
43
|
+
)
|
39
44
|
from vellum_ee.workflows.display.workflows.get_vellum_workflow_display_class import get_workflow_display
|
40
45
|
|
41
46
|
logger = logging.getLogger(__name__)
|
@@ -44,8 +49,6 @@ logger = logging.getLogger(__name__)
|
|
44
49
|
class BaseWorkflowDisplay(
|
45
50
|
Generic[
|
46
51
|
WorkflowType,
|
47
|
-
WorkflowMetaDisplayType,
|
48
|
-
WorkflowMetaDisplayOverridesType,
|
49
52
|
WorkflowInputsDisplayType,
|
50
53
|
WorkflowInputsDisplayOverridesType,
|
51
54
|
StateValueDisplayType,
|
@@ -55,7 +58,7 @@ class BaseWorkflowDisplay(
|
|
55
58
|
]
|
56
59
|
):
|
57
60
|
# Used to specify the display data for a workflow.
|
58
|
-
workflow_display: Optional[
|
61
|
+
workflow_display: Optional[WorkflowMetaDisplay] = None
|
59
62
|
|
60
63
|
# Used to explicitly specify display data for a workflow's inputs.
|
61
64
|
inputs_display: Dict[WorkflowInputReference, WorkflowInputsDisplayOverridesType] = {}
|
@@ -67,13 +70,13 @@ class BaseWorkflowDisplay(
|
|
67
70
|
entrypoint_displays: Dict[Type[BaseNode], EntrypointDisplayOverridesType] = {}
|
68
71
|
|
69
72
|
# Used to explicitly specify display data for a workflow's outputs.
|
70
|
-
output_displays:
|
73
|
+
output_displays: WorkflowOutputDisplays = {}
|
71
74
|
|
72
75
|
# Used to explicitly specify display data for a workflow's edges.
|
73
|
-
edge_displays:
|
76
|
+
edge_displays: EdgeDisplays = {}
|
74
77
|
|
75
78
|
# Used to explicitly specify display data for a workflow's ports.
|
76
|
-
port_displays:
|
79
|
+
port_displays: PortDisplays = {}
|
77
80
|
|
78
81
|
# Used to store the mapping between workflows and their display classes
|
79
82
|
_workflow_display_registry: Dict[Type[WorkflowType], Type["BaseWorkflowDisplay"]] = {}
|
@@ -88,7 +91,6 @@ class BaseWorkflowDisplay(
|
|
88
91
|
*,
|
89
92
|
parent_display_context: Optional[
|
90
93
|
WorkflowDisplayContext[
|
91
|
-
WorkflowMetaDisplayType,
|
92
94
|
WorkflowInputsDisplayType,
|
93
95
|
StateValueDisplayType,
|
94
96
|
EntrypointDisplayType,
|
@@ -184,50 +186,41 @@ class BaseWorkflowDisplay(
|
|
184
186
|
def display_context(
|
185
187
|
self,
|
186
188
|
) -> WorkflowDisplayContext[
|
187
|
-
WorkflowMetaDisplayType,
|
188
189
|
WorkflowInputsDisplayType,
|
189
190
|
StateValueDisplayType,
|
190
191
|
EntrypointDisplayType,
|
191
192
|
]:
|
192
193
|
workflow_display = self._generate_workflow_meta_display()
|
193
194
|
|
194
|
-
global_node_output_displays:
|
195
|
+
global_node_output_displays: NodeOutputDisplays = (
|
195
196
|
copy(self._parent_display_context.global_node_output_displays) if self._parent_display_context else {}
|
196
197
|
)
|
197
198
|
|
198
|
-
node_displays:
|
199
|
+
node_displays: NodeDisplays = {}
|
199
200
|
|
200
|
-
global_node_displays:
|
201
|
+
global_node_displays: NodeDisplays = (
|
201
202
|
copy(self._parent_display_context.global_node_displays) if self._parent_display_context else {}
|
202
203
|
)
|
203
204
|
|
204
|
-
port_displays:
|
205
|
+
port_displays: PortDisplays = {}
|
205
206
|
|
206
207
|
for node in self._workflow.get_nodes():
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
global_node_displays[extracted_node] = extracted_node_display
|
215
|
-
|
216
|
-
self._enrich_global_node_output_displays(node, extracted_node_displays[node], global_node_output_displays)
|
217
|
-
self._enrich_node_port_displays(node, extracted_node_displays[node], port_displays)
|
208
|
+
self._enrich_node_displays(
|
209
|
+
node=node,
|
210
|
+
node_displays=node_displays,
|
211
|
+
global_node_displays=global_node_displays,
|
212
|
+
global_node_output_displays=global_node_output_displays,
|
213
|
+
port_displays=port_displays,
|
214
|
+
)
|
218
215
|
|
219
216
|
for node in self._workflow.get_unused_nodes():
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
global_node_displays[extracted_node] = extracted_node_display
|
228
|
-
|
229
|
-
self._enrich_global_node_output_displays(node, extracted_node_displays[node], global_node_output_displays)
|
230
|
-
self._enrich_node_port_displays(node, extracted_node_displays[node], port_displays)
|
217
|
+
self._enrich_node_displays(
|
218
|
+
node=node,
|
219
|
+
node_displays=node_displays,
|
220
|
+
global_node_displays=global_node_displays,
|
221
|
+
global_node_output_displays=global_node_output_displays,
|
222
|
+
port_displays=port_displays,
|
223
|
+
)
|
231
224
|
|
232
225
|
workflow_input_displays: Dict[WorkflowInputReference, WorkflowInputsDisplayType] = {}
|
233
226
|
# If we're dealing with a nested workflow, then it should have access to the inputs of its parents.
|
@@ -291,11 +284,6 @@ class BaseWorkflowDisplay(
|
|
291
284
|
if not isinstance(workflow_output, OutputReference):
|
292
285
|
raise ValueError(f"{workflow_output} must be an {OutputReference.__name__}")
|
293
286
|
|
294
|
-
if not workflow_output.instance or not isinstance(
|
295
|
-
workflow_output.instance, (OutputReference, CoalesceExpression)
|
296
|
-
):
|
297
|
-
raise ValueError("Expected to find a descriptor instance on the workflow output")
|
298
|
-
|
299
287
|
workflow_output_display = self.output_displays.get(workflow_output)
|
300
288
|
workflow_output_displays[workflow_output] = (
|
301
289
|
workflow_output_display or self._generate_workflow_output_display(workflow_output)
|
@@ -318,7 +306,7 @@ class BaseWorkflowDisplay(
|
|
318
306
|
)
|
319
307
|
|
320
308
|
@abstractmethod
|
321
|
-
def _generate_workflow_meta_display(self) ->
|
309
|
+
def _generate_workflow_meta_display(self) -> WorkflowMetaDisplay:
|
322
310
|
pass
|
323
311
|
|
324
312
|
@abstractmethod
|
@@ -337,7 +325,7 @@ class BaseWorkflowDisplay(
|
|
337
325
|
def _generate_entrypoint_display(
|
338
326
|
self,
|
339
327
|
entrypoint: Type[BaseNode],
|
340
|
-
workflow_display:
|
328
|
+
workflow_display: WorkflowMetaDisplay,
|
341
329
|
node_displays: Dict[Type[BaseNode], BaseNodeDisplay],
|
342
330
|
overrides: Optional[EntrypointDisplayOverridesType] = None,
|
343
331
|
) -> EntrypointDisplayType:
|
@@ -424,6 +412,26 @@ class BaseWorkflowDisplay(
|
|
424
412
|
)
|
425
413
|
return display_meta
|
426
414
|
|
415
|
+
def _enrich_node_displays(
|
416
|
+
self,
|
417
|
+
node: Type[BaseNode],
|
418
|
+
node_displays: NodeDisplays,
|
419
|
+
global_node_displays: NodeDisplays,
|
420
|
+
global_node_output_displays: NodeOutputDisplays,
|
421
|
+
port_displays: PortDisplays,
|
422
|
+
) -> None:
|
423
|
+
extracted_node_displays = self._extract_node_displays(node)
|
424
|
+
|
425
|
+
for extracted_node, extracted_node_display in extracted_node_displays.items():
|
426
|
+
if extracted_node not in node_displays:
|
427
|
+
node_displays[extracted_node] = extracted_node_display
|
428
|
+
|
429
|
+
if extracted_node not in global_node_displays:
|
430
|
+
global_node_displays[extracted_node] = extracted_node_display
|
431
|
+
|
432
|
+
self._enrich_global_node_output_displays(node, extracted_node_displays[node], global_node_output_displays)
|
433
|
+
self._enrich_node_port_displays(node, extracted_node_displays[node], port_displays)
|
434
|
+
|
427
435
|
def _extract_node_displays(self, node: Type[BaseNode]) -> Dict[Type[BaseNode], BaseNodeDisplay]:
|
428
436
|
node_display = self._get_node_display(node)
|
429
437
|
additional_node_displays: Dict[Type[BaseNode], BaseNodeDisplay] = {
|
@@ -7,10 +7,10 @@ from vellum.workflows.nodes.core.retry_node.node import RetryNode
|
|
7
7
|
from vellum.workflows.nodes.core.templating_node.node import TemplatingNode
|
8
8
|
from vellum.workflows.nodes.core.try_node.node import TryNode
|
9
9
|
from vellum.workflows.workflows.base import BaseWorkflow
|
10
|
+
from vellum_ee.workflows.display.editor.types import NodeDisplayData, NodeDisplayPosition
|
10
11
|
from vellum_ee.workflows.display.nodes import BaseNodeDisplay
|
11
12
|
from vellum_ee.workflows.display.nodes.vellum.retry_node import BaseRetryNodeDisplay
|
12
13
|
from vellum_ee.workflows.display.nodes.vellum.try_node import BaseTryNodeDisplay
|
13
|
-
from vellum_ee.workflows.display.vellum import NodeDisplayData, NodeDisplayPosition
|
14
14
|
from vellum_ee.workflows.display.workflows import VellumWorkflowDisplay
|
15
15
|
from vellum_ee.workflows.display.workflows.get_vellum_workflow_display_class import get_workflow_display
|
16
16
|
|
@@ -275,3 +275,17 @@ def test_get_event_display_context__node_display_for_mutiple_adornments():
|
|
275
275
|
assert innermost_node_id in inner_node_event_display.subworkflow_display.node_displays
|
276
276
|
innermost_node_event_display = inner_node_event_display.subworkflow_display.node_displays[innermost_node_id]
|
277
277
|
assert not innermost_node_event_display.subworkflow_display
|
278
|
+
|
279
|
+
|
280
|
+
def test_get_event_display_context__workflow_output_display_with_none():
|
281
|
+
# GIVEN a workflow with a workflow output that is None
|
282
|
+
class MyWorkflow(BaseWorkflow):
|
283
|
+
class Outputs(BaseWorkflow.Outputs):
|
284
|
+
foo = None
|
285
|
+
bar = "baz"
|
286
|
+
|
287
|
+
# WHEN we gather the event display context
|
288
|
+
display_context = VellumWorkflowDisplay(MyWorkflow).get_event_display_context()
|
289
|
+
|
290
|
+
# THEN the workflow output display should be included
|
291
|
+
assert display_context.workflow_outputs.keys() == {"foo", "bar"}
|
@@ -12,6 +12,7 @@ from vellum.workflows.references.output import OutputReference
|
|
12
12
|
from vellum.workflows.types.core import JsonArray, JsonObject
|
13
13
|
from vellum.workflows.types.generics import WorkflowType
|
14
14
|
from vellum.workflows.utils.uuids import uuid4_from_hash
|
15
|
+
from vellum_ee.workflows.display.base import WorkflowMetaDisplay
|
15
16
|
from vellum_ee.workflows.display.nodes.base_node_display import BaseNodeDisplay
|
16
17
|
from vellum_ee.workflows.display.nodes.base_node_vellum_display import BaseNodeVellumDisplay
|
17
18
|
from vellum_ee.workflows.display.nodes.vellum.utils import create_node_input
|
@@ -25,7 +26,6 @@ from vellum_ee.workflows.display.vellum import (
|
|
25
26
|
WorkflowInputsVellumDisplay,
|
26
27
|
WorkflowInputsVellumDisplayOverrides,
|
27
28
|
WorkflowMetaVellumDisplay,
|
28
|
-
WorkflowMetaVellumDisplayOverrides,
|
29
29
|
)
|
30
30
|
from vellum_ee.workflows.display.workflows.base_workflow_display import BaseWorkflowDisplay
|
31
31
|
|
@@ -35,8 +35,6 @@ logger = logging.getLogger(__name__)
|
|
35
35
|
class VellumWorkflowDisplay(
|
36
36
|
BaseWorkflowDisplay[
|
37
37
|
WorkflowType,
|
38
|
-
WorkflowMetaVellumDisplay,
|
39
|
-
WorkflowMetaVellumDisplayOverrides,
|
40
38
|
WorkflowInputsVellumDisplay,
|
41
39
|
WorkflowInputsVellumDisplayOverrides,
|
42
40
|
StateValueVellumDisplay,
|
@@ -346,7 +344,7 @@ class VellumWorkflowDisplay(
|
|
346
344
|
def _generate_entrypoint_display(
|
347
345
|
self,
|
348
346
|
entrypoint: Type[BaseNode],
|
349
|
-
workflow_display:
|
347
|
+
workflow_display: WorkflowMetaDisplay,
|
350
348
|
node_displays: Dict[Type[BaseNode], BaseNodeDisplay],
|
351
349
|
overrides: Optional[EntrypointVellumDisplayOverrides] = None,
|
352
350
|
) -> EntrypointVellumDisplay:
|
File without changes
|
File without changes
|
File without changes
|