vellum-ai 0.13.8__py3-none-any.whl → 0.13.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.
Files changed (49) hide show
  1. vellum/client/core/client_wrapper.py +1 -1
  2. vellum/plugins/vellum_mypy.py +6 -2
  3. vellum/workflows/descriptors/utils.py +1 -1
  4. vellum/workflows/nodes/bases/base.py +1 -2
  5. vellum/workflows/nodes/displayable/api_node/node.py +4 -1
  6. vellum/workflows/nodes/displayable/bases/api_node/node.py +4 -1
  7. vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py +4 -1
  8. vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py +4 -0
  9. vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py +4 -0
  10. vellum/workflows/nodes/displayable/bases/search_node.py +4 -0
  11. vellum/workflows/nodes/displayable/code_execution_node/node.py +4 -1
  12. vellum/workflows/nodes/displayable/conditional_node/node.py +4 -0
  13. vellum/workflows/nodes/displayable/final_output_node/node.py +4 -0
  14. vellum/workflows/nodes/displayable/guardrail_node/node.py +4 -1
  15. vellum/workflows/nodes/displayable/inline_prompt_node/node.py +4 -0
  16. vellum/workflows/nodes/displayable/merge_node/node.py +3 -1
  17. vellum/workflows/nodes/displayable/note_node/node.py +4 -0
  18. vellum/workflows/nodes/displayable/prompt_deployment_node/node.py +4 -0
  19. vellum/workflows/nodes/displayable/search_node/node.py +4 -0
  20. vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +4 -1
  21. vellum/workflows/nodes/utils.py +6 -18
  22. {vellum_ai-0.13.8.dist-info → vellum_ai-0.13.10.dist-info}/METADATA +1 -1
  23. {vellum_ai-0.13.8.dist-info → vellum_ai-0.13.10.dist-info}/RECORD +49 -48
  24. vellum_ee/workflows/display/nodes/base_node_display.py +103 -3
  25. vellum_ee/workflows/display/nodes/vellum/base_node.py +34 -105
  26. vellum_ee/workflows/display/nodes/vellum/conditional_node.py +2 -1
  27. vellum_ee/workflows/display/nodes/vellum/tests/test_try_node.py +63 -0
  28. vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py +3 -4
  29. vellum_ee/workflows/display/nodes/vellum/try_node.py +28 -4
  30. vellum_ee/workflows/display/nodes/vellum/utils.py +1 -80
  31. vellum_ee/workflows/display/tests/test_vellum_workflow_display.py +56 -0
  32. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py +3 -2
  33. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py +143 -26
  34. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py +10 -10
  35. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_outputs_serialization.py +6 -6
  36. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py +32 -34
  37. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py +4 -4
  38. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py +1 -2
  39. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py +5 -5
  40. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py +1 -1
  41. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py +6 -3
  42. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py +6 -3
  43. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py +3 -3
  44. vellum_ee/workflows/display/utils/vellum.py +74 -4
  45. vellum_ee/workflows/display/workflows/base_workflow_display.py +22 -24
  46. vellum_ee/workflows/display/workflows/vellum_workflow_display.py +6 -15
  47. {vellum_ai-0.13.8.dist-info → vellum_ai-0.13.10.dist-info}/LICENSE +0 -0
  48. {vellum_ai-0.13.8.dist-info → vellum_ai-0.13.10.dist-info}/WHEEL +0 -0
  49. {vellum_ai-0.13.8.dist-info → vellum_ai-0.13.10.dist-info}/entry_points.txt +0 -0
@@ -7,7 +7,7 @@ from vellum.workflows.edges import Edge
7
7
  from vellum.workflows.nodes.bases import BaseNode
8
8
  from vellum.workflows.nodes.displayable.bases.utils import primitive_to_vellum_value
9
9
  from vellum.workflows.nodes.displayable.final_output_node import FinalOutputNode
10
- from vellum.workflows.nodes.utils import get_unadorned_node, get_unadorned_port, get_wrapped_node, has_wrapped_node
10
+ from vellum.workflows.nodes.utils import get_unadorned_node, get_unadorned_port
11
11
  from vellum.workflows.ports import Port
12
12
  from vellum.workflows.references import WorkflowInputReference
13
13
  from vellum.workflows.references.output import OutputReference
@@ -95,11 +95,8 @@ class VellumWorkflowDisplay(
95
95
  )
96
96
 
97
97
  # Add all the nodes in the workflow
98
- for node, node_display in self.display_context.node_displays.items():
99
- if getattr(node, "_is_wrapped_node") is True:
100
- # Nodes that are wrapped or decorated by other nodes are not serialized here
101
- # They are instead serialized by the wrapper node
102
- continue
98
+ for node in self._workflow.get_nodes():
99
+ node_display = self.display_context.node_displays[node]
103
100
 
104
101
  try:
105
102
  serialized_node = node_display.serialize(self.display_context)
@@ -295,13 +292,9 @@ class VellumWorkflowDisplay(
295
292
  else uuid4_from_hash(f"{self.workflow_id}|id|{entrypoint_node_id}")
296
293
  )
297
294
 
298
- if has_wrapped_node(entrypoint):
299
- wrapped_node = get_wrapped_node(entrypoint)
300
- if wrapped_node._is_wrapped_node:
301
- entrypoint = wrapped_node
302
-
303
- target_node_id = node_displays[entrypoint].node_id
304
- target_handle_id = node_displays[entrypoint].get_target_handle_id()
295
+ entrypoint_target = get_unadorned_node(entrypoint)
296
+ target_node_id = node_displays[entrypoint_target].node_id
297
+ target_handle_id = node_displays[entrypoint_target].get_target_handle_id()
305
298
 
306
299
  edge_display = self._generate_edge_display_from_source(
307
300
  entrypoint_node_id, source_handle_id, target_node_id, target_handle_id, overrides=edge_display_overrides
@@ -359,8 +352,6 @@ class VellumWorkflowDisplay(
359
352
 
360
353
  target_node_display = node_displays[target_node]
361
354
  target_node_id = target_node_display.node_id
362
-
363
- target_handle_id: UUID
364
355
  target_handle_id = target_node_display.get_target_handle_id_by_source_node_id(source_node_id)
365
356
 
366
357
  return self._generate_edge_display_from_source(