vellum-ai 0.12.17__py3-none-any.whl → 0.13.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. vellum/__init__.py +10 -22
  2. vellum/client/__init__.py +8 -0
  3. vellum/client/core/client_wrapper.py +1 -1
  4. vellum/client/core/pydantic_utilities.py +5 -0
  5. vellum/client/resources/__init__.py +4 -0
  6. vellum/client/resources/organizations/__init__.py +2 -0
  7. vellum/client/resources/organizations/client.py +116 -0
  8. vellum/client/resources/workflows/client.py +8 -0
  9. vellum/client/resources/workspaces/__init__.py +2 -0
  10. vellum/client/resources/workspaces/client.py +114 -0
  11. vellum/client/types/__init__.py +6 -22
  12. vellum/client/types/logical_operator.py +2 -0
  13. vellum/client/types/new_member_join_behavior_enum.py +8 -0
  14. vellum/client/types/{function_call_variable_value.py → organization_read.py} +6 -4
  15. vellum/client/types/workflow_execution_workflow_result_event.py +0 -2
  16. vellum/client/types/workflow_result_event.py +0 -2
  17. vellum/client/types/workflow_result_event_output_data_array.py +4 -4
  18. vellum/client/types/{string_variable_value.py → workspace_read.py} +12 -5
  19. vellum/{types/json_variable_value.py → resources/organizations/__init__.py} +1 -1
  20. vellum/resources/organizations/client.py +3 -0
  21. vellum/{types/image_variable_value.py → resources/workspaces/__init__.py} +1 -1
  22. vellum/{types/array_variable_value.py → resources/workspaces/client.py} +1 -1
  23. vellum/types/{array_variable_value_item.py → new_member_join_behavior_enum.py} +1 -1
  24. vellum/types/{audio_variable_value.py → organization_read.py} +1 -1
  25. vellum/types/{error_variable_value.py → workspace_read.py} +1 -1
  26. vellum/workflows/descriptors/base.py +1 -1
  27. vellum/workflows/descriptors/tests/test_utils.py +3 -0
  28. vellum/workflows/expressions/accessor.py +8 -2
  29. vellum/workflows/nodes/core/map_node/node.py +49 -24
  30. vellum/workflows/nodes/core/map_node/tests/test_node.py +4 -4
  31. vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py +1 -1
  32. vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py +5 -3
  33. vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py +3 -0
  34. vellum/workflows/nodes/displayable/bases/search_node.py +37 -2
  35. vellum/workflows/nodes/displayable/bases/tests/__init__.py +0 -0
  36. vellum/workflows/nodes/displayable/bases/tests/test_utils.py +61 -0
  37. vellum/workflows/nodes/displayable/bases/types.py +42 -0
  38. vellum/workflows/nodes/displayable/bases/utils.py +112 -0
  39. vellum/workflows/nodes/displayable/inline_prompt_node/tests/test_node.py +0 -1
  40. vellum/workflows/nodes/displayable/search_node/tests/__init__.py +0 -0
  41. vellum/workflows/nodes/displayable/search_node/tests/test_node.py +164 -0
  42. vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py +2 -3
  43. vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py +0 -1
  44. vellum/workflows/runner/runner.py +37 -4
  45. vellum/workflows/types/tests/test_utils.py +5 -2
  46. vellum/workflows/types/utils.py +4 -0
  47. vellum/workflows/workflows/base.py +14 -32
  48. {vellum_ai-0.12.17.dist-info → vellum_ai-0.13.1.dist-info}/METADATA +1 -1
  49. {vellum_ai-0.12.17.dist-info → vellum_ai-0.13.1.dist-info}/RECORD +100 -97
  50. vellum_cli/__init__.py +10 -0
  51. vellum_cli/ping.py +28 -0
  52. vellum_cli/tests/test_ping.py +47 -0
  53. vellum_ee/workflows/display/nodes/base_node_display.py +17 -10
  54. vellum_ee/workflows/display/nodes/vellum/api_node.py +1 -0
  55. vellum_ee/workflows/display/nodes/vellum/base_node.py +110 -2
  56. vellum_ee/workflows/display/nodes/vellum/code_execution_node.py +1 -0
  57. vellum_ee/workflows/display/nodes/vellum/conditional_node.py +5 -62
  58. vellum_ee/workflows/display/nodes/vellum/error_node.py +1 -0
  59. vellum_ee/workflows/display/nodes/vellum/final_output_node.py +1 -0
  60. vellum_ee/workflows/display/nodes/vellum/guardrail_node.py +1 -0
  61. vellum_ee/workflows/display/nodes/vellum/inline_prompt_node.py +4 -0
  62. vellum_ee/workflows/display/nodes/vellum/inline_subworkflow_node.py +1 -0
  63. vellum_ee/workflows/display/nodes/vellum/map_node.py +2 -1
  64. vellum_ee/workflows/display/nodes/vellum/merge_node.py +1 -0
  65. vellum_ee/workflows/display/nodes/vellum/note_node.py +1 -0
  66. vellum_ee/workflows/display/nodes/vellum/prompt_deployment_node.py +15 -10
  67. vellum_ee/workflows/display/nodes/vellum/search_node.py +1 -0
  68. vellum_ee/workflows/display/nodes/vellum/subworkflow_deployment_node.py +1 -0
  69. vellum_ee/workflows/display/nodes/vellum/templating_node.py +1 -0
  70. vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py +2 -2
  71. vellum_ee/workflows/display/nodes/vellum/utils.py +71 -1
  72. vellum_ee/workflows/display/tests/test_vellum_workflow_display.py +2 -5
  73. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/conftest.py +18 -2
  74. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_adornments_serialization.py +67 -0
  75. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py +66 -0
  76. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_ports_serialization.py +1015 -0
  77. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_trigger_serialization.py +37 -22
  78. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py +12 -56
  79. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py +43 -93
  80. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py +31 -151
  81. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py +8 -26
  82. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_generic_node_serialization.py +4 -15
  83. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_guardrail_node_serialization.py +9 -44
  84. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_inline_subworkflow_serialization.py +19 -101
  85. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_map_node_serialization.py +19 -73
  86. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_merge_node_serialization.py +9 -44
  87. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_prompt_deployment_serialization.py +9 -44
  88. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_search_node_serialization.py +8 -6
  89. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_subworkflow_deployment_serialization.py +11 -58
  90. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_templating_node_serialization.py +8 -11
  91. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_terminal_node_serialization.py +7 -30
  92. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py +2 -11
  93. vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py +9 -44
  94. vellum_ee/workflows/display/utils/vellum.py +4 -42
  95. vellum_ee/workflows/display/vellum.py +9 -43
  96. vellum_ee/workflows/display/workflows/vellum_workflow_display.py +7 -10
  97. vellum_ee/workflows/server/virtual_file_loader.py +3 -3
  98. vellum/client/types/array_variable_value.py +0 -27
  99. vellum/client/types/array_variable_value_item.py +0 -29
  100. vellum/client/types/audio_variable_value.py +0 -25
  101. vellum/client/types/chat_history_variable_value.py +0 -21
  102. vellum/client/types/error_variable_value.py +0 -21
  103. vellum/client/types/image_variable_value.py +0 -25
  104. vellum/client/types/json_variable_value.py +0 -20
  105. vellum/client/types/number_variable_value.py +0 -20
  106. vellum/client/types/search_results_variable_value.py +0 -21
  107. vellum/types/chat_history_variable_value.py +0 -3
  108. vellum/types/function_call_variable_value.py +0 -3
  109. vellum/types/number_variable_value.py +0 -3
  110. vellum/types/search_results_variable_value.py +0 -3
  111. vellum/types/string_variable_value.py +0 -3
  112. {vellum_ai-0.12.17.dist-info → vellum_ai-0.13.1.dist-info}/LICENSE +0 -0
  113. {vellum_ai-0.12.17.dist-info → vellum_ai-0.13.1.dist-info}/WHEEL +0 -0
  114. {vellum_ai-0.12.17.dist-info → vellum_ai-0.13.1.dist-info}/entry_points.txt +0 -0
@@ -104,17 +104,8 @@ def test_serialize_workflow():
104
104
  assert entrypoint_node == {
105
105
  "id": "089b3201-537a-4ed7-8d15-2524a00e8534",
106
106
  "type": "ENTRYPOINT",
107
- "definition": {
108
- "bases": [],
109
- "module": [
110
- "vellum",
111
- "workflows",
112
- "nodes",
113
- "bases",
114
- "base",
115
- ],
116
- "name": "BaseNode",
117
- },
107
+ "base": None,
108
+ "definition": None,
118
109
  "inputs": [],
119
110
  "data": {
120
111
  "label": "Entrypoint Node",
@@ -426,22 +417,13 @@ def test_serialize_workflow():
426
417
  "version": "2",
427
418
  },
428
419
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
420
+ "base": {
421
+ "name": "ConditionalNode",
422
+ "module": ["vellum", "workflows", "nodes", "displayable", "conditional_node", "node"],
423
+ },
429
424
  "definition": {
430
425
  "name": "CategoryConditionalNode",
431
426
  "module": ["tests", "workflows", "basic_conditional_node", "workflow"],
432
- "bases": [
433
- {
434
- "name": "ConditionalNode",
435
- "module": [
436
- "vellum",
437
- "workflows",
438
- "nodes",
439
- "displayable",
440
- "conditional_node",
441
- "node",
442
- ],
443
- }
444
- ],
445
427
  },
446
428
  },
447
429
  conditional_node,
@@ -456,20 +438,7 @@ def test_serialize_workflow():
456
438
  {
457
439
  "id": "9c22ee47-01da-4e4e-863d-b4a6874bed66",
458
440
  "type": "TERMINAL",
459
- "definition": {
460
- "bases": [
461
- {
462
- "bases": [],
463
- "module": [
464
- "vellum",
465
- "workflows",
466
- "nodes",
467
- "bases",
468
- "base",
469
- ],
470
- "name": "BaseNode",
471
- },
472
- ],
441
+ "base": {
473
442
  "module": [
474
443
  "vellum",
475
444
  "workflows",
@@ -480,6 +449,7 @@ def test_serialize_workflow():
480
449
  ],
481
450
  "name": "FinalOutputNode",
482
451
  },
452
+ "definition": None,
483
453
  "data": {
484
454
  "label": "Final Output",
485
455
  "name": "statement",
@@ -511,20 +481,7 @@ def test_serialize_workflow():
511
481
  {
512
482
  "id": "47f0931c-41f6-4b84-bf39-0c486941f599",
513
483
  "type": "TERMINAL",
514
- "definition": {
515
- "bases": [
516
- {
517
- "bases": [],
518
- "module": [
519
- "vellum",
520
- "workflows",
521
- "nodes",
522
- "bases",
523
- "base",
524
- ],
525
- "name": "BaseNode",
526
- },
527
- ],
484
+ "base": {
528
485
  "module": [
529
486
  "vellum",
530
487
  "workflows",
@@ -535,6 +492,7 @@ def test_serialize_workflow():
535
492
  ],
536
493
  "name": "FinalOutputNode",
537
494
  },
495
+ "definition": None,
538
496
  "data": {
539
497
  "label": "Final Output",
540
498
  "name": "compliment",
@@ -566,20 +524,7 @@ def test_serialize_workflow():
566
524
  {
567
525
  "id": "e3d29229-f746-4125-819e-f847acbed307",
568
526
  "type": "TERMINAL",
569
- "definition": {
570
- "bases": [
571
- {
572
- "bases": [],
573
- "module": [
574
- "vellum",
575
- "workflows",
576
- "nodes",
577
- "bases",
578
- "base",
579
- ],
580
- "name": "BaseNode",
581
- },
582
- ],
527
+ "base": {
583
528
  "module": [
584
529
  "vellum",
585
530
  "workflows",
@@ -590,6 +535,7 @@ def test_serialize_workflow():
590
535
  ],
591
536
  "name": "FinalOutputNode",
592
537
  },
538
+ "definition": None,
593
539
  "data": {
594
540
  "label": "Final Output",
595
541
  "name": "complaint",
@@ -621,20 +567,7 @@ def test_serialize_workflow():
621
567
  {
622
568
  "id": "6efa7b45-0580-406d-85aa-439117ba8021",
623
569
  "type": "TERMINAL",
624
- "definition": {
625
- "bases": [
626
- {
627
- "bases": [],
628
- "module": [
629
- "vellum",
630
- "workflows",
631
- "nodes",
632
- "bases",
633
- "base",
634
- ],
635
- "name": "BaseNode",
636
- },
637
- ],
570
+ "base": {
638
571
  "module": [
639
572
  "vellum",
640
573
  "workflows",
@@ -645,6 +578,7 @@ def test_serialize_workflow():
645
578
  ],
646
579
  "name": "FinalOutputNode",
647
580
  },
581
+ "definition": None,
648
582
  "data": {
649
583
  "label": "Final Output",
650
584
  "name": "fallthrough",
@@ -676,20 +610,7 @@ def test_serialize_workflow():
676
610
  {
677
611
  "id": "fa11b84b-1d76-4adc-ab28-cbbaa933c267",
678
612
  "type": "TERMINAL",
679
- "definition": {
680
- "bases": [
681
- {
682
- "bases": [],
683
- "module": [
684
- "vellum",
685
- "workflows",
686
- "nodes",
687
- "bases",
688
- "base",
689
- ],
690
- "name": "BaseNode",
691
- },
692
- ],
613
+ "base": {
693
614
  "module": [
694
615
  "vellum",
695
616
  "workflows",
@@ -700,6 +621,7 @@ def test_serialize_workflow():
700
621
  ],
701
622
  "name": "FinalOutputNode",
702
623
  },
624
+ "definition": None,
703
625
  "data": {
704
626
  "label": "Final Output",
705
627
  "name": "question",
@@ -977,27 +899,13 @@ def test_conditional_node_serialize_all_operators_with_lhs_and_rhs(descriptor, o
977
899
  "version": "2",
978
900
  },
979
901
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
902
+ "base": {
903
+ "name": "ConditionalNode",
904
+ "module": ["vellum", "workflows", "nodes", "displayable", "conditional_node", "node"],
905
+ },
980
906
  "definition": {
981
907
  "name": "SimpleConditionalNode",
982
- "module": [
983
- "tests",
984
- "workflows",
985
- "basic_conditional_node",
986
- "workflow_with_only_one_conditional_node",
987
- ],
988
- "bases": [
989
- {
990
- "name": "ConditionalNode",
991
- "module": [
992
- "vellum",
993
- "workflows",
994
- "nodes",
995
- "displayable",
996
- "conditional_node",
997
- "node",
998
- ],
999
- }
1000
- ],
908
+ "module": ["tests", "workflows", "basic_conditional_node", "workflow_with_only_one_conditional_node"],
1001
909
  },
1002
910
  },
1003
911
  conditional_node,
@@ -1083,27 +991,13 @@ def test_conditional_node_serialize_all_operators_with_expression(descriptor, op
1083
991
  "version": "2",
1084
992
  },
1085
993
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
994
+ "base": {
995
+ "name": "ConditionalNode",
996
+ "module": ["vellum", "workflows", "nodes", "displayable", "conditional_node", "node"],
997
+ },
1086
998
  "definition": {
1087
999
  "name": "SimpleConditionalNode",
1088
- "module": [
1089
- "tests",
1090
- "workflows",
1091
- "basic_conditional_node",
1092
- "workflow_with_only_one_conditional_node",
1093
- ],
1094
- "bases": [
1095
- {
1096
- "name": "ConditionalNode",
1097
- "module": [
1098
- "vellum",
1099
- "workflows",
1100
- "nodes",
1101
- "displayable",
1102
- "conditional_node",
1103
- "node",
1104
- ],
1105
- }
1106
- ],
1000
+ "module": ["tests", "workflows", "basic_conditional_node", "workflow_with_only_one_conditional_node"],
1107
1001
  },
1108
1002
  },
1109
1003
  conditional_node,
@@ -1202,27 +1096,13 @@ def test_conditional_node_serialize_all_operators_with_value_and_start_and_end(d
1202
1096
  "version": "2",
1203
1097
  },
1204
1098
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
1099
+ "base": {
1100
+ "name": "ConditionalNode",
1101
+ "module": ["vellum", "workflows", "nodes", "displayable", "conditional_node", "node"],
1102
+ },
1205
1103
  "definition": {
1206
1104
  "name": "SimpleConditionalNode",
1207
- "module": [
1208
- "tests",
1209
- "workflows",
1210
- "basic_conditional_node",
1211
- "workflow_with_only_one_conditional_node",
1212
- ],
1213
- "bases": [
1214
- {
1215
- "name": "ConditionalNode",
1216
- "module": [
1217
- "vellum",
1218
- "workflows",
1219
- "nodes",
1220
- "displayable",
1221
- "conditional_node",
1222
- "node",
1223
- ],
1224
- }
1225
- ],
1105
+ "module": ["tests", "workflows", "basic_conditional_node", "workflow_with_only_one_conditional_node"],
1226
1106
  },
1227
1107
  },
1228
1108
  conditional_node,
@@ -72,11 +72,8 @@ def test_serialize_workflow():
72
72
  "source_handle_id": "7d86498b-84ed-4feb-8e62-2188058c2c4e",
73
73
  },
74
74
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
75
- "definition": {
76
- "name": "BaseNode",
77
- "module": ["vellum", "workflows", "nodes", "bases", "base"],
78
- "bases": [],
79
- },
75
+ "base": None,
76
+ "definition": None,
80
77
  }
81
78
 
82
79
  error_node, error_index = next(
@@ -100,22 +97,13 @@ def test_serialize_workflow():
100
97
  "error_output_id": "None",
101
98
  },
102
99
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
100
+ "base": {
101
+ "name": "ErrorNode",
102
+ "module": ["vellum", "workflows", "nodes", "core", "error_node", "node"],
103
+ },
103
104
  "definition": {
104
105
  "name": "FailNode",
105
106
  "module": ["tests", "workflows", "basic_error_node", "workflow"],
106
- "bases": [
107
- {
108
- "name": "ErrorNode",
109
- "module": [
110
- "vellum",
111
- "workflows",
112
- "nodes",
113
- "core",
114
- "error_node",
115
- "node",
116
- ],
117
- }
118
- ],
119
107
  },
120
108
  },
121
109
  error_node,
@@ -157,7 +145,7 @@ def test_serialize_workflow():
157
145
  }
158
146
  ],
159
147
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
160
- "definition": {
148
+ "base": {
161
149
  "name": "FinalOutputNode",
162
150
  "module": [
163
151
  "vellum",
@@ -167,14 +155,8 @@ def test_serialize_workflow():
167
155
  "final_output_node",
168
156
  "node",
169
157
  ],
170
- "bases": [
171
- {
172
- "name": "BaseNode",
173
- "module": ["vellum", "workflows", "nodes", "bases", "base"],
174
- "bases": [],
175
- }
176
- ],
177
158
  },
159
+ "definition": None,
178
160
  },
179
161
  terminal_node,
180
162
  )
@@ -65,17 +65,8 @@ def test_serialize_workflow(vellum_client):
65
65
  "inputs": [],
66
66
  "data": {"label": "Entrypoint Node", "source_handle_id": "40201804-8beb-43ad-8873-a027759512f1"},
67
67
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
68
- "definition": {
69
- "name": "BaseNode",
70
- "module": [
71
- "vellum",
72
- "workflows",
73
- "nodes",
74
- "bases",
75
- "base",
76
- ],
77
- "bases": [],
78
- },
68
+ "base": None,
69
+ "definition": None,
79
70
  }
80
71
 
81
72
  api_node = workflow_raw_data["nodes"][1]
@@ -113,13 +104,11 @@ def test_serialize_workflow(vellum_client):
113
104
  }
114
105
  ],
115
106
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
116
- "definition": {
107
+ "base": {
117
108
  "name": "FinalOutputNode",
118
109
  "module": ["vellum", "workflows", "nodes", "displayable", "final_output_node", "node"],
119
- "bases": [
120
- {"name": "BaseNode", "module": ["vellum", "workflows", "nodes", "bases", "base"], "bases": []}
121
- ],
122
110
  },
111
+ "definition": None,
123
112
  },
124
113
  final_output_node,
125
114
  ignore_order=True,
@@ -60,17 +60,8 @@ def test_serialize_workflow():
60
60
  assert entrypoint_node == {
61
61
  "id": "54c5c7d0-ab86-4ae9-b0b8-ea9ca7b87c14",
62
62
  "type": "ENTRYPOINT",
63
- "definition": {
64
- "bases": [],
65
- "module": [
66
- "vellum",
67
- "workflows",
68
- "nodes",
69
- "bases",
70
- "base",
71
- ],
72
- "name": "BaseNode",
73
- },
63
+ "base": None,
64
+ "definition": None,
74
65
  "inputs": [],
75
66
  "data": {"label": "Entrypoint Node", "source_handle_id": "41840690-8d85-486e-a864-b0661ccf0f2e"},
76
67
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
@@ -117,26 +108,12 @@ def test_serialize_workflow():
117
108
  "release_tag": "LATEST",
118
109
  },
119
110
  "display_data": {"position": {"x": 0.0, "y": 0.0}},
111
+ "base": {
112
+ "module": ["vellum", "workflows", "nodes", "displayable", "guardrail_node", "node"],
113
+ "name": "GuardrailNode",
114
+ },
120
115
  "definition": {
121
- "bases": [
122
- {
123
- "module": [
124
- "vellum",
125
- "workflows",
126
- "nodes",
127
- "displayable",
128
- "guardrail_node",
129
- "node",
130
- ],
131
- "name": "GuardrailNode",
132
- }
133
- ],
134
- "module": [
135
- "tests",
136
- "workflows",
137
- "basic_guardrail_node",
138
- "workflow",
139
- ],
116
+ "module": ["tests", "workflows", "basic_guardrail_node", "workflow"],
140
117
  "name": "ExampleGuardrailNode",
141
118
  },
142
119
  }
@@ -145,20 +122,7 @@ def test_serialize_workflow():
145
122
  assert final_output_node == {
146
123
  "id": "cbc7197e-67c9-4af5-b781-879c8fd3e4c9",
147
124
  "type": "TERMINAL",
148
- "definition": {
149
- "bases": [
150
- {
151
- "bases": [],
152
- "module": [
153
- "vellum",
154
- "workflows",
155
- "nodes",
156
- "bases",
157
- "base",
158
- ],
159
- "name": "BaseNode",
160
- },
161
- ],
125
+ "base": {
162
126
  "module": [
163
127
  "vellum",
164
128
  "workflows",
@@ -169,6 +133,7 @@ def test_serialize_workflow():
169
133
  ],
170
134
  "name": "FinalOutputNode",
171
135
  },
136
+ "definition": None,
172
137
  "data": {
173
138
  "label": "Final Output",
174
139
  "name": "score",