vellum-ai 1.7.7__py3-none-any.whl → 1.7.9__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 +2 -2
- vellum/client/reference.md +16 -0
- vellum/client/resources/ad_hoc/raw_client.py +2 -2
- vellum/client/resources/integration_providers/client.py +20 -0
- vellum/client/resources/integration_providers/raw_client.py +20 -0
- vellum/client/types/integration_name.py +1 -0
- vellum/client/types/workflow_execution_fulfilled_body.py +1 -0
- vellum/workflows/errors/types.py +3 -0
- vellum/workflows/graph/graph.py +4 -1
- vellum/workflows/nodes/core/map_node/node.py +10 -0
- vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py +49 -1
- vellum/workflows/nodes/tests/test_utils.py +7 -1
- vellum/workflows/nodes/utils.py +1 -1
- vellum/workflows/references/__init__.py +2 -0
- vellum/workflows/references/trigger.py +83 -0
- vellum/workflows/runner/runner.py +17 -5
- vellum/workflows/state/base.py +49 -1
- vellum/workflows/triggers/__init__.py +2 -1
- vellum/workflows/triggers/base.py +140 -3
- vellum/workflows/triggers/integration.py +31 -26
- vellum/workflows/triggers/slack.py +101 -0
- vellum/workflows/triggers/tests/test_integration.py +55 -31
- vellum/workflows/triggers/tests/test_slack.py +180 -0
- vellum/workflows/utils/functions.py +1 -1
- vellum/workflows/workflows/base.py +2 -2
- {vellum_ai-1.7.7.dist-info → vellum_ai-1.7.9.dist-info}/METADATA +1 -1
- {vellum_ai-1.7.7.dist-info → vellum_ai-1.7.9.dist-info}/RECORD +53 -49
- vellum_ee/assets/node-definitions.json +91 -65
- vellum_ee/workflows/display/base.py +3 -0
- 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 +167 -0
- vellum_ee/workflows/display/utils/expressions.py +12 -0
- vellum_ee/workflows/display/workflows/base_workflow_display.py +23 -7
- {vellum_ai-1.7.7.dist-info → vellum_ai-1.7.9.dist-info}/LICENSE +0 -0
- {vellum_ai-1.7.7.dist-info → vellum_ai-1.7.9.dist-info}/WHEEL +0 -0
- {vellum_ai-1.7.7.dist-info → vellum_ai-1.7.9.dist-info}/entry_points.txt +0 -0
|
@@ -29,6 +29,7 @@ from vellum.workflows.types.core import Json, JsonArray, JsonObject
|
|
|
29
29
|
from vellum.workflows.types.generics import WorkflowType
|
|
30
30
|
from vellum.workflows.types.utils import get_original_base
|
|
31
31
|
from vellum.workflows.utils.uuids import uuid4_from_hash
|
|
32
|
+
from vellum.workflows.utils.vellum_variables import primitive_type_to_vellum_variable_type
|
|
32
33
|
from vellum.workflows.vellum_client import create_vellum_client
|
|
33
34
|
from vellum_ee.workflows.display.base import (
|
|
34
35
|
EdgeDisplay,
|
|
@@ -473,19 +474,34 @@ class BaseWorkflowDisplay(Generic[WorkflowType]):
|
|
|
473
474
|
)
|
|
474
475
|
|
|
475
476
|
# Return as a list with a single trigger object matching Django schema
|
|
476
|
-
trigger_id = uuid4_from_hash(
|
|
477
|
+
trigger_id = uuid4_from_hash(trigger_class.__qualname__)
|
|
477
478
|
|
|
478
|
-
|
|
479
|
+
# Serialize trigger attributes like node outputs
|
|
480
|
+
attribute_references = trigger_class.attribute_references().values()
|
|
481
|
+
trigger_attributes: JsonArray = cast(
|
|
479
482
|
JsonArray,
|
|
480
483
|
[
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
484
|
+
cast(
|
|
485
|
+
JsonObject,
|
|
486
|
+
{
|
|
487
|
+
"id": str(reference.id),
|
|
488
|
+
"name": reference.name,
|
|
489
|
+
"type": primitive_type_to_vellum_variable_type(reference),
|
|
490
|
+
"value": None,
|
|
491
|
+
},
|
|
492
|
+
)
|
|
493
|
+
for reference in sorted(attribute_references, key=lambda ref: ref.name)
|
|
486
494
|
],
|
|
487
495
|
)
|
|
488
496
|
|
|
497
|
+
trigger_data: JsonObject = {
|
|
498
|
+
"id": str(trigger_id),
|
|
499
|
+
"type": trigger_type.value,
|
|
500
|
+
"attributes": trigger_attributes,
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
return cast(JsonArray, [trigger_data])
|
|
504
|
+
|
|
489
505
|
def _serialize_edge_display_data(self, edge_display: EdgeDisplay) -> Optional[JsonObject]:
|
|
490
506
|
"""Serialize edge display data, returning None if no display data is present."""
|
|
491
507
|
if edge_display.z_index is not None:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|