vellum-ai 1.0.2__py3-none-any.whl → 1.0.4__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.
- vellum/__init__.py +6 -0
- vellum/client/__init__.py +4 -0
- vellum/client/core/client_wrapper.py +2 -2
- vellum/client/reference.md +58 -0
- vellum/client/resources/__init__.py +2 -0
- vellum/client/resources/workflow_executions/__init__.py +2 -0
- vellum/client/resources/workflow_executions/client.py +125 -0
- vellum/client/types/__init__.py +4 -0
- vellum/client/types/node_output_compiled_thinking_value.py +28 -0
- vellum/client/types/node_output_compiled_value.py +2 -0
- vellum/client/types/organization_limit_config.py +1 -0
- vellum/client/types/workflow_execution_detail.py +42 -0
- vellum/prompts/blocks/compilation.py +5 -1
- vellum/prompts/blocks/tests/test_compilation.py +64 -0
- vellum/resources/workflow_executions/__init__.py +3 -0
- vellum/resources/workflow_executions/client.py +3 -0
- vellum/types/node_output_compiled_thinking_value.py +3 -0
- vellum/types/workflow_execution_detail.py +3 -0
- vellum/workflows/descriptors/base.py +12 -0
- vellum/workflows/expressions/concat.py +32 -0
- vellum/workflows/expressions/tests/test_concat.py +53 -0
- vellum/workflows/nodes/displayable/inline_prompt_node/node.py +1 -2
- vellum/workflows/nodes/displayable/prompt_deployment_node/node.py +1 -2
- vellum/workflows/nodes/displayable/tool_calling_node/composio_service.py +83 -0
- vellum/workflows/nodes/displayable/tool_calling_node/tests/test_composio_service.py +122 -0
- vellum/workflows/nodes/displayable/tool_calling_node/utils.py +28 -6
- vellum/workflows/types/core.py +2 -2
- vellum/workflows/types/definition.py +20 -1
- vellum/workflows/types/tests/test_definition.py +14 -1
- {vellum_ai-1.0.2.dist-info → vellum_ai-1.0.4.dist-info}/METADATA +3 -1
- {vellum_ai-1.0.2.dist-info → vellum_ai-1.0.4.dist-info}/RECORD +34 -22
- {vellum_ai-1.0.2.dist-info → vellum_ai-1.0.4.dist-info}/LICENSE +0 -0
- {vellum_ai-1.0.2.dist-info → vellum_ai-1.0.4.dist-info}/WHEEL +0 -0
- {vellum_ai-1.0.2.dist-info → vellum_ai-1.0.4.dist-info}/entry_points.txt +0 -0
@@ -66,8 +66,7 @@ class PromptDeploymentNode(BasePromptDeploymentNode[StateType]):
|
|
66
66
|
elif output.type == "FUNCTION_CALL":
|
67
67
|
string_outputs.append(output.value.model_dump_json(indent=4))
|
68
68
|
elif output.type == "THINKING":
|
69
|
-
|
70
|
-
string_outputs.append(output.value.value)
|
69
|
+
continue
|
71
70
|
else:
|
72
71
|
string_outputs.append(output.value.message)
|
73
72
|
|
@@ -0,0 +1,83 @@
|
|
1
|
+
from dataclasses import dataclass
|
2
|
+
from typing import Any, Dict, List
|
3
|
+
|
4
|
+
from composio import Action, Composio
|
5
|
+
from composio_client import Composio as ComposioClient
|
6
|
+
|
7
|
+
|
8
|
+
@dataclass
|
9
|
+
class ConnectionInfo:
|
10
|
+
"""Information about a user's authorized connection"""
|
11
|
+
|
12
|
+
connection_id: str
|
13
|
+
integration_name: str
|
14
|
+
created_at: str
|
15
|
+
updated_at: str
|
16
|
+
status: str = "ACTIVE" # TODO: Use enum if we end up supporting integrations that the user has not yet connected to
|
17
|
+
|
18
|
+
|
19
|
+
class ComposioAccountService:
|
20
|
+
"""Manages user authorized connections using composio-client"""
|
21
|
+
|
22
|
+
def __init__(self, api_key: str):
|
23
|
+
self.client = ComposioClient(api_key=api_key)
|
24
|
+
|
25
|
+
def get_user_connections(self) -> List[ConnectionInfo]:
|
26
|
+
"""Get all authorized connections for the user"""
|
27
|
+
response = self.client.connected_accounts.list()
|
28
|
+
|
29
|
+
return [
|
30
|
+
ConnectionInfo(
|
31
|
+
connection_id=item.id,
|
32
|
+
integration_name=item.toolkit.slug,
|
33
|
+
status=item.status,
|
34
|
+
created_at=item.created_at,
|
35
|
+
updated_at=item.updated_at,
|
36
|
+
)
|
37
|
+
for item in response.items
|
38
|
+
]
|
39
|
+
|
40
|
+
|
41
|
+
class ComposioCoreService:
|
42
|
+
"""Handles tool execution using composio-core"""
|
43
|
+
|
44
|
+
def __init__(self, api_key: str):
|
45
|
+
self.client = Composio(api_key=api_key)
|
46
|
+
|
47
|
+
def execute_tool(self, tool_name: str, arguments: Dict[str, Any]) -> Any:
|
48
|
+
"""Execute a tool using composio-core
|
49
|
+
|
50
|
+
Args:
|
51
|
+
tool_name: The name of the tool to execute (e.g., "HACKERNEWS_GET_USER")
|
52
|
+
arguments: Dictionary of arguments to pass to the tool
|
53
|
+
|
54
|
+
Returns:
|
55
|
+
The result of the tool execution
|
56
|
+
"""
|
57
|
+
# Convert tool name string to Action enum
|
58
|
+
action = getattr(Action, tool_name)
|
59
|
+
return self.client.actions.execute(action, params=arguments)
|
60
|
+
|
61
|
+
|
62
|
+
class ComposioService:
|
63
|
+
"""Unified interface for Composio operations"""
|
64
|
+
|
65
|
+
def __init__(self, api_key: str):
|
66
|
+
self.accounts = ComposioAccountService(api_key)
|
67
|
+
self.core = ComposioCoreService(api_key)
|
68
|
+
|
69
|
+
def get_user_connections(self) -> List[ConnectionInfo]:
|
70
|
+
"""Get user's authorized connections"""
|
71
|
+
return self.accounts.get_user_connections()
|
72
|
+
|
73
|
+
def execute_tool(self, tool_name: str, arguments: Dict[str, Any]) -> Any:
|
74
|
+
"""Execute a tool using composio-core
|
75
|
+
|
76
|
+
Args:
|
77
|
+
tool_name: The name of the tool to execute (e.g., "HACKERNEWS_GET_USER")
|
78
|
+
arguments: Dictionary of arguments to pass to the tool
|
79
|
+
|
80
|
+
Returns:
|
81
|
+
The result of the tool execution
|
82
|
+
"""
|
83
|
+
return self.core.execute_tool(tool_name, arguments)
|
@@ -0,0 +1,122 @@
|
|
1
|
+
import pytest
|
2
|
+
from unittest.mock import Mock, patch
|
3
|
+
|
4
|
+
from vellum.workflows.nodes.displayable.tool_calling_node.composio_service import ComposioService, ConnectionInfo
|
5
|
+
|
6
|
+
|
7
|
+
@pytest.fixture
|
8
|
+
def mock_composio_client():
|
9
|
+
"""Mock the Composio client completely"""
|
10
|
+
with patch("vellum.workflows.nodes.displayable.tool_calling_node.composio_service.ComposioClient") as mock_composio:
|
11
|
+
yield mock_composio.return_value
|
12
|
+
|
13
|
+
|
14
|
+
@pytest.fixture
|
15
|
+
def mock_connected_accounts_response():
|
16
|
+
"""Mock response for connected accounts"""
|
17
|
+
mock_item1 = Mock()
|
18
|
+
mock_item1.id = "conn-123"
|
19
|
+
mock_item1.toolkit.slug = "github"
|
20
|
+
mock_item1.status = "ACTIVE"
|
21
|
+
mock_item1.created_at = "2023-01-01T00:00:00Z"
|
22
|
+
mock_item1.updated_at = "2023-01-15T10:30:00Z"
|
23
|
+
|
24
|
+
mock_item2 = Mock()
|
25
|
+
mock_item2.id = "conn-456"
|
26
|
+
mock_item2.toolkit.slug = "slack"
|
27
|
+
mock_item2.status = "ACTIVE"
|
28
|
+
mock_item2.created_at = "2023-01-01T00:00:00Z"
|
29
|
+
mock_item2.updated_at = "2023-01-10T08:00:00Z"
|
30
|
+
|
31
|
+
mock_response = Mock()
|
32
|
+
mock_response.items = [mock_item1, mock_item2]
|
33
|
+
|
34
|
+
return mock_response
|
35
|
+
|
36
|
+
|
37
|
+
@pytest.fixture
|
38
|
+
def mock_composio_core_client():
|
39
|
+
"""Mock the composio-core Composio client"""
|
40
|
+
with patch("vellum.workflows.nodes.displayable.tool_calling_node.composio_service.Composio") as mock_composio:
|
41
|
+
yield mock_composio.return_value
|
42
|
+
|
43
|
+
|
44
|
+
@pytest.fixture
|
45
|
+
def mock_action():
|
46
|
+
"""Mock the Action class and specific actions"""
|
47
|
+
with patch("vellum.workflows.nodes.displayable.tool_calling_node.composio_service.Action") as mock_action_class:
|
48
|
+
# Mock a specific action
|
49
|
+
mock_hackernews_action = Mock()
|
50
|
+
mock_action_class.HACKERNEWS_GET_USER = mock_hackernews_action
|
51
|
+
mock_action_class.GITHUB_GET_USER = Mock()
|
52
|
+
yield mock_action_class
|
53
|
+
|
54
|
+
|
55
|
+
@pytest.fixture
|
56
|
+
def composio_service(mock_composio_client, mock_composio_core_client):
|
57
|
+
"""Create ComposioService with mocked clients"""
|
58
|
+
return ComposioService(api_key="test-key")
|
59
|
+
|
60
|
+
|
61
|
+
class TestComposioAccountService:
|
62
|
+
"""Test suite for ComposioAccountService"""
|
63
|
+
|
64
|
+
def test_get_user_connections_success(
|
65
|
+
self, composio_service, mock_composio_client, mock_connected_accounts_response
|
66
|
+
):
|
67
|
+
"""Test successful retrieval of user connections"""
|
68
|
+
# GIVEN the Composio client returns a valid response with two connections
|
69
|
+
mock_composio_client.connected_accounts.list.return_value = mock_connected_accounts_response
|
70
|
+
|
71
|
+
# WHEN we request user connections
|
72
|
+
result = composio_service.get_user_connections()
|
73
|
+
|
74
|
+
# THEN we get two properly formatted ConnectionInfo objects
|
75
|
+
assert len(result) == 2
|
76
|
+
assert isinstance(result[0], ConnectionInfo)
|
77
|
+
assert result[0].connection_id == "conn-123"
|
78
|
+
assert result[0].integration_name == "github"
|
79
|
+
assert result[0].status == "ACTIVE"
|
80
|
+
assert result[0].created_at == "2023-01-01T00:00:00Z"
|
81
|
+
assert result[0].updated_at == "2023-01-15T10:30:00Z"
|
82
|
+
|
83
|
+
assert result[1].connection_id == "conn-456"
|
84
|
+
assert result[1].integration_name == "slack"
|
85
|
+
assert result[1].status == "ACTIVE"
|
86
|
+
assert result[1].created_at == "2023-01-01T00:00:00Z"
|
87
|
+
assert result[1].updated_at == "2023-01-10T08:00:00Z"
|
88
|
+
|
89
|
+
mock_composio_client.connected_accounts.list.assert_called_once()
|
90
|
+
|
91
|
+
def test_get_user_connections_empty_response(self, composio_service, mock_composio_client):
|
92
|
+
"""Test handling of empty connections response"""
|
93
|
+
# GIVEN the Composio client returns an empty response
|
94
|
+
mock_response = Mock()
|
95
|
+
mock_response.items = []
|
96
|
+
mock_composio_client.connected_accounts.list.return_value = mock_response
|
97
|
+
|
98
|
+
# WHEN we request user connections
|
99
|
+
result = composio_service.get_user_connections()
|
100
|
+
|
101
|
+
# THEN we get an empty list
|
102
|
+
assert result == []
|
103
|
+
|
104
|
+
|
105
|
+
class TestComposioCoreService:
|
106
|
+
"""Test suite for ComposioCoreService"""
|
107
|
+
|
108
|
+
def test_execute_tool_success(self, composio_service, mock_composio_core_client, mock_action):
|
109
|
+
"""Test executing a tool with complex argument structure"""
|
110
|
+
# GIVEN complex arguments and a mock response
|
111
|
+
complex_args = {"filters": {"status": "active"}, "limit": 10, "sort": "created_at"}
|
112
|
+
expected_result = {"items": [], "total": 0}
|
113
|
+
mock_composio_core_client.actions.execute.return_value = expected_result
|
114
|
+
|
115
|
+
# WHEN we execute a tool with complex arguments
|
116
|
+
result = composio_service.execute_tool("HACKERNEWS_GET_USER", complex_args)
|
117
|
+
|
118
|
+
# THEN the arguments are passed through correctly
|
119
|
+
mock_composio_core_client.actions.execute.assert_called_once_with(
|
120
|
+
mock_action.HACKERNEWS_GET_USER, params=complex_args
|
121
|
+
)
|
122
|
+
assert result == expected_result
|
@@ -12,6 +12,7 @@ from vellum.client.types.string_chat_message_content import StringChatMessageCon
|
|
12
12
|
from vellum.client.types.variable_prompt_block import VariablePromptBlock
|
13
13
|
from vellum.workflows.errors.types import WorkflowErrorCode
|
14
14
|
from vellum.workflows.exceptions import NodeException
|
15
|
+
from vellum.workflows.expressions.concat import ConcatExpression
|
15
16
|
from vellum.workflows.inputs import BaseInputs
|
16
17
|
from vellum.workflows.nodes.bases import BaseNode
|
17
18
|
from vellum.workflows.nodes.core.inline_subworkflow_node.node import InlineSubworkflowNode
|
@@ -24,7 +25,7 @@ from vellum.workflows.references.lazy import LazyReference
|
|
24
25
|
from vellum.workflows.state import BaseState
|
25
26
|
from vellum.workflows.state.encoder import DefaultStateEncoder
|
26
27
|
from vellum.workflows.types.core import EntityInputsInterface, MergeBehavior, Tool
|
27
|
-
from vellum.workflows.types.definition import DeploymentDefinition
|
28
|
+
from vellum.workflows.types.definition import ComposioToolDefinition, DeploymentDefinition
|
28
29
|
from vellum.workflows.types.generics import is_workflow_class
|
29
30
|
|
30
31
|
CHAT_HISTORY_VARIABLE = "chat_history"
|
@@ -41,10 +42,6 @@ class ToolRouterNode(InlinePromptNode[ToolCallingState]):
|
|
41
42
|
max_iterations_message = f"Maximum number of prompt iterations `{self.max_prompt_iterations}` reached."
|
42
43
|
raise NodeException(message=max_iterations_message, code=WorkflowErrorCode.NODE_EXECUTION)
|
43
44
|
|
44
|
-
# Merge user-provided chat history with node's chat history
|
45
|
-
user_chat_history = self.prompt_inputs.get(CHAT_HISTORY_VARIABLE, []) if self.prompt_inputs else []
|
46
|
-
merged_chat_history = user_chat_history + self.state.chat_history
|
47
|
-
self.prompt_inputs = {**self.prompt_inputs, CHAT_HISTORY_VARIABLE: merged_chat_history} # type: ignore
|
48
45
|
generator = super().run()
|
49
46
|
for output in generator:
|
50
47
|
if output.name == "results" and output.value:
|
@@ -234,6 +231,14 @@ def create_tool_router_node(
|
|
234
231
|
)
|
235
232
|
)
|
236
233
|
|
234
|
+
node_prompt_inputs = {
|
235
|
+
**(prompt_inputs or {}),
|
236
|
+
CHAT_HISTORY_VARIABLE: ConcatExpression[List[ChatMessage], List[ChatMessage]](
|
237
|
+
lhs=(prompt_inputs or {}).get(CHAT_HISTORY_VARIABLE, []),
|
238
|
+
rhs=ToolCallingState.chat_history,
|
239
|
+
),
|
240
|
+
}
|
241
|
+
|
237
242
|
node = cast(
|
238
243
|
Type[ToolRouterNode],
|
239
244
|
type(
|
@@ -243,7 +248,7 @@ def create_tool_router_node(
|
|
243
248
|
"ml_model": ml_model,
|
244
249
|
"blocks": blocks,
|
245
250
|
"functions": functions,
|
246
|
-
"prompt_inputs":
|
251
|
+
"prompt_inputs": node_prompt_inputs,
|
247
252
|
"parameters": parameters,
|
248
253
|
"max_prompt_iterations": max_prompt_iterations,
|
249
254
|
"Ports": Ports,
|
@@ -285,6 +290,21 @@ def create_function_node(
|
|
285
290
|
|
286
291
|
return node
|
287
292
|
|
293
|
+
elif isinstance(function, ComposioToolDefinition):
|
294
|
+
# ComposioToolDefinition execution not yet implemented
|
295
|
+
def composio_not_implemented(**kwargs):
|
296
|
+
raise NotImplementedError("ComposioToolDefinition execution not yet implemented")
|
297
|
+
|
298
|
+
node = type(
|
299
|
+
f"ComposioNode_{function.name}",
|
300
|
+
(FunctionNode,),
|
301
|
+
{
|
302
|
+
"function_definition": composio_not_implemented,
|
303
|
+
"function_call_output": tool_router_node.Outputs.results,
|
304
|
+
"__module__": __name__,
|
305
|
+
},
|
306
|
+
)
|
307
|
+
|
288
308
|
elif is_workflow_class(function):
|
289
309
|
node = type(
|
290
310
|
f"DynamicInlineSubworkflowNode_{function.__name__}",
|
@@ -314,5 +334,7 @@ def get_function_name(function: Tool) -> str:
|
|
314
334
|
if isinstance(function, DeploymentDefinition):
|
315
335
|
name = str(function.deployment_id or function.deployment_name)
|
316
336
|
return name.replace("-", "")
|
337
|
+
elif isinstance(function, ComposioToolDefinition):
|
338
|
+
return function.name
|
317
339
|
else:
|
318
340
|
return snake_case(function.__name__)
|
vellum/workflows/types/core.py
CHANGED
@@ -13,7 +13,7 @@ from typing import ( # type: ignore[attr-defined]
|
|
13
13
|
)
|
14
14
|
|
15
15
|
from vellum.client.core.pydantic_utilities import UniversalBaseModel
|
16
|
-
from vellum.workflows.types.definition import DeploymentDefinition
|
16
|
+
from vellum.workflows.types.definition import ComposioToolDefinition, DeploymentDefinition
|
17
17
|
|
18
18
|
if TYPE_CHECKING:
|
19
19
|
from vellum.workflows.workflows.base import BaseWorkflow
|
@@ -50,4 +50,4 @@ class ConditionType(Enum):
|
|
50
50
|
|
51
51
|
|
52
52
|
# Type alias for functions that can be called in tool calling nodes
|
53
|
-
Tool = Union[Callable[..., Any], DeploymentDefinition, Type["BaseWorkflow"]]
|
53
|
+
Tool = Union[Callable[..., Any], DeploymentDefinition, Type["BaseWorkflow"], ComposioToolDefinition]
|
@@ -2,7 +2,7 @@ import importlib
|
|
2
2
|
import inspect
|
3
3
|
from types import FrameType
|
4
4
|
from uuid import UUID
|
5
|
-
from typing import Annotated, Any, Dict, Optional, Union
|
5
|
+
from typing import Annotated, Any, Dict, Literal, Optional, Union
|
6
6
|
|
7
7
|
from pydantic import BeforeValidator
|
8
8
|
|
@@ -97,3 +97,22 @@ class DeploymentDefinition(UniversalBaseModel):
|
|
97
97
|
if not self._is_uuid():
|
98
98
|
return self.deployment
|
99
99
|
return None
|
100
|
+
|
101
|
+
|
102
|
+
class ComposioToolDefinition(UniversalBaseModel):
|
103
|
+
"""Represents a specific Composio action that can be used in Tool Calling Node"""
|
104
|
+
|
105
|
+
type: Literal["COMPOSIO"] = "COMPOSIO"
|
106
|
+
|
107
|
+
# Core identification
|
108
|
+
toolkit: str # "GITHUB", "SLACK", etc.
|
109
|
+
action: str # Specific action like "GITHUB_CREATE_AN_ISSUE"
|
110
|
+
description: str
|
111
|
+
|
112
|
+
# Optional cached metadata
|
113
|
+
display_name: Optional[str] = None
|
114
|
+
|
115
|
+
@property
|
116
|
+
def name(self) -> str:
|
117
|
+
"""Generate a function name for this tool"""
|
118
|
+
return self.action.lower()
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import pytest
|
2
2
|
from uuid import UUID
|
3
3
|
|
4
|
-
from vellum.workflows.types.definition import DeploymentDefinition
|
4
|
+
from vellum.workflows.types.definition import ComposioToolDefinition, DeploymentDefinition
|
5
5
|
|
6
6
|
|
7
7
|
@pytest.mark.parametrize(
|
@@ -31,3 +31,16 @@ def test_deployment_definition(deployment_value, expected_deployment_id, expecte
|
|
31
31
|
|
32
32
|
assert deployment.deployment_id == expected_deployment_id
|
33
33
|
assert deployment.deployment_name == expected_deployment_name
|
34
|
+
|
35
|
+
|
36
|
+
def test_composio_tool_definition_creation():
|
37
|
+
"""Test that ComposioToolDefinition can be created with required fields."""
|
38
|
+
composio_tool = ComposioToolDefinition(
|
39
|
+
toolkit="GITHUB", action="GITHUB_CREATE_AN_ISSUE", description="Create a new issue in a GitHub repository"
|
40
|
+
)
|
41
|
+
|
42
|
+
assert composio_tool.toolkit == "GITHUB"
|
43
|
+
assert composio_tool.action == "GITHUB_CREATE_AN_ISSUE"
|
44
|
+
assert composio_tool.description == "Create a new issue in a GitHub repository"
|
45
|
+
assert composio_tool.display_name is None
|
46
|
+
assert composio_tool.name == "github_create_an_issue"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: vellum-ai
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.4
|
4
4
|
Summary:
|
5
5
|
License: MIT
|
6
6
|
Requires-Python: >=3.9,<4.0
|
@@ -22,6 +22,8 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
22
|
Classifier: Typing :: Typed
|
23
23
|
Requires-Dist: Jinja2 (>=3.1.0,<4.0.0)
|
24
24
|
Requires-Dist: click (>=8.1.7,<9.0.0)
|
25
|
+
Requires-Dist: composio-client (>=1.5.0,<2.0.0)
|
26
|
+
Requires-Dist: composio-core (>=0.7.20,<1.0.0)
|
25
27
|
Requires-Dist: docker (>=7.1.0,<8.0.0)
|
26
28
|
Requires-Dist: httpx (>=0.21.2)
|
27
29
|
Requires-Dist: openai (>=1.0.0,<2.0.0)
|
@@ -139,12 +139,12 @@ vellum_ee/workflows/tests/test_display_meta.py,sha256=PkXJVnMZs9GNooDkd59n4YTBAX
|
|
139
139
|
vellum_ee/workflows/tests/test_serialize_module.py,sha256=EVrCRAP0lpvd0GIDlg2tnGfJzDNooNDXPfGFPLAqmbI,1870
|
140
140
|
vellum_ee/workflows/tests/test_server.py,sha256=SsOkS6sGO7uGC4mxvk4iv8AtcXs058P9hgFHzTWmpII,14519
|
141
141
|
vellum_ee/workflows/tests/test_virtual_files.py,sha256=TJEcMR0v2S8CkloXNmCHA0QW0K6pYNGaIjraJz7sFvY,2762
|
142
|
-
vellum/__init__.py,sha256
|
142
|
+
vellum/__init__.py,sha256=-Ou4HwpSHaHMrNOXucTQDBqLeF0Hf3SkNV7ZXbm-9BY,43243
|
143
143
|
vellum/client/README.md,sha256=Dle5iytCXxP1pNeNd7uZyhFo0rl7tp7vU7s8gmi10OQ,4863
|
144
|
-
vellum/client/__init__.py,sha256=
|
144
|
+
vellum/client/__init__.py,sha256=KmkyOgReuTsjmXF3WC_dPQ9QqJgYrB3Sr8_LcSUIQyI,125258
|
145
145
|
vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
|
146
146
|
vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
|
147
|
-
vellum/client/core/client_wrapper.py,sha256=
|
147
|
+
vellum/client/core/client_wrapper.py,sha256=im_0U7PdkUrr4begxJ1IwohjLbmzi8c2diHiklFefHE,2383
|
148
148
|
vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
149
149
|
vellum/client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
150
150
|
vellum/client/core/http_client.py,sha256=cKs2w0ybDBk1wHQf-fTALm_MmvaMe3cZKcYJxqmCxkE,19539
|
@@ -160,8 +160,8 @@ vellum/client/errors/bad_request_error.py,sha256=_EbO8mWqN9kFZPvIap8qa1lL_EWkRcs
|
|
160
160
|
vellum/client/errors/forbidden_error.py,sha256=QO1kKlhClAPES6zsEK7g9pglWnxn3KWaOCAawWOg6Aw,263
|
161
161
|
vellum/client/errors/internal_server_error.py,sha256=8USCagXyJJ1MOm9snpcXIUt6eNXvrd_aq7Gfcu1vlOI,268
|
162
162
|
vellum/client/errors/not_found_error.py,sha256=tBVCeBC8n3C811WHRj_n-hs3h8MqwR5gp0vLiobk7W8,262
|
163
|
-
vellum/client/reference.md,sha256=
|
164
|
-
vellum/client/resources/__init__.py,sha256=
|
163
|
+
vellum/client/reference.md,sha256=XI2rD7nVPOwmVSp8K46bKD3OsCT9lrhg-0wrpZY-RW8,93524
|
164
|
+
vellum/client/resources/__init__.py,sha256=z0K2LxPPq_GmM1TmLmfm5VPfVaWW-s3rOmTeD2N5A8E,1607
|
165
165
|
vellum/client/resources/ad_hoc/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
166
166
|
vellum/client/resources/ad_hoc/client.py,sha256=iPKL9L3BpQhiGhjCD20Q99dHZrDnkfKKxMExVOoMkGU,28001
|
167
167
|
vellum/client/resources/container_images/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
@@ -202,6 +202,8 @@ vellum/client/resources/workflow_deployments/client.py,sha256=_a6MsQ2Dyv5uDsRYXj
|
|
202
202
|
vellum/client/resources/workflow_deployments/types/__init__.py,sha256=W7DKJ1nduwhRckYLvH7wHLdaGH9MXHTZkxwG7FdTngY,340
|
203
203
|
vellum/client/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py,sha256=LPETHLX9Ygha_JRT9oWZAZR6clv-W1tTelXzktkTBX8,178
|
204
204
|
vellum/client/resources/workflow_deployments/types/workflow_deployments_list_request_status.py,sha256=FXVkVmGM6DZ2RpTGnZXWJYiVlLQ-K5fDtX3WMaBPaWk,182
|
205
|
+
vellum/client/resources/workflow_executions/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
206
|
+
vellum/client/resources/workflow_executions/client.py,sha256=oFh6Qkmd7SBcgegjnPfDbqDeuzz3o2qTky6M4pg_ipc,4132
|
205
207
|
vellum/client/resources/workflow_sandboxes/__init__.py,sha256=OR3wE3pTgsZlTS-0ukeMWzSuEZF8PszuQTCHDh6JybI,175
|
206
208
|
vellum/client/resources/workflow_sandboxes/client.py,sha256=tpIjyuvVAnghmUu_gI9lpv4NbFa3dvmy26a_Y69UyOI,13270
|
207
209
|
vellum/client/resources/workflow_sandboxes/types/__init__.py,sha256=EaGVRU1w6kJiiHrbZOeEa0c3ggjfgv_jBqsyOkCRWOI,212
|
@@ -212,7 +214,7 @@ vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCat
|
|
212
214
|
vellum/client/resources/workspace_secrets/client.py,sha256=l1FOj0f-IB5_oQ7iWiHopFK3lDXBqiaIc9g10W9PHFU,8381
|
213
215
|
vellum/client/resources/workspaces/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
214
216
|
vellum/client/resources/workspaces/client.py,sha256=61eFS8USOtHf4cFoT3dZmAMs6KGAVPbXjAolws2ftsQ,3683
|
215
|
-
vellum/client/types/__init__.py,sha256=
|
217
|
+
vellum/client/types/__init__.py,sha256=QRZCQZxK7WN5zFYOV0eCdhKfVvYFDfDgkux3CL9S9qc,65478
|
216
218
|
vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
|
217
219
|
vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
|
218
220
|
vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=oDG60TpwK1YNSKhRsBbiP2O3ZF9PKR-M9chGIfKw4R4,1004
|
@@ -481,7 +483,8 @@ vellum/client/types/node_output_compiled_json_value.py,sha256=KUOPgaL0_nlzjjtc7f
|
|
481
483
|
vellum/client/types/node_output_compiled_number_value.py,sha256=iBwBcPQuE0PZ50Q30iSUGNnDkf6yIMZ_au9lQDDhlzA,882
|
482
484
|
vellum/client/types/node_output_compiled_search_results_value.py,sha256=oHKSncqdhE3q3SDjHqhRRSePvF24XRiwecZoTMdM_Uo,973
|
483
485
|
vellum/client/types/node_output_compiled_string_value.py,sha256=pR_ku51KL_gwplMCiy6oT4sARnKP_0gZsTcLbVtOk_Y,880
|
484
|
-
vellum/client/types/
|
486
|
+
vellum/client/types/node_output_compiled_thinking_value.py,sha256=j6IRT9A7f58wUyv0dAFY9ata7Tl391gXwn_wbDmxkAI,953
|
487
|
+
vellum/client/types/node_output_compiled_value.py,sha256=GbIKZyrGmqj_dYLiL0eAVZdQnfQhZd-BYsQnGdyI6tY,1181
|
485
488
|
vellum/client/types/node_parent_context.py,sha256=DV93VENs_ZrVHRZJw6Nw2h7bRU48UUDxjezcAUgjmns,1518
|
486
489
|
vellum/client/types/normalized_log_probs.py,sha256=XNfwhKgK9vPlJQh9dcup2Rl5mTlmV154rrIRsf3dYx8,706
|
487
490
|
vellum/client/types/normalized_token_log_probs.py,sha256=C0VHuRQbbcCFzQ9fJNbNjXAc2aUMUT5MxIt929-KMEA,714
|
@@ -496,7 +499,7 @@ vellum/client/types/open_ai_vectorizer_text_embedding_3_small.py,sha256=T_-P7qGj
|
|
496
499
|
vellum/client/types/open_ai_vectorizer_text_embedding_3_small_request.py,sha256=-lwNeWj7ExP-JLncUp1Uyd20FxweVIDu-aEnenPB98A,841
|
497
500
|
vellum/client/types/open_ai_vectorizer_text_embedding_ada_002.py,sha256=c4vNlR6lRvUjq-67M06sroDMNMG_qC4JUBqwmKEJQ2I,812
|
498
501
|
vellum/client/types/open_ai_vectorizer_text_embedding_ada_002_request.py,sha256=FdpkkNBGgRwfqFjBwpfH4t2zKIM0pIYminX2iZQUzvY,841
|
499
|
-
vellum/client/types/organization_limit_config.py,sha256=-
|
502
|
+
vellum/client/types/organization_limit_config.py,sha256=-RXRY_Rpt8hHbJtNxJZvfKo1cUEnlvvGCRhk401jLU0,956
|
500
503
|
vellum/client/types/organization_read.py,sha256=c5Wl5KY6plC7DuPJq6zAK_UTH2XVhT7H8OdEtxLqN98,854
|
501
504
|
vellum/client/types/paginated_container_image_read_list.py,sha256=7lwIgs1q7Z0xDYPGWPnjSNC1kU_peu79CotzaaQfRdA,801
|
502
505
|
vellum/client/types/paginated_deployment_release_tag_read_list.py,sha256=hp7D74CxPY14dEPRZ-fnTCwp63upxkYquL1e74oYXh4,826
|
@@ -750,6 +753,7 @@ vellum/client/types/workflow_execution_actual.py,sha256=RC5t5wfnbHJ0jvSV_rk3OK38
|
|
750
753
|
vellum/client/types/workflow_execution_actual_chat_history_request.py,sha256=L6U8tgM7SiU4qGJMZChFzj6HfHgO-YAlTXfbT7ZIaE4,1993
|
751
754
|
vellum/client/types/workflow_execution_actual_json_request.py,sha256=5QYaPCSOwFnjH_kTrB2bTznTMFExSZdBhTkmelf1h4Q,1931
|
752
755
|
vellum/client/types/workflow_execution_actual_string_request.py,sha256=1optEDv090iVev1l0Z9cgZ1NfNrHp2VRiNjmS7f7jtc,1895
|
756
|
+
vellum/client/types/workflow_execution_detail.py,sha256=jSBc43AUmQMSt4QwHV6yk-ywBRty2VSQl1LHeHgR7lg,1796
|
753
757
|
vellum/client/types/workflow_execution_event_error_code.py,sha256=QzRLZ0dteptDmt3n5_vw26zGgDrpvcR4vRa_mtl2sMI,495
|
754
758
|
vellum/client/types/workflow_execution_event_type.py,sha256=ESKqV3ItoAlqBooruf-i0AnmEh_GvCySZ0Co3r9Bvt0,170
|
755
759
|
vellum/client/types/workflow_execution_fulfilled_body.py,sha256=4M9fQdJy7nH5Y1HLq9VVlfTNW4F9jlj4k5SWty9fFqQ,746
|
@@ -849,11 +853,11 @@ vellum/plugins/utils.py,sha256=cPmxE9R2CK1bki2jKE8rB-G9zMf2pzHjSPDHFPXwd3Q,878
|
|
849
853
|
vellum/plugins/vellum_mypy.py,sha256=hfjC2rIxNdQuJa6fIN4PDgODnQ3YaUszyaV2eNbLJlE,27952
|
850
854
|
vellum/prompts/__init__.py,sha256=kn-btvQOMNnnBuyQiUpie48_VBJAk7tFFU-ul5dwK60,107
|
851
855
|
vellum/prompts/blocks/__init__.py,sha256=Zwvncjd8sUCPmT-8pFpgLYsKJl0xB6td1GTQzjV9hYA,108
|
852
|
-
vellum/prompts/blocks/compilation.py,sha256=
|
856
|
+
vellum/prompts/blocks/compilation.py,sha256=wI9IRj-atd8GYJnOhBnyumhH25e3rUYC5uTcMVEyktw,10212
|
853
857
|
vellum/prompts/blocks/exceptions.py,sha256=vmk5PV6Vyw9nKjZYQDUDW0LH8MfQNIgFvFb_mFWdIRI,50
|
854
858
|
vellum/prompts/blocks/helpers.py,sha256=7G1Qi6N3V1K73iqTypMTcl6Rum7wk449yHStkakLy-U,961
|
855
859
|
vellum/prompts/blocks/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
856
|
-
vellum/prompts/blocks/tests/test_compilation.py,sha256=
|
860
|
+
vellum/prompts/blocks/tests/test_compilation.py,sha256=r8Z2x6QUiHhP183MtRTYxNxoxADWx_DN2HM5iStnfAg,7885
|
857
861
|
vellum/prompts/blocks/types.py,sha256=6aSJQco-5kKeadfKVVXF_SrQPlIJgMYVNc-C7so1sY8,975
|
858
862
|
vellum/prompts/constants.py,sha256=fnjiRWLoRlC4Puo5oQcpZD5Hd-EesxsAo9l5tGAkpZQ,270
|
859
863
|
vellum/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -898,6 +902,8 @@ vellum/resources/workflow_deployments/client.py,sha256=MntTDCOGaN6mpvgEPA7bn8asF
|
|
898
902
|
vellum/resources/workflow_deployments/types/__init__.py,sha256=9-K4coC8XaqnoAmBBp9_KWZ1EjbZW7zr_vIgfSmhNdM,168
|
899
903
|
vellum/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py,sha256=KTXyywjRa2YZvLstsyyIMEm8lxGJk6FISTpKurGaq1o,210
|
900
904
|
vellum/resources/workflow_deployments/types/workflow_deployments_list_request_status.py,sha256=mLfHzwK3uBQfw8nku6YmceHoaWksRPRZzpNBy9MGBv4,209
|
905
|
+
vellum/resources/workflow_executions/__init__.py,sha256=kYIriV1spux6IgeTjEvcyLM-581BjMa6UGNrU-32yhQ,161
|
906
|
+
vellum/resources/workflow_executions/client.py,sha256=aGSqc76uHTLBu8Ih5iL9R_erok77btFsBOTQp5kq0YM,168
|
901
907
|
vellum/resources/workflow_sandboxes/__init__.py,sha256=jHqdk62iizWsMzrhlXMhAON5eX4CRgL7ipux4MqoK2Y,160
|
902
908
|
vellum/resources/workflow_sandboxes/client.py,sha256=6hUU770XG4lOoZZOwvAqmUz5XZDgRd3MPWZs1wieWEM,167
|
903
909
|
vellum/resources/workflow_sandboxes/types/__init__.py,sha256=jMwkDLd5Xc4hheGoU-h087t1L3qxp4llmT6MG5MeufA,166
|
@@ -1177,6 +1183,7 @@ vellum/types/node_output_compiled_json_value.py,sha256=f_xkMtjZ2Y-FXmtchRBwx1TdF
|
|
1177
1183
|
vellum/types/node_output_compiled_number_value.py,sha256=5QBcXuHAe6KlfRalCkxI3WUPvkoE5AKygHUxI_h5lpA,171
|
1178
1184
|
vellum/types/node_output_compiled_search_results_value.py,sha256=ZeVjL9kMa_SvDkvtEvSgBpD1GQDQlSEjJejgcf5E6SM,179
|
1179
1185
|
vellum/types/node_output_compiled_string_value.py,sha256=fC_Rsxv21-uWZDpkPvq64tVJnT99u_2neMv2H2HD0x8,171
|
1186
|
+
vellum/types/node_output_compiled_thinking_value.py,sha256=cHICAB3E-uqLKu9yYUrCxto1BcDHQpmMz6xtFz0uI_k,173
|
1180
1187
|
vellum/types/node_output_compiled_value.py,sha256=aXEQZ_Wat_SVa7-ExtMa3qfS9yIuxFCFn8bS5r3ojJo,164
|
1181
1188
|
vellum/types/node_parent_context.py,sha256=DIcpehhaiZunn2S6eKeiy9LhTpDjmkKQP8ZNUk-WAq8,157
|
1182
1189
|
vellum/types/normalized_log_probs.py,sha256=b7ID-1NbDQgUeyrU2-AOtzn88i8OJnOqBX540rIl11o,158
|
@@ -1446,6 +1453,7 @@ vellum/types/workflow_execution_actual.py,sha256=IrOLWopZHTwqNStG7u0xuo1OhHhD1SH
|
|
1446
1453
|
vellum/types/workflow_execution_actual_chat_history_request.py,sha256=xR8LHjQtxzZ0PJECgDZ9qEIoPuwb8KY8GEvbsraB_Ak,184
|
1447
1454
|
vellum/types/workflow_execution_actual_json_request.py,sha256=bMeY3YXJy_b6ygezFtJihHBKyImdxn3-TNf5gkFKQS0,176
|
1448
1455
|
vellum/types/workflow_execution_actual_string_request.py,sha256=BRmnaTVWCyxR17BvOMmYM2ncGUxT8U3sR7mqUuAxzQE,178
|
1456
|
+
vellum/types/workflow_execution_detail.py,sha256=ITXmdq2ewgCT4N6fKLM_zEXjJ0lZF8BBsPsAoK8Tv-g,163
|
1449
1457
|
vellum/types/workflow_execution_event_error_code.py,sha256=UtARv4FXcfQ8Rw-eWUUVr3Il77cl-qpj2PIaOqYol3A,173
|
1450
1458
|
vellum/types/workflow_execution_event_type.py,sha256=Fd78t9DwZPpWmkzEXtbbfD6pZq3hNiDHlyK7fN_ohB8,167
|
1451
1459
|
vellum/types/workflow_execution_fulfilled_body.py,sha256=t2LOzIpyxYHgV5TwfrMRcwWNHmv6DM7IaFEsH6S3Kmk,171
|
@@ -1527,7 +1535,7 @@ vellum/workflows/__init__.py,sha256=CssPsbNvN6rDhoLuqpEv7MMKGa51vE6dvAh6U31Pcio,
|
|
1527
1535
|
vellum/workflows/constants.py,sha256=2yg4_uo5gpqViy3ZLSwfC8qTybleYCtOnhA4Rj6bacM,1310
|
1528
1536
|
vellum/workflows/context.py,sha256=jvMuyeRluay8BQa7GX1TqUlmoHLCycAVYKkp87sfXSo,1644
|
1529
1537
|
vellum/workflows/descriptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1530
|
-
vellum/workflows/descriptors/base.py,sha256=
|
1538
|
+
vellum/workflows/descriptors/base.py,sha256=nZeCuuoJj3eJJjhrqOyfBB4FLUkN6fuO8PDdx6YDkzc,15373
|
1531
1539
|
vellum/workflows/descriptors/exceptions.py,sha256=gUy4UD9JFUKSeQnQpeuDSLiRqWjWiIsxLahB7p_q3JY,54
|
1532
1540
|
vellum/workflows/descriptors/tests/test_utils.py,sha256=HJ5DoRz0sJvViGxyZ_FtytZjxN2J8xTkGtaVwCy6Q90,6928
|
1533
1541
|
vellum/workflows/descriptors/utils.py,sha256=1siECBf6AI54gwwUwkF6mP9rYsRryUGaOYBbMpQaceM,3848
|
@@ -1553,6 +1561,7 @@ vellum/workflows/expressions/and_.py,sha256=I7lNqrUM3-m_5hmjjiMhaHhJtKcLj39kEFVW
|
|
1553
1561
|
vellum/workflows/expressions/begins_with.py,sha256=FnWsQXbENm0ZwkfEP7dR8Qx4_MMrzj6C1yqAV2KaNHw,1123
|
1554
1562
|
vellum/workflows/expressions/between.py,sha256=dVeddT6YA91eOAlE1Utg7C7gnCiYE7WP-dg17yXUeAY,1492
|
1555
1563
|
vellum/workflows/expressions/coalesce_expression.py,sha256=s4pcfu8KkUaUlQkB6BoQUKitGmV1FIQfV4agHHZtd98,1194
|
1564
|
+
vellum/workflows/expressions/concat.py,sha256=bFiHeCpZWfMMO_nvFmM5RgN-hoh-5ThBtxP0EJ2F7BE,1105
|
1556
1565
|
vellum/workflows/expressions/contains.py,sha256=B1Ub63119QmwPKvBt8vDqQbuiaJWh-_2k5ZUnUNZZak,1392
|
1557
1566
|
vellum/workflows/expressions/does_not_begin_with.py,sha256=qcnIJsxg4Jt82i2L-PW6ZhKP3C-OlEiXbiIgwHQc5RE,1137
|
1558
1567
|
vellum/workflows/expressions/does_not_contain.py,sha256=ZdHVewTe_pbPGB0cGv_gIq_4jKkv_oG2tX3RBdEGWoA,1266
|
@@ -1580,6 +1589,7 @@ vellum/workflows/expressions/or_.py,sha256=s-8YdMSSCDS2yijR38kguwok3iqmDMMgDYKV9
|
|
1580
1589
|
vellum/workflows/expressions/parse_json.py,sha256=xsk6j3HF7bU1yF6fwt5P9Ugcyd5D9ZXrdng11FRilUI,1088
|
1581
1590
|
vellum/workflows/expressions/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1582
1591
|
vellum/workflows/expressions/tests/test_accessor.py,sha256=g2z0mJjuWwVKeXS0yGoFW-aRmT5n_LrhfuBorSmj9kI,7585
|
1592
|
+
vellum/workflows/expressions/tests/test_concat.py,sha256=fDHXlmFvCtqPkdZQD9Qs22i6sJq_MJjbUXCnTlSMvA0,1666
|
1583
1593
|
vellum/workflows/expressions/tests/test_expressions.py,sha256=3b6k8xs-CItBBw95NygFLUNoNPKxI4VA1GyWbkMtqyI,11623
|
1584
1594
|
vellum/workflows/expressions/tests/test_parse_json.py,sha256=zpB_qE5_EwWQL7ULQUJm0o1PRSfWZdAqZNW6Ah13oJE,1059
|
1585
1595
|
vellum/workflows/graph/__init__.py,sha256=3sHlay5d_-uD7j3QJXiGl0WHFZZ_QScRvgyDhN2GhHY,74
|
@@ -1660,7 +1670,7 @@ vellum/workflows/nodes/displayable/guardrail_node/test_node.py,sha256=SAGv6hSFcB
|
|
1660
1670
|
vellum/workflows/nodes/displayable/guardrail_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1661
1671
|
vellum/workflows/nodes/displayable/guardrail_node/tests/test_node.py,sha256=X2pd6TI8miYxIa7rgvs1pHTEreyWcf77EyR0_Jsa700,2055
|
1662
1672
|
vellum/workflows/nodes/displayable/inline_prompt_node/__init__.py,sha256=gSUOoEZLlrx35-tQhSAd3An8WDwBqyiQh-sIebLU9wU,74
|
1663
|
-
vellum/workflows/nodes/displayable/inline_prompt_node/node.py,sha256=
|
1673
|
+
vellum/workflows/nodes/displayable/inline_prompt_node/node.py,sha256=wgZ9bt9IFe5cqWSghfMlD1NgmFhRnuDLRzXzMhJomV0,2912
|
1664
1674
|
vellum/workflows/nodes/displayable/inline_prompt_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1665
1675
|
vellum/workflows/nodes/displayable/inline_prompt_node/tests/test_node.py,sha256=bBHs90mV5SZ3rJPAL0wx4WWyawUA406LgMPOdvpZC_A,10923
|
1666
1676
|
vellum/workflows/nodes/displayable/merge_node/__init__.py,sha256=J8IC08dSH7P76wKlNuxe1sn7toNGtSQdFirUbtPDEs0,60
|
@@ -1668,7 +1678,7 @@ vellum/workflows/nodes/displayable/merge_node/node.py,sha256=nZtGGVAvY4fvGg8vwV6
|
|
1668
1678
|
vellum/workflows/nodes/displayable/note_node/__init__.py,sha256=KWA3P4fyYJ-fOTky8qNGlcOotQ-HeHJ9AjZt6mRQmCE,58
|
1669
1679
|
vellum/workflows/nodes/displayable/note_node/node.py,sha256=sIN1VBQ7zeT3GhN0kupXbFfdpvgedWV79k4woJNp5IQ,394
|
1670
1680
|
vellum/workflows/nodes/displayable/prompt_deployment_node/__init__.py,sha256=krX1Hds-TSVYZsx0wJFX4wsAKkEFYOX1ifwRGiIM-EA,82
|
1671
|
-
vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=
|
1681
|
+
vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=r-HGevtJ0wXPPW58dNfF3euuDmXO-p1Qm8WuJTJqVtg,3312
|
1672
1682
|
vellum/workflows/nodes/displayable/prompt_deployment_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1673
1683
|
vellum/workflows/nodes/displayable/prompt_deployment_node/tests/test_node.py,sha256=c_nuuqrwiIjgj4qIbVypfDuOc-3TlgO6CbXFqQl2Nqw,19725
|
1674
1684
|
vellum/workflows/nodes/displayable/search_node/__init__.py,sha256=hpBpvbrDYf43DElRZFLzieSn8weXiwNiiNOJurERQbs,62
|
@@ -1685,12 +1695,14 @@ vellum/workflows/nodes/displayable/tests/test_search_node_error_handling.py,sha2
|
|
1685
1695
|
vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=VepO5z1277c1y5N6LLIC31nnWD1aak2m5oPFplfJHHs,6935
|
1686
1696
|
vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=dc3EEn1sOICpr3GdS8eyeFtExaGwWWcw9eHSdkRhQJU,2584
|
1687
1697
|
vellum/workflows/nodes/displayable/tool_calling_node/__init__.py,sha256=3n0-ysmFKsr40CVxPthc0rfJgqVJeZuUEsCmYudLVRg,117
|
1698
|
+
vellum/workflows/nodes/displayable/tool_calling_node/composio_service.py,sha256=C53hgStA-BHe7EFu4j_N650LqsLBOiMovs_nGW8J7nc,2669
|
1688
1699
|
vellum/workflows/nodes/displayable/tool_calling_node/node.py,sha256=BRA6YRCEOk0Nw3DCIT13WY7WCZ7Gx30s-egJe_md0FA,6504
|
1689
1700
|
vellum/workflows/nodes/displayable/tool_calling_node/state.py,sha256=oQg_GAtc349nPB5BL_oeDYYD7q1qSDPAqjj8iA8OoAw,215
|
1690
1701
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1702
|
+
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_composio_service.py,sha256=BOb4LTAELS-cX5xPH8fH4E2CKl1IBBjiOBYhQl51PpI,4758
|
1691
1703
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py,sha256=raY_E5-EgtYNXEPbO2I-Ythe4YeuFdGsXGZ_BAN98uI,7979
|
1692
1704
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_utils.py,sha256=eu6WTyENhGLg9pGp_j69rysZjf_qiQXske1YdZn9PzU,1718
|
1693
|
-
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=
|
1705
|
+
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=jMXStMKr3BFfQKdQa9hFFxI7RQp8eAMAknpqkbY0Nk0,13344
|
1694
1706
|
vellum/workflows/nodes/experimental/README.md,sha256=eF6DfIL8t-HbF9-mcofOMymKrraiBHDLKTlnBa51ZiE,284
|
1695
1707
|
vellum/workflows/nodes/experimental/__init__.py,sha256=jCQgvZEknXKfuNhGSOou4XPfrPqZ1_XBj5F0n0fgiWM,106
|
1696
1708
|
vellum/workflows/nodes/experimental/openai_chat_completion_node/__init__.py,sha256=lsyD9laR9p7kx5-BXGH2gUTM242UhKy8SMV0SR6S2iE,90
|
@@ -1737,12 +1749,12 @@ vellum/workflows/tests/test_sandbox.py,sha256=JKwaluI-lODQo7Ek9sjDstjL_WTdSqUlVi
|
|
1737
1749
|
vellum/workflows/tests/test_undefined.py,sha256=zMCVliCXVNLrlC6hEGyOWDnQADJ2g83yc5FIM33zuo8,353
|
1738
1750
|
vellum/workflows/types/__init__.py,sha256=KxUTMBGzuRCfiMqzzsykOeVvrrkaZmTTo1a7SLu8gRM,68
|
1739
1751
|
vellum/workflows/types/code_execution_node_wrappers.py,sha256=3MNIoFZKzVzNS5qFLVuDwMV17QJw72zo7NRf52yMq5A,3074
|
1740
|
-
vellum/workflows/types/core.py,sha256=
|
1741
|
-
vellum/workflows/types/definition.py,sha256=
|
1752
|
+
vellum/workflows/types/core.py,sha256=6MW_BRLcx4oEJpItQWQa64xfCrsk76suZSsMKKEsJLg,1314
|
1753
|
+
vellum/workflows/types/definition.py,sha256=Oq2E5Ae6AsvqAOLWzP0k6H5M7su00JZP_QFhlV2rz7s,3721
|
1742
1754
|
vellum/workflows/types/generics.py,sha256=8jptbEx1fnJV0Lhj0MpCJOT6yNiEWeTOYOwrEAb5CRU,1576
|
1743
1755
|
vellum/workflows/types/stack.py,sha256=h7NE0vXR7l9DevFBIzIAk1Zh59K-kECQtDTKOUunwMY,1314
|
1744
1756
|
vellum/workflows/types/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1745
|
-
vellum/workflows/types/tests/test_definition.py,sha256=
|
1757
|
+
vellum/workflows/types/tests/test_definition.py,sha256=c3GczPtWxuH3BOULwZacxYTQlP2ryqH7rvT_anDORVo,1604
|
1746
1758
|
vellum/workflows/types/tests/test_utils.py,sha256=UnZog59tR577mVwqZRqqWn2fScoOU1H6up0EzS8zYhw,2536
|
1747
1759
|
vellum/workflows/types/utils.py,sha256=mTctHITBybpt4855x32oCKALBEcMNLn-9cCmfEKgJHQ,6498
|
1748
1760
|
vellum/workflows/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1763,8 +1775,8 @@ vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnad
|
|
1763
1775
|
vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1764
1776
|
vellum/workflows/workflows/tests/test_base_workflow.py,sha256=ptMntHzVyy8ZuzNgeTuk7hREgKQ5UBdgq8VJFSGaW4Y,20832
|
1765
1777
|
vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
|
1766
|
-
vellum_ai-1.0.
|
1767
|
-
vellum_ai-1.0.
|
1768
|
-
vellum_ai-1.0.
|
1769
|
-
vellum_ai-1.0.
|
1770
|
-
vellum_ai-1.0.
|
1778
|
+
vellum_ai-1.0.4.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
|
1779
|
+
vellum_ai-1.0.4.dist-info/METADATA,sha256=a7IAzLZ3FlACUej3-52w1DORsAgXM5tpzkLJ8XAgnIQ,5649
|
1780
|
+
vellum_ai-1.0.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1781
|
+
vellum_ai-1.0.4.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
|
1782
|
+
vellum_ai-1.0.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|