vellum-ai 1.7.8__py3-none-any.whl → 1.7.10__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.
Potentially problematic release.
This version of vellum-ai might be problematic. Click here for more details.
- vellum/client/core/client_wrapper.py +2 -2
- vellum/workflows/errors/types.py +3 -0
- vellum/workflows/graph/graph.py +4 -1
- vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py +14 -5
- vellum/workflows/runner/runner.py +17 -5
- vellum/workflows/utils/functions.py +1 -1
- vellum/workflows/workflows/base.py +2 -2
- {vellum_ai-1.7.8.dist-info → vellum_ai-1.7.10.dist-info}/METADATA +1 -1
- {vellum_ai-1.7.8.dist-info → vellum_ai-1.7.10.dist-info}/RECORD +35 -35
- vellum_ee/assets/node-definitions.json +91 -65
- vellum_ee/workflows/display/nodes/base_node_display.py +46 -26
- vellum_ee/workflows/display/nodes/vellum/code_execution_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/conditional_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/error_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/final_output_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/guardrail_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/map_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/merge_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/note_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/search_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/templating_node.py +1 -1
- vellum_ee/workflows/display/nodes/vellum/tests/test_api_node.py +34 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py +8 -0
- vellum_ee/workflows/display/tests/workflow_serialization/test_manual_trigger_serialization.py +33 -70
- vellum_ee/workflows/display/tests/workflow_serialization/test_slack_trigger_serialization.py +40 -155
- vellum_ee/workflows/display/utils/expressions.py +12 -0
- vellum_ee/workflows/display/workflows/base_workflow_display.py +1 -1
- vellum_ee/workflows/tests/test_server.py +5 -0
- {vellum_ai-1.7.8.dist-info → vellum_ai-1.7.10.dist-info}/LICENSE +0 -0
- {vellum_ai-1.7.8.dist-info → vellum_ai-1.7.10.dist-info}/WHEEL +0 -0
- {vellum_ai-1.7.8.dist-info → vellum_ai-1.7.10.dist-info}/entry_points.txt +0 -0
|
@@ -50,6 +50,7 @@ from vellum.workflows.references.execution_count import ExecutionCountReference
|
|
|
50
50
|
from vellum.workflows.references.lazy import LazyReference
|
|
51
51
|
from vellum.workflows.references.output import OutputReference
|
|
52
52
|
from vellum.workflows.references.state_value import StateValueReference
|
|
53
|
+
from vellum.workflows.references.trigger import TriggerAttributeReference
|
|
53
54
|
from vellum.workflows.references.vellum_secret import VellumSecretReference
|
|
54
55
|
from vellum.workflows.references.workflow_input import WorkflowInputReference
|
|
55
56
|
from vellum.workflows.types.core import JsonArray, JsonObject
|
|
@@ -347,6 +348,17 @@ def serialize_value(executable_id: UUID, display_context: "WorkflowDisplayContex
|
|
|
347
348
|
"node_id": str(node_class_display.node_id),
|
|
348
349
|
}
|
|
349
350
|
|
|
351
|
+
if isinstance(value, TriggerAttributeReference):
|
|
352
|
+
# Generate trigger ID using the same hash formula as in base_workflow_display.py
|
|
353
|
+
trigger_class = value.trigger_class
|
|
354
|
+
trigger_id = uuid4_from_hash(trigger_class.__qualname__)
|
|
355
|
+
|
|
356
|
+
return {
|
|
357
|
+
"type": "TRIGGER_ATTRIBUTE",
|
|
358
|
+
"trigger_id": str(trigger_id),
|
|
359
|
+
"attribute_id": str(value.id),
|
|
360
|
+
}
|
|
361
|
+
|
|
350
362
|
if isinstance(value, list):
|
|
351
363
|
serialized_items = []
|
|
352
364
|
for item in value:
|
|
@@ -474,7 +474,7 @@ class BaseWorkflowDisplay(Generic[WorkflowType]):
|
|
|
474
474
|
)
|
|
475
475
|
|
|
476
476
|
# Return as a list with a single trigger object matching Django schema
|
|
477
|
-
trigger_id = uuid4_from_hash(
|
|
477
|
+
trigger_id = uuid4_from_hash(trigger_class.__qualname__)
|
|
478
478
|
|
|
479
479
|
# Serialize trigger attributes like node outputs
|
|
480
480
|
attribute_references = trigger_class.attribute_references().values()
|
|
@@ -145,6 +145,11 @@ class CodeExecutionNode(BaseCodeExecutionNode[BaseState, int]):
|
|
|
145
145
|
# AND we get the code execution result
|
|
146
146
|
assert event.body.outputs == {"final_output": 5.0}
|
|
147
147
|
|
|
148
|
+
# AND the workflow definition module is correctly serialized as a list
|
|
149
|
+
serialized_event = event.model_dump(mode="json")
|
|
150
|
+
workflow_definition = serialized_event["body"]["workflow_definition"]
|
|
151
|
+
assert workflow_definition["module"] == [namespace, "workflow"]
|
|
152
|
+
|
|
148
153
|
|
|
149
154
|
def test_load_from_module__simple_code_execution_node_with_try(
|
|
150
155
|
vellum_client,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|