vellum-workflow-server 1.7.5.post2__tar.gz → 1.7.5.post4__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.
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/PKG-INFO +1 -1
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/pyproject.toml +1 -1
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/api/workflow_view.py +1 -1
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/config.py +5 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/core/workflow_executor_context.py +2 -41
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/README.md +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/__init__.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/api/__init__.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/api/auth_middleware.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/api/healthz_view.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/api/tests/__init__.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/api/tests/test_input_display_mapping.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/api/tests/test_workflow_view.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/api/tests/test_workflow_view_stream_workflow_route.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/code_exec_runner.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/core/__init__.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/core/cancel_workflow.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/core/events.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/core/executor.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/core/utils.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/server.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/start.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/__init__.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/exit_handler.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/log_proxy.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/oom_killer.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/sentry.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/system_utils.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/tests/__init__.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/tests/test_sentry_integration.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/tests/test_system_utils.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/tests/test_utils.py +0 -0
- {vellum_workflow_server-1.7.5.post2 → vellum_workflow_server-1.7.5.post4}/src/workflow_server/utils/utils.py +0 -0
|
@@ -22,6 +22,7 @@ from vellum_ee.workflows.server.virtual_file_loader import VirtualFileFinder
|
|
|
22
22
|
|
|
23
23
|
from vellum.workflows.exceptions import WorkflowInitializationException
|
|
24
24
|
from vellum.workflows.nodes import BaseNode
|
|
25
|
+
from vellum.workflows.vellum_client import create_vellum_client
|
|
25
26
|
from workflow_server.config import ENABLE_PROCESS_WRAPPER, MEMORY_LIMIT_MB
|
|
26
27
|
from workflow_server.core.events import (
|
|
27
28
|
SPAN_ID_EVENT,
|
|
@@ -47,7 +48,6 @@ from workflow_server.core.workflow_executor_context import (
|
|
|
47
48
|
DEFAULT_TIMEOUT_SECONDS,
|
|
48
49
|
NodeExecutorContext,
|
|
49
50
|
WorkflowExecutorContext,
|
|
50
|
-
create_vellum_client,
|
|
51
51
|
)
|
|
52
52
|
from workflow_server.utils.oom_killer import get_is_oom_killed
|
|
53
53
|
from workflow_server.utils.system_utils import (
|
|
@@ -27,6 +27,11 @@ MEMORY_LIMIT_MB = int(os.getenv("MEMORY_LIMIT_MB", "2048"))
|
|
|
27
27
|
PORT = os.getenv("PORT", "8000")
|
|
28
28
|
VELLUM_API_URL_HOST = os.getenv("VELLUM_API_URL_HOST", "localhost")
|
|
29
29
|
VELLUM_API_URL_PORT = os.getenv("VELLUM_API_URL_PORT", 8000)
|
|
30
|
+
|
|
31
|
+
# Set VELLUM_API_URL for SDK when using local Vellum API
|
|
32
|
+
if os.getenv("USE_LOCAL_VELLUM_API") == "true" and "VELLUM_API_URL" not in os.environ:
|
|
33
|
+
os.environ["VELLUM_API_URL"] = "http://{}:{}".format(VELLUM_API_URL_HOST, VELLUM_API_URL_PORT)
|
|
34
|
+
|
|
30
35
|
CONCURRENCY = int(os.getenv("CONCURRENCY", "8"))
|
|
31
36
|
CONTAINER_IMAGE = os.getenv("CONTAINER_IMAGE", "python-workflow-runtime:latest")
|
|
32
37
|
ENABLE_PROCESS_WRAPPER = os.getenv("ENABLE_PROCESS_WRAPPER", "true").lower() == "true"
|
|
@@ -9,54 +9,15 @@ from typing_extensions import Self
|
|
|
9
9
|
from flask import has_request_context, request
|
|
10
10
|
from pydantic import Field, field_validator, model_validator
|
|
11
11
|
|
|
12
|
-
from vellum import ApiVersionEnum, Vellum
|
|
12
|
+
from vellum import ApiVersionEnum, Vellum
|
|
13
13
|
from vellum.client.core import UniversalBaseModel
|
|
14
14
|
from vellum.workflows.context import ExecutionContext
|
|
15
|
-
from
|
|
15
|
+
from vellum.workflows.vellum_client import create_vellum_client
|
|
16
16
|
from workflow_server.utils.utils import convert_json_inputs_to_vellum
|
|
17
17
|
|
|
18
18
|
DEFAULT_TIMEOUT_SECONDS = int(os.getenv("MAX_WORKFLOW_RUNTIME_SECONDS", 1800))
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
def create_vellum_client(
|
|
22
|
-
api_key: str,
|
|
23
|
-
api_version: Optional[ApiVersionEnum] = None,
|
|
24
|
-
) -> Vellum:
|
|
25
|
-
"""
|
|
26
|
-
Create a VellumClient with proper environment configuration.
|
|
27
|
-
|
|
28
|
-
Args:
|
|
29
|
-
api_key: The API key for the Vellum client
|
|
30
|
-
api_version: Optional API version to use
|
|
31
|
-
|
|
32
|
-
Returns:
|
|
33
|
-
Configured Vellum client instance
|
|
34
|
-
|
|
35
|
-
Note: Ideally we replace this with `vellum.workflows.vellum_client.create_vellum_client`
|
|
36
|
-
"""
|
|
37
|
-
if IS_VPC:
|
|
38
|
-
environment = VellumEnvironment(
|
|
39
|
-
default=os.getenv("VELLUM_DEFAULT_API_URL", VellumEnvironment.PRODUCTION.default),
|
|
40
|
-
documents=os.getenv("VELLUM_DOCUMENTS_API_URL", VellumEnvironment.PRODUCTION.documents),
|
|
41
|
-
predict=os.getenv("VELLUM_PREDICT_API_URL", VellumEnvironment.PRODUCTION.predict),
|
|
42
|
-
)
|
|
43
|
-
elif os.getenv("USE_LOCAL_VELLUM_API") == "true":
|
|
44
|
-
VELLUM_API_URL = f"http://{VELLUM_API_URL_HOST}:{VELLUM_API_URL_PORT}"
|
|
45
|
-
environment = VellumEnvironment(
|
|
46
|
-
default=VELLUM_API_URL,
|
|
47
|
-
documents=VELLUM_API_URL,
|
|
48
|
-
predict=VELLUM_API_URL,
|
|
49
|
-
)
|
|
50
|
-
else:
|
|
51
|
-
environment = VellumEnvironment.PRODUCTION
|
|
52
|
-
|
|
53
|
-
return Vellum(
|
|
54
|
-
api_key=api_key,
|
|
55
|
-
environment=environment,
|
|
56
|
-
api_version=api_version,
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
|
|
60
21
|
class BaseExecutorContext(UniversalBaseModel):
|
|
61
22
|
inputs: dict = Field(default_factory=dict)
|
|
62
23
|
state: Optional[dict] = None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|