vellum-ai 0.14.0__py3-none-any.whl → 0.14.1__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/client/core/client_wrapper.py +1 -1
- vellum/prompts/blocks/compilation.py +23 -16
- vellum/prompts/blocks/tests/test_compilation.py +29 -0
- vellum/utils/templating/render.py +2 -0
- vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py +39 -1
- vellum/workflows/nodes/utils.py +9 -1
- vellum/workflows/state/base.py +21 -1
- {vellum_ai-0.14.0.dist-info → vellum_ai-0.14.1.dist-info}/METADATA +1 -1
- {vellum_ai-0.14.0.dist-info → vellum_ai-0.14.1.dist-info}/RECORD +40 -37
- vellum_ee/workflows/display/base.py +14 -0
- vellum_ee/workflows/display/nodes/base_node_display.py +11 -22
- vellum_ee/workflows/display/nodes/vellum/tests/test_prompt_node.py +52 -0
- vellum_ee/workflows/display/tests/test_vellum_workflow_display.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py +4 -1
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py +3 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py +4 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_default_state_serialization.py +243 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py +1 -1
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py +1 -1
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py +1 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py +1 -0
- vellum_ee/workflows/display/types.py +5 -1
- vellum_ee/workflows/display/utils/expressions.py +26 -0
- vellum_ee/workflows/display/utils/vellum.py +5 -0
- vellum_ee/workflows/display/vellum.py +14 -0
- vellum_ee/workflows/display/workflows/base_workflow_display.py +30 -1
- vellum_ee/workflows/display/workflows/vellum_workflow_display.py +41 -0
- {vellum_ai-0.14.0.dist-info → vellum_ai-0.14.1.dist-info}/LICENSE +0 -0
- {vellum_ai-0.14.0.dist-info → vellum_ai-0.14.1.dist-info}/WHEEL +0 -0
- {vellum_ai-0.14.0.dist-info → vellum_ai-0.14.1.dist-info}/entry_points.txt +0 -0
@@ -25,6 +25,8 @@ from vellum_ee.workflows.display.vellum import (
|
|
25
25
|
EntrypointVellumDisplay,
|
26
26
|
EntrypointVellumDisplayOverrides,
|
27
27
|
NodeDisplayData,
|
28
|
+
StateValueVellumDisplay,
|
29
|
+
StateValueVellumDisplayOverrides,
|
28
30
|
WorkflowInputsVellumDisplay,
|
29
31
|
WorkflowInputsVellumDisplayOverrides,
|
30
32
|
WorkflowMetaVellumDisplay,
|
@@ -44,6 +46,8 @@ class VellumWorkflowDisplay(
|
|
44
46
|
WorkflowMetaVellumDisplayOverrides,
|
45
47
|
WorkflowInputsVellumDisplay,
|
46
48
|
WorkflowInputsVellumDisplayOverrides,
|
49
|
+
StateValueVellumDisplay,
|
50
|
+
StateValueVellumDisplayOverrides,
|
47
51
|
BaseNodeDisplay,
|
48
52
|
EntrypointVellumDisplay,
|
49
53
|
EntrypointVellumDisplayOverrides,
|
@@ -76,6 +80,25 @@ class VellumWorkflowDisplay(
|
|
76
80
|
}
|
77
81
|
)
|
78
82
|
|
83
|
+
state_variables: JsonArray = []
|
84
|
+
for state_value, state_value_display in self.display_context.state_value_displays.items():
|
85
|
+
default = primitive_to_vellum_value(state_value.instance) if state_value.instance else None
|
86
|
+
required = (
|
87
|
+
state_value_display.required
|
88
|
+
if state_value_display.required is not None
|
89
|
+
else type(None) not in state_value.types
|
90
|
+
)
|
91
|
+
state_variables.append(
|
92
|
+
{
|
93
|
+
"id": str(state_value_display.id),
|
94
|
+
"key": state_value_display.name or state_value.name,
|
95
|
+
"type": infer_vellum_variable_type(state_value),
|
96
|
+
"default": default.dict() if default else None,
|
97
|
+
"required": required,
|
98
|
+
"extensions": {"color": state_value_display.color},
|
99
|
+
}
|
100
|
+
)
|
101
|
+
|
79
102
|
nodes: JsonArray = []
|
80
103
|
edges: JsonArray = []
|
81
104
|
|
@@ -244,6 +267,7 @@ class VellumWorkflowDisplay(
|
|
244
267
|
},
|
245
268
|
},
|
246
269
|
"input_variables": input_variables,
|
270
|
+
"state_variables": state_variables,
|
247
271
|
"output_variables": output_variables,
|
248
272
|
}
|
249
273
|
|
@@ -283,6 +307,23 @@ class VellumWorkflowDisplay(
|
|
283
307
|
|
284
308
|
return WorkflowInputsVellumDisplay(id=workflow_input_id, name=name, required=required, color=color)
|
285
309
|
|
310
|
+
def _generate_state_value_display(
|
311
|
+
self, state_value: BaseDescriptor, overrides: Optional[StateValueVellumDisplayOverrides] = None
|
312
|
+
) -> StateValueVellumDisplay:
|
313
|
+
state_value_id: UUID
|
314
|
+
name = None
|
315
|
+
required = None
|
316
|
+
color = None
|
317
|
+
if overrides:
|
318
|
+
state_value_id = overrides.id
|
319
|
+
name = overrides.name
|
320
|
+
required = overrides.required
|
321
|
+
color = overrides.color
|
322
|
+
else:
|
323
|
+
state_value_id = uuid4_from_hash(f"{self.workflow_id}|state_values|id|{state_value.name}")
|
324
|
+
|
325
|
+
return StateValueVellumDisplay(id=state_value_id, name=name, required=required, color=color)
|
326
|
+
|
286
327
|
def _generate_entrypoint_display(
|
287
328
|
self,
|
288
329
|
entrypoint: Type[BaseNode],
|
File without changes
|
File without changes
|
File without changes
|