vellum-workflow-server 1.1.5.post1__py3-none-any.whl → 1.2.0.post2__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-workflow-server might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-workflow-server
3
- Version: 1.1.5.post1
3
+ Version: 1.2.0.post2
4
4
  Summary:
5
5
  License: AGPL
6
6
  Requires-Python: >=3.9.0,<4
@@ -29,7 +29,7 @@ Requires-Dist: pyjwt (==2.10.0)
29
29
  Requires-Dist: python-dotenv (==1.0.1)
30
30
  Requires-Dist: retrying (==1.3.4)
31
31
  Requires-Dist: sentry-sdk[flask] (==2.20.0)
32
- Requires-Dist: vellum-ai (==1.1.5)
32
+ Requires-Dist: vellum-ai (==1.2.0)
33
33
  Description-Content-Type: text/markdown
34
34
 
35
35
  # Vellum Workflow Runner Server
@@ -4,9 +4,9 @@ workflow_server/api/auth_middleware.py,sha256=IlZaCiwZ5nwQqk5sYQorvOFj7lt0p1ZSSE
4
4
  workflow_server/api/healthz_view.py,sha256=itiRvBDBXncrw8Kbbc73UZLwqMAhgHOR3uSre_dAfgY,404
5
5
  workflow_server/api/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  workflow_server/api/tests/test_input_display_mapping.py,sha256=drBZqMudFyB5wgiUOcMgRXz7E7ge-Qgxbstw4E4f0zE,2211
7
- workflow_server/api/tests/test_workflow_view.py,sha256=Ummbd-18XN8jc3bbIDa7j3jifu4lTiHIaRhnTDnpjAI,18945
7
+ workflow_server/api/tests/test_workflow_view.py,sha256=H1tYWSA9nj0pXJ987pxQw5ERn1O9mPTc6WJEXA5ptV0,19094
8
8
  workflow_server/api/tests/test_workflow_view_stream_workflow_route.py,sha256=7q5AiBzfXX-npCrp-Da2OWk6-M1Ai8QZPDLhLlkxb34,26051
9
- workflow_server/api/workflow_view.py,sha256=i19Ksgg_2EbPhPRAlwYRqmAKI_8VHvAGc61Q9k90Iow,21189
9
+ workflow_server/api/workflow_view.py,sha256=WDjVxMW1H9R5CQjHZgSdi4mbM1dMp3NTurtSVqtCvOU,21037
10
10
  workflow_server/code_exec_runner.py,sha256=lBnMIorPZL8zZBye6TjeCIs06WTJM7P2HR07B1fjJJI,2533
11
11
  workflow_server/config.py,sha256=DyTty8NrAwvtx-esM3KthnpsNh-nKdWNlovWQOgiGpg,1417
12
12
  workflow_server/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -28,7 +28,7 @@ workflow_server/utils/tests/test_sentry_integration.py,sha256=LGmWiaLhFrx-jslrRj
28
28
  workflow_server/utils/tests/test_system_utils.py,sha256=_4GwXvVvU5BrATxUEWwQIPg0bzQXMWBtiBmjP8MTxJM,4314
29
29
  workflow_server/utils/tests/test_utils.py,sha256=qwK5Rmy3RQyjtlUrYAuGuDlBeRzZKsf1yS-y2IpUizQ,6452
30
30
  workflow_server/utils/utils.py,sha256=Wqqn-1l2ugkGgy5paWWdt0AVxAyPMQCYcnRSSOMjXlA,4355
31
- vellum_workflow_server-1.1.5.post1.dist-info/METADATA,sha256=nBEmEeICCRLkYMyab6en6v8HSy-pCgRod-caY6qT-a8,2273
32
- vellum_workflow_server-1.1.5.post1.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
33
- vellum_workflow_server-1.1.5.post1.dist-info/entry_points.txt,sha256=uB_0yPkr7YV6RhEXzvFReUM8P4OQBlVXD6TN6eb9-oc,277
34
- vellum_workflow_server-1.1.5.post1.dist-info/RECORD,,
31
+ vellum_workflow_server-1.2.0.post2.dist-info/METADATA,sha256=9QvVFnyxfKSFOJfVSJj-IU_SRdk0ZJIZU9M_r1gDfL4,2273
32
+ vellum_workflow_server-1.2.0.post2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
33
+ vellum_workflow_server-1.2.0.post2.dist-info/entry_points.txt,sha256=uB_0yPkr7YV6RhEXzvFReUM8P4OQBlVXD6TN6eb9-oc,277
34
+ vellum_workflow_server-1.2.0.post2.dist-info/RECORD,,
@@ -63,7 +63,7 @@ class TestNode(BaseNode):
63
63
  "position": {"x": 0.0, "y": 0.0},
64
64
  },
65
65
  "id": "7a8b251d-f5ca-462a-b293-071d219460fb",
66
- "label": "TestNode",
66
+ "label": "Test Node",
67
67
  "outputs": [],
68
68
  "ports": [{"id": "a3a0eefd-45d0-4f13-8c58-a836a9f7f9ed", "name": "default", "type": "DEFAULT"}],
69
69
  "trigger": {"id": "a022e36c-9852-4772-9be3-3c6c147fd811", "merge_behavior": "AWAIT_ATTRIBUTES"},
@@ -127,7 +127,7 @@ class SomeOtherNode(BaseNode):
127
127
  "position": {"x": 0.0, "y": 0.0},
128
128
  },
129
129
  "id": "1e559c2e-db82-41f0-9ceb-5e89b0c5a0a3",
130
- "label": "SomeNode",
130
+ "label": "Some Node",
131
131
  "outputs": [],
132
132
  "ports": [{"id": "48e39e97-5fd4-471e-b4f2-51d3baf06456", "name": "default", "type": "DEFAULT"}],
133
133
  "trigger": {"id": "e3381fb7-61fc-4c46-ae8e-51fc463b6a59", "merge_behavior": "AWAIT_ATTRIBUTES"},
@@ -150,7 +150,7 @@ class SomeOtherNode(BaseNode):
150
150
  "position": {"x": 0.0, "y": 0.0},
151
151
  },
152
152
  "id": "7aee541b-b245-4c8a-9137-3e4631d5100c",
153
- "label": "SomeOtherNode",
153
+ "label": "Some Other Node",
154
154
  "outputs": [],
155
155
  "ports": [{"id": "fb66b46a-d970-4bc9-83ea-70c154c57ddd", "name": "default", "type": "DEFAULT"}],
156
156
  "trigger": {"id": "13fa2714-20b3-4bc3-ab79-621a188e3bfa", "merge_behavior": "AWAIT_ATTRIBUTES"},
@@ -222,7 +222,7 @@ class HelperClass:
222
222
  "position": {"x": 0.0, "y": 0.0},
223
223
  },
224
224
  "id": "f92c09f0-0434-46cb-829d-a73f801d6343",
225
- "label": "ProcessingNode",
225
+ "label": "Processing Node",
226
226
  "outputs": [],
227
227
  "ports": [{"id": "abaa2984-b312-4491-b069-e689759f72c8", "name": "default", "type": "DEFAULT"}],
228
228
  "trigger": {"id": "35378c2b-f089-44af-ac37-efe4ea42c817", "merge_behavior": "AWAIT_ATTRIBUTES"},
@@ -240,7 +240,7 @@ class HelperClass:
240
240
  "position": {"x": 0.0, "y": 0.0},
241
241
  },
242
242
  "id": "09ca32f7-c8f2-4469-97e5-1f288f85127a",
243
- "label": "TransformationNode",
243
+ "label": "Transformation Node",
244
244
  "outputs": [],
245
245
  "ports": [{"id": "88778117-fbfc-4b44-964b-5a4994aa2f24", "name": "default", "type": "DEFAULT"}],
246
246
  "trigger": {"id": "5d096263-7fbf-490a-83b7-e441852b5fb6", "merge_behavior": "AWAIT_ATTRIBUTES"},
@@ -306,7 +306,7 @@ class BrokenNode(BaseNode)
306
306
  "position": {"x": 0.0, "y": 0.0},
307
307
  },
308
308
  "id": "1e559c2e-db82-41f0-9ceb-5e89b0c5a0a3",
309
- "label": "SomeNode",
309
+ "label": "Some Node",
310
310
  "outputs": [],
311
311
  "ports": [{"id": "48e39e97-5fd4-471e-b4f2-51d3baf06456", "name": "default", "type": "DEFAULT"}],
312
312
  "trigger": {"id": "e3381fb7-61fc-4c46-ae8e-51fc463b6a59", "merge_behavior": "AWAIT_ATTRIBUTES"},
@@ -387,7 +387,7 @@ class MyAdditionNode(BaseNode):
387
387
  "position": {"x": 0.0, "y": 0.0},
388
388
  },
389
389
  "id": "195cd69d-3d2d-41e4-a432-16c433cb8d34",
390
- "label": "MyAdditionNode",
390
+ "label": "My Addition Node",
391
391
  "outputs": [{"id": "3d8e40cb-2aa8-44bd-ae6a-708a9fbc4779", "name": "result", "type": "NUMBER", "value": None}],
392
392
  "ports": [{"id": "9a9e4ef6-febf-4093-a515-217bbb1373db", "name": "default", "type": "DEFAULT"}],
393
393
  "trigger": {"id": "a5298668-d808-4a45-a62e-790943948e8a", "merge_behavior": "AWAIT_ATTRIBUTES"},
@@ -456,8 +456,10 @@ def test_serialize_route__with__workflow():
456
456
  # THEN we should get a successful response
457
457
  assert response.status_code == 200
458
458
 
459
- # AND the response should contain exec_config
459
+ # AND the response should contain the full WorkflowSerializationResult
460
460
  assert "exec_config" in response.json
461
+ assert "errors" in response.json
462
+ assert "dataset" in response.json or response.json.get("dataset") is None
461
463
  exec_config = response.json["exec_config"]
462
464
 
463
465
  # AND the exec_config should have workflow_raw_data
@@ -25,7 +25,6 @@ from vellum_ee.workflows.server.virtual_file_loader import VirtualFileFinder
25
25
 
26
26
  from vellum.workflows.exceptions import WorkflowInitializationException
27
27
  from vellum.workflows.nodes import BaseNode
28
- from vellum.workflows.utils.names import pascal_to_title_case
29
28
  from workflow_server.config import ENABLE_PROCESS_WRAPPER, MEMORY_LIMIT_MB
30
29
  from workflow_server.core.events import (
31
30
  SPAN_ID_EVENT,
@@ -447,10 +446,10 @@ def serialize_route() -> Response:
447
446
 
448
447
  try:
449
448
  sys.meta_path.append(virtual_finder)
450
- exec_config = BaseWorkflowDisplay.serialize_module(namespace).exec_config
449
+ result = BaseWorkflowDisplay.serialize_module(namespace)
451
450
 
452
451
  return Response(
453
- json.dumps({"exec_config": exec_config}),
452
+ json.dumps(result.model_dump()),
454
453
  status=200,
455
454
  content_type="application/json",
456
455
  )
@@ -493,7 +492,6 @@ def get_version_route() -> tuple[dict, int]:
493
492
  exec_config_raw = node_display_class().serialize(WorkflowDisplayContext())
494
493
  exec_config = cast(Dict[str, Any], exec_config_raw)
495
494
  config_module = exec_config["definition"]["module"]
496
- label = exec_config["label"]
497
495
  description = (
498
496
  exec_config["display_data"]["comment"]["value"]
499
497
  if "comment" in exec_config["display_data"]
@@ -504,7 +502,7 @@ def get_version_route() -> tuple[dict, int]:
504
502
  "id": str(uuid4()),
505
503
  "module": config_module,
506
504
  "name": obj.__name__,
507
- "label": pascal_to_title_case(label),
505
+ "label": exec_config["label"],
508
506
  "description": description,
509
507
  "exec_config": exec_config,
510
508
  }