vellum-ai 0.14.86__py3-none-any.whl → 0.14.87__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/client/core/client_wrapper.py +2 -2
- vellum/client/types/api_version_enum.py +1 -1
- vellum/client/types/execution_thinking_vellum_value.py +1 -1
- vellum/client/types/thinking_vellum_value.py +1 -1
- vellum/client/types/thinking_vellum_value_request.py +1 -1
- vellum/client/types/workflow_event_execution_read.py +1 -0
- vellum/workflows/nodes/displayable/inline_prompt_node/node.py +2 -3
- vellum/workflows/nodes/displayable/prompt_deployment_node/node.py +2 -3
- vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py +69 -1
- vellum/workflows/nodes/displayable/tool_calling_node/utils.py +19 -9
- {vellum_ai-0.14.86.dist-info → vellum_ai-0.14.87.dist-info}/METADATA +1 -1
- {vellum_ai-0.14.86.dist-info → vellum_ai-0.14.87.dist-info}/RECORD +15 -15
- {vellum_ai-0.14.86.dist-info → vellum_ai-0.14.87.dist-info}/LICENSE +0 -0
- {vellum_ai-0.14.86.dist-info → vellum_ai-0.14.87.dist-info}/WHEEL +0 -0
- {vellum_ai-0.14.86.dist-info → vellum_ai-0.14.87.dist-info}/entry_points.txt +0 -0
@@ -16,10 +16,10 @@ class BaseClientWrapper:
|
|
16
16
|
|
17
17
|
def get_headers(self) -> typing.Dict[str, str]:
|
18
18
|
headers: typing.Dict[str, str] = {
|
19
|
-
"User-Agent": "vellum-ai/0.14.
|
19
|
+
"User-Agent": "vellum-ai/0.14.87",
|
20
20
|
"X-Fern-Language": "Python",
|
21
21
|
"X-Fern-SDK-Name": "vellum-ai",
|
22
|
-
"X-Fern-SDK-Version": "0.14.
|
22
|
+
"X-Fern-SDK-Version": "0.14.87",
|
23
23
|
}
|
24
24
|
headers["X-API-KEY"] = self.api_key
|
25
25
|
return headers
|
@@ -19,7 +19,7 @@ class ExecutionThinkingVellumValue(UniversalBaseModel):
|
|
19
19
|
|
20
20
|
name: str
|
21
21
|
type: typing.Literal["THINKING"] = "THINKING"
|
22
|
-
value:
|
22
|
+
value: StringVellumValue
|
23
23
|
|
24
24
|
if IS_PYDANTIC_V2:
|
25
25
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
@@ -13,7 +13,7 @@ class ThinkingVellumValue(UniversalBaseModel):
|
|
13
13
|
"""
|
14
14
|
|
15
15
|
type: typing.Literal["THINKING"] = "THINKING"
|
16
|
-
value:
|
16
|
+
value: StringVellumValue
|
17
17
|
|
18
18
|
if IS_PYDANTIC_V2:
|
19
19
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
@@ -13,7 +13,7 @@ class ThinkingVellumValueRequest(UniversalBaseModel):
|
|
13
13
|
"""
|
14
14
|
|
15
15
|
type: typing.Literal["THINKING"] = "THINKING"
|
16
|
-
value:
|
16
|
+
value: StringVellumValueRequest
|
17
17
|
|
18
18
|
if IS_PYDANTIC_V2:
|
19
19
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
@@ -33,6 +33,7 @@ class WorkflowEventExecutionRead(UniversalBaseModel):
|
|
33
33
|
metric_results: typing.List[WorkflowExecutionViewOnlineEvalMetricResult]
|
34
34
|
usage_results: typing.Optional[typing.List[WorkflowExecutionUsageResult]] = None
|
35
35
|
spans: typing.List[VellumSpan]
|
36
|
+
state: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
|
36
37
|
|
37
38
|
if IS_PYDANTIC_V2:
|
38
39
|
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
@@ -64,9 +64,8 @@ class InlinePromptNode(BaseInlinePromptNode[StateType]):
|
|
64
64
|
elif output.type == "FUNCTION_CALL":
|
65
65
|
string_outputs.append(output.value.model_dump_json(indent=4))
|
66
66
|
elif output.type == "THINKING":
|
67
|
-
|
68
|
-
|
69
|
-
string_outputs.append(thinking_item.value)
|
67
|
+
if output.value.type == "STRING":
|
68
|
+
string_outputs.append(output.value.value)
|
70
69
|
else:
|
71
70
|
string_outputs.append(output.value.message)
|
72
71
|
|
@@ -66,9 +66,8 @@ 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
|
-
|
71
|
-
string_outputs.append(thinking_item.value)
|
69
|
+
if output.value.type == "STRING":
|
70
|
+
string_outputs.append(output.value.value)
|
72
71
|
else:
|
73
72
|
string_outputs.append(output.value.message)
|
74
73
|
|
@@ -1,13 +1,19 @@
|
|
1
1
|
import json
|
2
|
-
from
|
2
|
+
from uuid import uuid4
|
3
|
+
from typing import Any, Iterator, List
|
3
4
|
|
4
5
|
from vellum import ChatMessage
|
6
|
+
from vellum.client.types.fulfilled_execute_prompt_event import FulfilledExecutePromptEvent
|
5
7
|
from vellum.client.types.function_call import FunctionCall
|
6
8
|
from vellum.client.types.function_call_vellum_value import FunctionCallVellumValue
|
9
|
+
from vellum.client.types.initiated_execute_prompt_event import InitiatedExecutePromptEvent
|
7
10
|
from vellum.client.types.string_chat_message_content import StringChatMessageContent
|
11
|
+
from vellum.client.types.string_vellum_value import StringVellumValue
|
12
|
+
from vellum.client.types.variable_prompt_block import VariablePromptBlock
|
8
13
|
from vellum.workflows import BaseWorkflow
|
9
14
|
from vellum.workflows.inputs.base import BaseInputs
|
10
15
|
from vellum.workflows.nodes.bases import BaseNode
|
16
|
+
from vellum.workflows.nodes.displayable.tool_calling_node.node import ToolCallingNode
|
11
17
|
from vellum.workflows.nodes.displayable.tool_calling_node.utils import create_function_node, create_tool_router_node
|
12
18
|
from vellum.workflows.outputs.base import BaseOutputs
|
13
19
|
from vellum.workflows.state.base import BaseState, StateMeta
|
@@ -140,3 +146,65 @@ def test_deployment_definition_release_tag_defaults_to_latest():
|
|
140
146
|
|
141
147
|
# THEN the release_tag should default to "LATEST"
|
142
148
|
assert deployment_config.release_tag == "LATEST"
|
149
|
+
|
150
|
+
|
151
|
+
def test_tool_calling_node_with_user_provided_chat_history_block(vellum_adhoc_prompt_client):
|
152
|
+
"""
|
153
|
+
Test that ToolCallingNode with user-provided chat history block merges user and node messages.
|
154
|
+
"""
|
155
|
+
|
156
|
+
# GIVEN a ToolCallingNode with a user-provided chat history block
|
157
|
+
user_chat_history_block = VariablePromptBlock(
|
158
|
+
block_type="VARIABLE",
|
159
|
+
input_variable="chat_history",
|
160
|
+
state=None,
|
161
|
+
cache_config=None,
|
162
|
+
)
|
163
|
+
|
164
|
+
class TestToolCallingNode(ToolCallingNode):
|
165
|
+
ml_model = "gpt-4o-mini"
|
166
|
+
blocks = [user_chat_history_block]
|
167
|
+
functions = [first_function]
|
168
|
+
prompt_inputs = {"chat_history": [ChatMessage(role="USER", text="Hello from user")]}
|
169
|
+
max_prompt_iterations = 1
|
170
|
+
|
171
|
+
def generate_prompt_events(*args: Any, **kwargs: Any) -> Iterator[Any]:
|
172
|
+
execution_id = str(uuid4())
|
173
|
+
events = [
|
174
|
+
InitiatedExecutePromptEvent(execution_id=execution_id),
|
175
|
+
FulfilledExecutePromptEvent(
|
176
|
+
execution_id=execution_id,
|
177
|
+
outputs=[StringVellumValue(value="Hello! I can help you.")],
|
178
|
+
),
|
179
|
+
]
|
180
|
+
yield from events
|
181
|
+
|
182
|
+
vellum_adhoc_prompt_client.adhoc_execute_prompt_stream.side_effect = generate_prompt_events
|
183
|
+
|
184
|
+
# AND a state
|
185
|
+
state = BaseState()
|
186
|
+
|
187
|
+
# WHEN the ToolCallingNode runs
|
188
|
+
node = TestToolCallingNode(state=state)
|
189
|
+
list(node.run())
|
190
|
+
|
191
|
+
# THEN the API should be called with the correct blocks
|
192
|
+
mock_api = vellum_adhoc_prompt_client.adhoc_execute_prompt_stream
|
193
|
+
assert mock_api.call_count >= 1
|
194
|
+
|
195
|
+
# AND the blocks should include the user-provided chat_history block
|
196
|
+
call_kwargs = mock_api.call_args.kwargs
|
197
|
+
blocks = call_kwargs["blocks"]
|
198
|
+
|
199
|
+
chat_history_blocks = [
|
200
|
+
block for block in blocks if block.block_type == "VARIABLE" and block.input_variable == "chat_history"
|
201
|
+
]
|
202
|
+
assert len(chat_history_blocks) == 1
|
203
|
+
|
204
|
+
# AND the input_values should include the user's chat history
|
205
|
+
input_values = call_kwargs["input_values"]
|
206
|
+
chat_history_inputs = [
|
207
|
+
input_val for input_val in input_values if hasattr(input_val, "key") and input_val.key == "chat_history"
|
208
|
+
]
|
209
|
+
assert len(chat_history_inputs) == 1
|
210
|
+
assert chat_history_inputs[0].value == [ChatMessage(role="USER", text="Hello from user")]
|
@@ -22,6 +22,8 @@ from vellum.workflows.types.core import EntityInputsInterface, MergeBehavior, To
|
|
22
22
|
from vellum.workflows.types.definition import DeploymentDefinition
|
23
23
|
from vellum.workflows.types.generics import is_workflow_class
|
24
24
|
|
25
|
+
CHAT_HISTORY_VARIABLE = "chat_history"
|
26
|
+
|
25
27
|
|
26
28
|
class FunctionNode(BaseNode):
|
27
29
|
"""Node that executes a specific function."""
|
@@ -40,7 +42,10 @@ class ToolRouterNode(InlinePromptNode):
|
|
40
42
|
max_iterations_message = f"Maximum number of prompt iterations `{self.max_prompt_iterations}` reached."
|
41
43
|
raise NodeException(message=max_iterations_message, code=WorkflowErrorCode.NODE_EXECUTION)
|
42
44
|
|
43
|
-
|
45
|
+
# Merge user-provided chat history with node's chat history
|
46
|
+
user_chat_history = self.prompt_inputs.get(CHAT_HISTORY_VARIABLE, []) if self.prompt_inputs else []
|
47
|
+
merged_chat_history = user_chat_history + self.state.chat_history
|
48
|
+
self.prompt_inputs = {**self.prompt_inputs, CHAT_HISTORY_VARIABLE: merged_chat_history} # type: ignore
|
44
49
|
generator = super().run()
|
45
50
|
for output in generator:
|
46
51
|
if output.name == "results" and output.value:
|
@@ -102,16 +107,21 @@ def create_tool_router_node(
|
|
102
107
|
# If no functions exist, create a simple Ports class with just a default port
|
103
108
|
Ports = type("Ports", (), {"default": Port(default=True)})
|
104
109
|
|
105
|
-
# Add a chat history block to blocks
|
106
|
-
|
107
|
-
|
108
|
-
block_type="VARIABLE",
|
109
|
-
input_variable="chat_history",
|
110
|
-
state=None,
|
111
|
-
cache_config=None,
|
112
|
-
)
|
110
|
+
# Add a chat history block to blocks only if one doesn't already exist
|
111
|
+
has_chat_history_block = any(
|
112
|
+
block.block_type == "VARIABLE" and block.input_variable == CHAT_HISTORY_VARIABLE for block in blocks
|
113
113
|
)
|
114
114
|
|
115
|
+
if not has_chat_history_block:
|
116
|
+
blocks.append(
|
117
|
+
VariablePromptBlock(
|
118
|
+
block_type="VARIABLE",
|
119
|
+
input_variable=CHAT_HISTORY_VARIABLE,
|
120
|
+
state=None,
|
121
|
+
cache_config=None,
|
122
|
+
)
|
123
|
+
)
|
124
|
+
|
115
125
|
node = cast(
|
116
126
|
Type[ToolRouterNode],
|
117
127
|
type(
|
@@ -144,7 +144,7 @@ vellum/client/README.md,sha256=47bNYmRLSISR1ING58kXXZ88nFLPGFv0bAspBtuXG3g,4306
|
|
144
144
|
vellum/client/__init__.py,sha256=tKLc-F8I8_62RSZg7J7Lvo1dUQ_or7DGsDhbMyhWfGA,120958
|
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=ReGrzx3YGXetWtARuAHO8Rr64rj4PwB7DtupM9EEfkE,1916
|
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
|
@@ -223,7 +223,7 @@ vellum/client/types/add_openai_api_key_enum.py,sha256=GB7sLK_Ou7-Xn73sKJHUo6Gx3T
|
|
223
223
|
vellum/client/types/api_node_result.py,sha256=3zAbNGNYY6EgJDzqmcIvLqq8wU-WoMEwGT1W1fjto6U,729
|
224
224
|
vellum/client/types/api_node_result_data.py,sha256=qb0hMdyZvWnlqjfmzSf_AWyUYbBhwkXGoRXNtduSG0U,909
|
225
225
|
vellum/client/types/api_request_parent_context.py,sha256=7137NWvk4Lyx4jKZU1GhQYBneuSe34ObCuY4h2jXhoc,1389
|
226
|
-
vellum/client/types/api_version_enum.py,sha256=
|
226
|
+
vellum/client/types/api_version_enum.py,sha256=PObXD86PDEuoxBpLg2pIv_xEeHbN99r2tgAKnCiu5hk,166
|
227
227
|
vellum/client/types/array_chat_message_content.py,sha256=353TDzStNXA2dQETvnJrazCr33nlFx7hgvvPV526ECg,780
|
228
228
|
vellum/client/types/array_chat_message_content_item.py,sha256=udxHZTZLQ1Ekg6X1D616a61crYxlQDz8QU6-CAHznrQ,625
|
229
229
|
vellum/client/types/array_chat_message_content_item_request.py,sha256=3ULz8jtWvJIGl2SaGfw_hX9sKJxZaM4uUrZXyORlMhQ,742
|
@@ -330,7 +330,7 @@ vellum/client/types/execution_json_vellum_value.py,sha256=oGY3CsJBKeOuEexmITfRYc
|
|
330
330
|
vellum/client/types/execution_number_vellum_value.py,sha256=b2TpqyafRHCdl6EhgctNgUSLU-JBdouU6OgM8Jk_O78,809
|
331
331
|
vellum/client/types/execution_search_results_vellum_value.py,sha256=HkxoXaUF6pMbfXd5wLk5VKmcXed2IRfEzkxsoGpwmg0,898
|
332
332
|
vellum/client/types/execution_string_vellum_value.py,sha256=4w0ottwB5F2NL3uEXBBggP7XkcdE_D2lGmEobkXWY7o,807
|
333
|
-
vellum/client/types/execution_thinking_vellum_value.py,sha256=
|
333
|
+
vellum/client/types/execution_thinking_vellum_value.py,sha256=5WGuCVue3OMAdM881fDUFGjwOuWhImT6ALQq1qHyTks,866
|
334
334
|
vellum/client/types/execution_vellum_value.py,sha256=gJ4UWA4KKzWGJZpEZGQV8Efqh27PmyWz6RZSsbtNux8,1088
|
335
335
|
vellum/client/types/external_input_descriptor.py,sha256=ErOW2OfFMz1FDGmVY6NgiUBPsleaWhdJBekwFp4ru7o,805
|
336
336
|
vellum/client/types/external_test_case_execution.py,sha256=TkO1CQcEI8LA7sdYJfAqhbdkj27sXEkF8VL7zBeDBM4,877
|
@@ -699,8 +699,8 @@ vellum/client/types/test_suite_test_case_replace_bulk_operation_request.py,sha25
|
|
699
699
|
vellum/client/types/test_suite_test_case_replaced_bulk_result.py,sha256=BIlXI7udygWrwtyRhCl8hmExHbkAl9lI8s3sm1G5iGc,1019
|
700
700
|
vellum/client/types/test_suite_test_case_replaced_bulk_result_data.py,sha256=ORmcUvwzvRLRaoFhxdXFIKzPxOI6PU1kESl0R6rsJuw,651
|
701
701
|
vellum/client/types/test_suite_test_case_upsert_bulk_operation_request.py,sha256=PrKuqePiXBQv6iLAxsk4xQg29KGdOlqMDhIVdGNxuz4,1071
|
702
|
-
vellum/client/types/thinking_vellum_value.py,sha256=
|
703
|
-
vellum/client/types/thinking_vellum_value_request.py,sha256=
|
702
|
+
vellum/client/types/thinking_vellum_value.py,sha256=q6IZFZrAXkoYCQOfHLLKWCTYj_zW8HJIzovO6IlzY-A,742
|
703
|
+
vellum/client/types/thinking_vellum_value_request.py,sha256=dHxjlH_6nxRjcixAudmvwwOMkWc4JmLHfRWKK4rGssA,771
|
704
704
|
vellum/client/types/token_overlapping_window_chunker_config.py,sha256=_8vR9AiZQmb5OA3OojbjuTOGiGNTS9EY0vXrmej_TM0,731
|
705
705
|
vellum/client/types/token_overlapping_window_chunker_config_request.py,sha256=O58w5om6EsCgZeqM7n3KSzwo1PqINyHWln46EFW4Inc,738
|
706
706
|
vellum/client/types/token_overlapping_window_chunking.py,sha256=TghiPKWZg3Eg_UzGI9VmjQgVPZFABrnhfsz4iPLEem8,889
|
@@ -742,7 +742,7 @@ vellum/client/types/workflow_deployment_release_workflow_deployment.py,sha256=ir
|
|
742
742
|
vellum/client/types/workflow_deployment_release_workflow_version.py,sha256=V1Eb3goBX2lle851LkhR1tbCFa0z_O-yhMuQWCN6c-g,773
|
743
743
|
vellum/client/types/workflow_error.py,sha256=EQajkEmLS64T0wYm0goHQl0rT7Lguurk8pLwkhjsgAI,282
|
744
744
|
vellum/client/types/workflow_event_error.py,sha256=HIewu_kh3KNPpWegAQArvAGHCp-cBIXqlUAAc_dBZhc,687
|
745
|
-
vellum/client/types/workflow_event_execution_read.py,sha256=
|
745
|
+
vellum/client/types/workflow_event_execution_read.py,sha256=a4Nv1UmNlMqDPqGrZLpyy3nNRtc1UqXmzXkeApSfstY,2089
|
746
746
|
vellum/client/types/workflow_execution_actual.py,sha256=YL5WL4O4CyaZWSrxqpE4chJ28EJlyScj5JeaLttegEg,843
|
747
747
|
vellum/client/types/workflow_execution_actual_chat_history_request.py,sha256=L6U8tgM7SiU4qGJMZChFzj6HfHgO-YAlTXfbT7ZIaE4,1993
|
748
748
|
vellum/client/types/workflow_execution_actual_json_request.py,sha256=5QYaPCSOwFnjH_kTrB2bTznTMFExSZdBhTkmelf1h4Q,1931
|
@@ -1654,7 +1654,7 @@ vellum/workflows/nodes/displayable/guardrail_node/test_node.py,sha256=SAGv6hSFcB
|
|
1654
1654
|
vellum/workflows/nodes/displayable/guardrail_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1655
1655
|
vellum/workflows/nodes/displayable/guardrail_node/tests/test_node.py,sha256=X2pd6TI8miYxIa7rgvs1pHTEreyWcf77EyR0_Jsa700,2055
|
1656
1656
|
vellum/workflows/nodes/displayable/inline_prompt_node/__init__.py,sha256=gSUOoEZLlrx35-tQhSAd3An8WDwBqyiQh-sIebLU9wU,74
|
1657
|
-
vellum/workflows/nodes/displayable/inline_prompt_node/node.py,sha256=
|
1657
|
+
vellum/workflows/nodes/displayable/inline_prompt_node/node.py,sha256=LkFaS7GDPdhqMjQ3duHPX6pjl0z6xKzGxDueQC4aeA0,2999
|
1658
1658
|
vellum/workflows/nodes/displayable/inline_prompt_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1659
1659
|
vellum/workflows/nodes/displayable/inline_prompt_node/tests/test_node.py,sha256=bBHs90mV5SZ3rJPAL0wx4WWyawUA406LgMPOdvpZC_A,10923
|
1660
1660
|
vellum/workflows/nodes/displayable/merge_node/__init__.py,sha256=J8IC08dSH7P76wKlNuxe1sn7toNGtSQdFirUbtPDEs0,60
|
@@ -1662,7 +1662,7 @@ vellum/workflows/nodes/displayable/merge_node/node.py,sha256=nZtGGVAvY4fvGg8vwV6
|
|
1662
1662
|
vellum/workflows/nodes/displayable/note_node/__init__.py,sha256=KWA3P4fyYJ-fOTky8qNGlcOotQ-HeHJ9AjZt6mRQmCE,58
|
1663
1663
|
vellum/workflows/nodes/displayable/note_node/node.py,sha256=sIN1VBQ7zeT3GhN0kupXbFfdpvgedWV79k4woJNp5IQ,394
|
1664
1664
|
vellum/workflows/nodes/displayable/prompt_deployment_node/__init__.py,sha256=krX1Hds-TSVYZsx0wJFX4wsAKkEFYOX1ifwRGiIM-EA,82
|
1665
|
-
vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=
|
1665
|
+
vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=rRUIM-zbVCV_0odyPExEZay0k4VCjsYyZ3OC9ZpHQsc,3399
|
1666
1666
|
vellum/workflows/nodes/displayable/prompt_deployment_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1667
1667
|
vellum/workflows/nodes/displayable/prompt_deployment_node/tests/test_node.py,sha256=c_nuuqrwiIjgj4qIbVypfDuOc-3TlgO6CbXFqQl2Nqw,19725
|
1668
1668
|
vellum/workflows/nodes/displayable/search_node/__init__.py,sha256=hpBpvbrDYf43DElRZFLzieSn8weXiwNiiNOJurERQbs,62
|
@@ -1681,9 +1681,9 @@ vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha
|
|
1681
1681
|
vellum/workflows/nodes/displayable/tool_calling_node/__init__.py,sha256=3n0-ysmFKsr40CVxPthc0rfJgqVJeZuUEsCmYudLVRg,117
|
1682
1682
|
vellum/workflows/nodes/displayable/tool_calling_node/node.py,sha256=7MqEtw-RejpJ5Uer11tIFKRtklC4DfiWVx2-tpnA1Gg,6310
|
1683
1683
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1684
|
-
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py,sha256=
|
1684
|
+
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py,sha256=3cCCIz-quneCVl3w8XnGxzyHx-nn_jGTKCbSH9jkYT0,7824
|
1685
1685
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_utils.py,sha256=eu6WTyENhGLg9pGp_j69rysZjf_qiQXske1YdZn9PzU,1718
|
1686
|
-
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=
|
1686
|
+
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=6_SL3yOCh798MpPSuqGkIaLFeah6B7lj1bXI7_1hZ3s,11860
|
1687
1687
|
vellum/workflows/nodes/experimental/README.md,sha256=eF6DfIL8t-HbF9-mcofOMymKrraiBHDLKTlnBa51ZiE,284
|
1688
1688
|
vellum/workflows/nodes/experimental/__init__.py,sha256=k7VQEyvgEdnrEZ-icXx3fiByPnyMOnMXNGGuqacyyik,91
|
1689
1689
|
vellum/workflows/nodes/experimental/openai_chat_completion_node/__init__.py,sha256=lsyD9laR9p7kx5-BXGH2gUTM242UhKy8SMV0SR6S2iE,90
|
@@ -1758,8 +1758,8 @@ vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnad
|
|
1758
1758
|
vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1759
1759
|
vellum/workflows/workflows/tests/test_base_workflow.py,sha256=ptMntHzVyy8ZuzNgeTuk7hREgKQ5UBdgq8VJFSGaW4Y,20832
|
1760
1760
|
vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
|
1761
|
-
vellum_ai-0.14.
|
1762
|
-
vellum_ai-0.14.
|
1763
|
-
vellum_ai-0.14.
|
1764
|
-
vellum_ai-0.14.
|
1765
|
-
vellum_ai-0.14.
|
1761
|
+
vellum_ai-0.14.87.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
|
1762
|
+
vellum_ai-0.14.87.dist-info/METADATA,sha256=PwSEW73LUo3jQfScYBT8yLOMUmskjprvWGDFbtHN47c,5556
|
1763
|
+
vellum_ai-0.14.87.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1764
|
+
vellum_ai-0.14.87.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
|
1765
|
+
vellum_ai-0.14.87.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|