vellum-workflow-server 1.8.2__tar.gz → 1.8.2.post1__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 → vellum_workflow_server-1.8.2.post1}/PKG-INFO +1 -1
  2. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/pyproject.toml +1 -1
  3. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/api/tests/test_workflow_view_stream_workflow_route.py +17 -1
  4. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/core/executor.py +7 -1
  5. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/README.md +0 -0
  6. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/__init__.py +0 -0
  7. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/api/__init__.py +0 -0
  8. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/api/auth_middleware.py +0 -0
  9. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/api/healthz_view.py +0 -0
  10. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/api/tests/__init__.py +0 -0
  11. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/api/tests/test_input_display_mapping.py +0 -0
  12. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/api/tests/test_workflow_view.py +0 -0
  13. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/api/workflow_view.py +0 -0
  14. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/code_exec_runner.py +0 -0
  15. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/config.py +0 -0
  16. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/core/__init__.py +0 -0
  17. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/core/cancel_workflow.py +0 -0
  18. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/core/events.py +0 -0
  19. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/core/utils.py +0 -0
  20. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/core/workflow_executor_context.py +0 -0
  21. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/logging_config.py +0 -0
  22. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/server.py +0 -0
  23. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/start.py +0 -0
  24. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/utils/__init__.py +0 -0
  25. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/utils/exit_handler.py +0 -0
  26. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/utils/log_proxy.py +0 -0
  27. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/utils/oom_killer.py +0 -0
  28. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/utils/sentry.py +0 -0
  29. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/utils/system_utils.py +0 -0
  30. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/utils/tests/__init__.py +0 -0
  31. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/utils/tests/test_sentry_integration.py +0 -0
  32. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/utils/tests/test_system_utils.py +0 -0
  33. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/src/workflow_server/utils/tests/test_utils.py +0 -0
  34. {vellum_workflow_server-1.8.2 → vellum_workflow_server-1.8.2.post1}/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
3
+ Version: 1.8.2.post1
4
4
  Summary:
5
5
  License: AGPL
6
6
  Requires-Python: >=3.9.0,<4
@@ -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"
6
+ version = "1.8.2.post1"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -384,9 +384,15 @@ class State(BaseState):
384
384
  def test_stream_workflow_route__bad_indent_in_inputs_file(both_stream_types):
385
385
  # GIVEN a valid request body
386
386
  span_id = uuid4()
387
+ trace_id = uuid4()
388
+ parent_span_id = uuid4()
387
389
  request_body = {
388
390
  "timeout": 360,
389
391
  "execution_id": str(span_id),
392
+ "execution_context": {
393
+ "trace_id": str(trace_id),
394
+ "parent_context": {"span_id": str(parent_span_id)},
395
+ },
390
396
  "inputs": [
391
397
  {"name": "foo", "type": "STRING", "value": "hello"},
392
398
  ],
@@ -423,7 +429,7 @@ from vellum.workflows.inputs import BaseInputs
423
429
 
424
430
  assert events[0] == {
425
431
  "id": mock.ANY,
426
- "trace_id": mock.ANY,
432
+ "trace_id": str(trace_id),
427
433
  "span_id": str(span_id),
428
434
  "timestamp": mock.ANY,
429
435
  "api_version": "2024-10-25",
@@ -437,9 +443,19 @@ from vellum.workflows.inputs import BaseInputs
437
443
  }
438
444
 
439
445
  assert events[1]["name"] == "workflow.execution.initiated"
446
+ assert events[1]["trace_id"] == str(trace_id), "workflow initiated event should use request trace_id"
447
+ assert events[1]["parent"] is not None, "workflow initiated event should have parent context"
448
+ assert events[1]["parent"]["span_id"] == str(
449
+ parent_span_id
450
+ ), "workflow initiated event parent should match request parent_context"
440
451
 
441
452
  assert events[2]["name"] == "workflow.execution.rejected"
453
+ assert events[2]["trace_id"] == str(trace_id), "workflow rejected event should use request trace_id"
442
454
  assert events[2]["span_id"] == events[1]["span_id"]
455
+ assert events[2]["parent"] is not None, "workflow rejected event should have parent context"
456
+ assert events[2]["parent"]["span_id"] == str(
457
+ parent_span_id
458
+ ), "workflow rejected event parent should match request parent_context"
443
459
  assert (
444
460
  "Syntax Error raised while loading Workflow: "
445
461
  "unexpected indent (inputs.py, line 3)" in events[2]["body"]["error"]["message"]
@@ -18,6 +18,7 @@ from vellum_ee.workflows.display.utils.events import event_enricher
18
18
  from vellum_ee.workflows.server.virtual_file_loader import VirtualFileFinder
19
19
 
20
20
  from vellum.workflows import BaseWorkflow
21
+ from vellum.workflows.context import execution_context
21
22
  from vellum.workflows.emitters.base import BaseWorkflowEmitter
22
23
  from vellum.workflows.emitters.vellum_emitter import VellumEmitter
23
24
  from vellum.workflows.events.exception_handling import stream_initialization_exception
@@ -178,7 +179,12 @@ def stream_workflow(
178
179
  )
179
180
  except WorkflowInitializationException as e:
180
181
  cancel_watcher_kill_switch.set()
181
- initialization_exception_stream = stream_initialization_exception(e)
182
+
183
+ with execution_context(
184
+ parent_context=executor_context.execution_context.parent_context,
185
+ trace_id=executor_context.execution_context.trace_id,
186
+ ):
187
+ initialization_exception_stream = stream_initialization_exception(e)
182
188
 
183
189
  def _stream_generator() -> Generator[dict[str, Any], Any, None]:
184
190
  for event in initialization_exception_stream: