vellum-workflow-server 1.8.2.post1__tar.gz → 1.8.3__tar.gz

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.

Files changed (34) hide show
  1. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/PKG-INFO +2 -2
  2. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/pyproject.toml +2 -2
  3. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/api/tests/test_workflow_view_stream_workflow_route.py +2 -0
  4. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/api/workflow_view.py +4 -2
  5. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/core/executor.py +6 -2
  6. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/README.md +0 -0
  7. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/__init__.py +0 -0
  8. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/api/__init__.py +0 -0
  9. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/api/auth_middleware.py +0 -0
  10. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/api/healthz_view.py +0 -0
  11. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/api/tests/__init__.py +0 -0
  12. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/api/tests/test_input_display_mapping.py +0 -0
  13. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/api/tests/test_workflow_view.py +0 -0
  14. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/code_exec_runner.py +0 -0
  15. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/config.py +0 -0
  16. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/core/__init__.py +0 -0
  17. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/core/cancel_workflow.py +0 -0
  18. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/core/events.py +0 -0
  19. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/core/utils.py +0 -0
  20. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/core/workflow_executor_context.py +0 -0
  21. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/logging_config.py +0 -0
  22. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/server.py +0 -0
  23. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/start.py +0 -0
  24. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/__init__.py +0 -0
  25. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/exit_handler.py +0 -0
  26. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/log_proxy.py +0 -0
  27. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/oom_killer.py +0 -0
  28. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/sentry.py +0 -0
  29. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/system_utils.py +0 -0
  30. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/tests/__init__.py +0 -0
  31. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/tests/test_sentry_integration.py +0 -0
  32. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/tests/test_system_utils.py +0 -0
  33. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/tests/test_utils.py +0 -0
  34. {vellum_workflow_server-1.8.2.post1 → vellum_workflow_server-1.8.3}/src/workflow_server/utils/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-workflow-server
3
- Version: 1.8.2.post1
3
+ Version: 1.8.3
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.8.2)
32
+ Requires-Dist: vellum-ai (==1.8.3)
33
33
  Description-Content-Type: text/markdown
34
34
 
35
35
  # Vellum Workflow Runner Server
@@ -3,7 +3,7 @@ name = "vellum-workflow-server"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "vellum-workflow-server"
6
- version = "1.8.2.post1"
6
+ version = "1.8.3"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -45,7 +45,7 @@ flask = "2.3.3"
45
45
  orderly-set = "5.2.2"
46
46
  pebble = "5.0.7"
47
47
  gunicorn = "23.0.0"
48
- vellum-ai = "1.8.2"
48
+ vellum-ai = "1.8.3"
49
49
  python-dotenv = "1.0.1"
50
50
  retrying = "1.3.4"
51
51
  sentry-sdk = {extras = ["flask"], version = "2.20.0"}
@@ -174,6 +174,8 @@ class Workflow(BaseWorkflow):
174
174
  assert "sdk_version" in server_metadata
175
175
  assert "memory_usage_mb" in server_metadata
176
176
  assert isinstance(server_metadata["memory_usage_mb"], (int, float))
177
+ assert "is_new_server" in server_metadata
178
+ assert server_metadata["is_new_server"] is False
177
179
 
178
180
  assert events[2]["name"] == "workflow.execution.fulfilled", events[2]
179
181
  assert events[2]["body"]["workflow_definition"]["module"] == ["test", "workflow"]
@@ -90,12 +90,13 @@ def stream_workflow_route() -> Response:
90
90
  )
91
91
 
92
92
  # Create this event up here so timestamps are fully from the start to account for any unknown overhead
93
+ version_data = get_version()
93
94
  vembda_initiated_event = VembdaExecutionInitiatedEvent(
94
95
  id=uuid4(),
95
96
  timestamp=datetime.now(),
96
97
  trace_id=context.trace_id,
97
98
  span_id=context.execution_id,
98
- body=VembdaExecutionInitiatedBody.model_validate(get_version()),
99
+ body=VembdaExecutionInitiatedBody.model_validate(version_data),
99
100
  parent=None,
100
101
  )
101
102
 
@@ -374,12 +375,13 @@ def stream_node_route() -> Response:
374
375
  )
375
376
 
376
377
  # Create this event up here so timestamps are fully from the start to account for any unknown overhead
378
+ version_data = get_version()
377
379
  vembda_initiated_event = VembdaExecutionInitiatedEvent(
378
380
  id=uuid4(),
379
381
  timestamp=datetime.now(),
380
382
  trace_id=context.trace_id,
381
383
  span_id=context.execution_id,
382
- body=VembdaExecutionInitiatedBody.model_validate(get_version()),
384
+ body=VembdaExecutionInitiatedBody.model_validate(version_data),
383
385
  parent=None,
384
386
  )
385
387
 
@@ -411,7 +411,7 @@ def get_random_namespace() -> str:
411
411
  return "workflow_tmp_" + "".join(random.choice(string.ascii_letters + string.digits) for i in range(14))
412
412
 
413
413
 
414
- def _enrich_event(event: WorkflowEvent, vellum_client: Optional[Any]) -> WorkflowEvent:
414
+ def _enrich_event(event: WorkflowEvent, executor_context: Optional[BaseExecutorContext] = None) -> WorkflowEvent:
415
415
  """
416
416
  Enrich an event with metadata based on the event type.
417
417
 
@@ -431,6 +431,9 @@ def _enrich_event(event: WorkflowEvent, vellum_client: Optional[Any]) -> Workflo
431
431
  memory_mb = get_memory_in_use_mb()
432
432
  if memory_mb is not None:
433
433
  metadata["memory_usage_mb"] = memory_mb
434
+
435
+ if executor_context is not None:
436
+ metadata["is_new_server"] = executor_context.is_new_server
434
437
  elif event.name == "workflow.execution.fulfilled" and is_deployment:
435
438
  metadata = {}
436
439
  memory_mb = get_memory_in_use_mb()
@@ -439,6 +442,7 @@ def _enrich_event(event: WorkflowEvent, vellum_client: Optional[Any]) -> Workflo
439
442
  except Exception:
440
443
  pass
441
444
 
445
+ vellum_client = executor_context.vellum_client if executor_context else None
442
446
  return event_enricher(event, vellum_client, metadata=metadata)
443
447
 
444
448
 
@@ -447,7 +451,7 @@ def _dump_event(event: BaseEvent, executor_context: BaseExecutorContext) -> dict
447
451
 
448
452
  dump = event.model_dump(
449
453
  mode="json",
450
- context={"event_enricher": lambda event: _enrich_event(event, executor_context.vellum_client)},
454
+ context={"event_enricher": lambda event: _enrich_event(event, executor_context)},
451
455
  )
452
456
  if dump["name"] in {
453
457
  "workflow.execution.initiated",