vellum-ai 0.14.87__py3-none-any.whl → 0.14.89__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/README.md +33 -10
- vellum/client/__init__.py +141 -40
- vellum/client/core/client_wrapper.py +18 -5
- vellum/client/reference.md +241 -318
- vellum/client/resources/ad_hoc/client.py +76 -24
- vellum/client/resources/container_images/client.py +14 -6
- vellum/client/resources/deployments/client.py +28 -4
- vellum/client/resources/document_indexes/client.py +30 -38
- vellum/client/resources/documents/client.py +8 -30
- vellum/client/resources/folder_entities/client.py +4 -0
- vellum/client/resources/metric_definitions/client.py +16 -4
- vellum/client/resources/ml_models/client.py +2 -0
- vellum/client/resources/organizations/client.py +2 -0
- vellum/client/resources/prompts/client.py +26 -6
- vellum/client/resources/release_reviews/client.py +2 -0
- vellum/client/resources/sandboxes/client.py +10 -10
- vellum/client/resources/test_suite_runs/client.py +6 -0
- vellum/client/resources/test_suites/client.py +96 -58
- vellum/client/resources/workflow_deployments/client.py +16 -0
- vellum/client/resources/workflow_sandboxes/client.py +4 -0
- vellum/client/resources/workflows/client.py +0 -30
- vellum/client/resources/workspace_secrets/client.py +4 -0
- vellum/client/resources/workspaces/client.py +2 -0
- vellum/workflows/descriptors/utils.py +1 -1
- vellum/workflows/nodes/displayable/tool_calling_node/node.py +1 -5
- vellum/workflows/nodes/displayable/tool_calling_node/state.py +9 -0
- vellum/workflows/nodes/displayable/tool_calling_node/utils.py +102 -56
- vellum/workflows/utils/functions.py +1 -1
- {vellum_ai-0.14.87.dist-info → vellum_ai-0.14.89.dist-info}/METADATA +1 -1
- {vellum_ai-0.14.87.dist-info → vellum_ai-0.14.89.dist-info}/RECORD +33 -32
- {vellum_ai-0.14.87.dist-info → vellum_ai-0.14.89.dist-info}/LICENSE +0 -0
- {vellum_ai-0.14.87.dist-info → vellum_ai-0.14.89.dist-info}/WHEEL +0 -0
- {vellum_ai-0.14.87.dist-info → vellum_ai-0.14.89.dist-info}/entry_points.txt +0 -0
@@ -6,14 +6,18 @@ from pydash import snake_case
|
|
6
6
|
from vellum import ChatMessage, PromptBlock
|
7
7
|
from vellum.client.types.function_call_chat_message_content import FunctionCallChatMessageContent
|
8
8
|
from vellum.client.types.function_call_chat_message_content_value import FunctionCallChatMessageContentValue
|
9
|
+
from vellum.client.types.prompt_output import PromptOutput
|
9
10
|
from vellum.client.types.string_chat_message_content import StringChatMessageContent
|
10
11
|
from vellum.client.types.variable_prompt_block import VariablePromptBlock
|
12
|
+
from vellum.workflows.context import execution_context, get_parent_context
|
11
13
|
from vellum.workflows.errors.types import WorkflowErrorCode
|
14
|
+
from vellum.workflows.events.workflow import is_workflow_event
|
12
15
|
from vellum.workflows.exceptions import NodeException
|
13
16
|
from vellum.workflows.nodes.bases import BaseNode
|
14
17
|
from vellum.workflows.nodes.displayable.inline_prompt_node.node import InlinePromptNode
|
15
18
|
from vellum.workflows.nodes.displayable.subworkflow_deployment_node.node import SubworkflowDeploymentNode
|
16
|
-
from vellum.workflows.
|
19
|
+
from vellum.workflows.nodes.displayable.tool_calling_node.state import ToolCallingState
|
20
|
+
from vellum.workflows.outputs.base import BaseOutput, BaseOutputs
|
17
21
|
from vellum.workflows.ports.port import Port
|
18
22
|
from vellum.workflows.references.lazy import LazyReference
|
19
23
|
from vellum.workflows.state.context import WorkflowContext
|
@@ -21,6 +25,7 @@ from vellum.workflows.state.encoder import DefaultStateEncoder
|
|
21
25
|
from vellum.workflows.types.core import EntityInputsInterface, MergeBehavior, Tool
|
22
26
|
from vellum.workflows.types.definition import DeploymentDefinition
|
23
27
|
from vellum.workflows.types.generics import is_workflow_class
|
28
|
+
from vellum.workflows.workflows.event_filters import all_workflow_event_filter
|
24
29
|
|
25
30
|
CHAT_HISTORY_VARIABLE = "chat_history"
|
26
31
|
|
@@ -31,7 +36,7 @@ class FunctionNode(BaseNode):
|
|
31
36
|
pass
|
32
37
|
|
33
38
|
|
34
|
-
class ToolRouterNode(InlinePromptNode):
|
39
|
+
class ToolRouterNode(InlinePromptNode[ToolCallingState]):
|
35
40
|
max_prompt_iterations: Optional[int] = 5
|
36
41
|
|
37
42
|
class Trigger(InlinePromptNode.Trigger):
|
@@ -73,6 +78,48 @@ class ToolRouterNode(InlinePromptNode):
|
|
73
78
|
yield output
|
74
79
|
|
75
80
|
|
81
|
+
class DynamicSubworkflowDeploymentNode(SubworkflowDeploymentNode[ToolCallingState]):
|
82
|
+
"""Node that executes a deployment definition with function call output."""
|
83
|
+
|
84
|
+
function_call_output: List[PromptOutput]
|
85
|
+
|
86
|
+
def run(self) -> Iterator[BaseOutput]:
|
87
|
+
if self.function_call_output and len(self.function_call_output) > 0:
|
88
|
+
function_call = self.function_call_output[0]
|
89
|
+
if function_call.type == "FUNCTION_CALL" and function_call.value is not None:
|
90
|
+
arguments = function_call.value.arguments
|
91
|
+
else:
|
92
|
+
arguments = {}
|
93
|
+
else:
|
94
|
+
arguments = {}
|
95
|
+
|
96
|
+
# Mypy doesn't like instance assignments of class attributes. It's safe in our case tho bc it's what
|
97
|
+
# we do in the `__init__` method. Long term, instead of the function_call_output attribute above, we
|
98
|
+
# want to do:
|
99
|
+
# ```python
|
100
|
+
# subworkflow_inputs = tool_router_node.Outputs.results[0]['value']['arguments'].if_(
|
101
|
+
# tool_router_node.Outputs.results[0]['type'].equals('FUNCTION_CALL'),
|
102
|
+
# {},
|
103
|
+
# )
|
104
|
+
# ```
|
105
|
+
self.subworkflow_inputs = arguments # type:ignore[misc]
|
106
|
+
|
107
|
+
# Call the parent run method to execute the subworkflow
|
108
|
+
outputs = {}
|
109
|
+
for output in super().run():
|
110
|
+
if output.is_fulfilled:
|
111
|
+
outputs[output.name] = output.value
|
112
|
+
yield output
|
113
|
+
|
114
|
+
# Add the result to the chat history
|
115
|
+
self.state.chat_history.append(
|
116
|
+
ChatMessage(
|
117
|
+
role="FUNCTION",
|
118
|
+
content=StringChatMessageContent(value=json.dumps(outputs, cls=DefaultStateEncoder)),
|
119
|
+
)
|
120
|
+
)
|
121
|
+
|
122
|
+
|
76
123
|
def create_tool_router_node(
|
77
124
|
ml_model: str,
|
78
125
|
blocks: List[PromptBlock],
|
@@ -159,48 +206,13 @@ def create_function_node(
|
|
159
206
|
deployment = function.deployment_id or function.deployment_name
|
160
207
|
release_tag = function.release_tag
|
161
208
|
|
162
|
-
def execute_workflow_deployment_function(self) -> BaseNode.Outputs:
|
163
|
-
function_call_output = self.state.meta.node_outputs.get(tool_router_node.Outputs.results)
|
164
|
-
if function_call_output and len(function_call_output) > 0:
|
165
|
-
function_call = function_call_output[0]
|
166
|
-
arguments = function_call.value.arguments
|
167
|
-
else:
|
168
|
-
arguments = {}
|
169
|
-
|
170
|
-
subworkflow_node = type(
|
171
|
-
f"DynamicSubworkflowNode_{deployment}",
|
172
|
-
(SubworkflowDeploymentNode,),
|
173
|
-
{
|
174
|
-
"deployment": deployment,
|
175
|
-
"release_tag": release_tag,
|
176
|
-
"subworkflow_inputs": arguments,
|
177
|
-
"__module__": __name__,
|
178
|
-
},
|
179
|
-
)
|
180
|
-
|
181
|
-
node_instance = subworkflow_node(
|
182
|
-
context=WorkflowContext.create_from(self._context),
|
183
|
-
state=self.state,
|
184
|
-
)
|
185
|
-
|
186
|
-
outputs = {}
|
187
|
-
for output in node_instance.run():
|
188
|
-
outputs[output.name] = output.value
|
189
|
-
|
190
|
-
self.state.chat_history.append(
|
191
|
-
ChatMessage(
|
192
|
-
role="FUNCTION",
|
193
|
-
content=StringChatMessageContent(value=json.dumps(outputs, cls=DefaultStateEncoder)),
|
194
|
-
)
|
195
|
-
)
|
196
|
-
|
197
|
-
return self.Outputs()
|
198
|
-
|
199
209
|
node = type(
|
200
|
-
f"
|
201
|
-
(
|
210
|
+
f"DynamicSubworkflowDeploymentNode_{deployment}",
|
211
|
+
(DynamicSubworkflowDeploymentNode,),
|
202
212
|
{
|
203
|
-
"
|
213
|
+
"deployment": deployment,
|
214
|
+
"release_tag": release_tag,
|
215
|
+
"function_call_output": tool_router_node.Outputs.results,
|
204
216
|
"__module__": __name__,
|
205
217
|
},
|
206
218
|
)
|
@@ -210,26 +222,60 @@ def create_function_node(
|
|
210
222
|
elif is_workflow_class(function):
|
211
223
|
# Create a class-level wrapper that calls the original function
|
212
224
|
def execute_inline_workflow_function(self) -> BaseNode.Outputs:
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
225
|
+
function_call_output = self.state.meta.node_outputs.get(tool_router_node.Outputs.results)
|
226
|
+
if function_call_output and len(function_call_output) > 0:
|
227
|
+
function_call = function_call_output[0]
|
228
|
+
arguments = function_call.value.arguments
|
229
|
+
else:
|
230
|
+
arguments = {}
|
217
231
|
|
218
232
|
# Call the function based on its type
|
219
233
|
inputs_instance = function.get_inputs_class()(**arguments)
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
234
|
+
|
235
|
+
with execution_context(parent_context=get_parent_context()):
|
236
|
+
workflow = function(
|
237
|
+
parent_state=self.state,
|
238
|
+
context=WorkflowContext.create_from(self._context),
|
239
|
+
)
|
240
|
+
subworkflow_stream = workflow.stream(
|
241
|
+
inputs=inputs_instance,
|
242
|
+
event_filter=all_workflow_event_filter,
|
243
|
+
node_output_mocks=self._context._get_all_node_output_mocks(),
|
244
|
+
)
|
245
|
+
|
246
|
+
outputs: Optional[BaseOutputs] = None
|
247
|
+
exception: Optional[NodeException] = None
|
248
|
+
|
249
|
+
for event in subworkflow_stream:
|
250
|
+
self._context._emit_subworkflow_event(event)
|
251
|
+
if exception:
|
252
|
+
continue
|
253
|
+
|
254
|
+
if not is_workflow_event(event):
|
255
|
+
continue
|
256
|
+
if event.workflow_definition != function:
|
257
|
+
continue
|
258
|
+
|
259
|
+
if event.name == "workflow.execution.fulfilled":
|
260
|
+
outputs = event.outputs
|
261
|
+
elif event.name == "workflow.execution.rejected":
|
262
|
+
exception = NodeException.of(event.error)
|
263
|
+
elif event.name == "workflow.execution.paused":
|
264
|
+
exception = NodeException(
|
265
|
+
code=WorkflowErrorCode.INVALID_OUTPUTS,
|
266
|
+
message="Subworkflow unexpectedly paused",
|
267
|
+
)
|
268
|
+
|
269
|
+
if exception:
|
270
|
+
raise exception
|
271
|
+
|
272
|
+
if outputs is None:
|
225
273
|
raise NodeException(
|
274
|
+
message="Expected to receive outputs from inline subworkflow",
|
226
275
|
code=WorkflowErrorCode.INVALID_OUTPUTS,
|
227
|
-
message="Subworkflow unexpectedly paused",
|
228
276
|
)
|
229
|
-
|
230
|
-
|
231
|
-
elif terminal_event.name == "workflow.execution.rejected":
|
232
|
-
raise NodeException(message=terminal_event.error.message, code=terminal_event.error.code)
|
277
|
+
|
278
|
+
result = outputs
|
233
279
|
|
234
280
|
self.state.chat_history.append(
|
235
281
|
ChatMessage(
|
@@ -82,7 +82,7 @@ def _compile_default_value(default: Any) -> Any:
|
|
82
82
|
if isinstance(default, BaseModel):
|
83
83
|
return {
|
84
84
|
field_name: _compile_default_value(getattr(default, field_name))
|
85
|
-
for field_name in default.model_fields.keys()
|
85
|
+
for field_name in default.__class__.model_fields.keys()
|
86
86
|
}
|
87
87
|
|
88
88
|
return default
|
@@ -140,11 +140,11 @@ vellum_ee/workflows/tests/test_serialize_module.py,sha256=EVrCRAP0lpvd0GIDlg2tnG
|
|
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
142
|
vellum/__init__.py,sha256=4RAS94IJNzJ0I4ywijtwTf9hPuwjHWjOs4ObAioCZF4,42908
|
143
|
-
vellum/client/README.md,sha256=
|
144
|
-
vellum/client/__init__.py,sha256=
|
143
|
+
vellum/client/README.md,sha256=Dle5iytCXxP1pNeNd7uZyhFo0rl7tp7vU7s8gmi10OQ,4863
|
144
|
+
vellum/client/__init__.py,sha256=EQgVGB7vcK4XzQyTSTV0SHyaF8UlaeuSEtTAKgGv-aU,124904
|
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=-g25WBC_j71FLmLSiIoBkcV7S40V_wCKP9Zk-1ZHXNw,2387
|
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,58 +160,58 @@ 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=
|
163
|
+
vellum/client/reference.md,sha256=9pJQHAujbmxivya7ByIC6YD2xP6VB8keOwLRcvLaB9Q,92785
|
164
164
|
vellum/client/resources/__init__.py,sha256=XgQao4rJxyYu71j64RFIsshz4op9GE8-i-C5GCv-KVE,1555
|
165
165
|
vellum/client/resources/ad_hoc/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
166
|
-
vellum/client/resources/ad_hoc/client.py,sha256=
|
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
|
168
|
-
vellum/client/resources/container_images/client.py,sha256=
|
168
|
+
vellum/client/resources/container_images/client.py,sha256=0QkNLozVNTwEi82TYpERW1JY6QgUS-_zx379Mv6A7b8,15539
|
169
169
|
vellum/client/resources/deployments/__init__.py,sha256=m64MNuPx3qVazOnTNwOY8oEeDrAkNwMJvUEe5xoMDvs,239
|
170
|
-
vellum/client/resources/deployments/client.py,sha256=
|
170
|
+
vellum/client/resources/deployments/client.py,sha256=6NHWM8BBSLZU2blck4g2aqAbf7tgwvJcQe6vir_ZqM8,44664
|
171
171
|
vellum/client/resources/deployments/types/__init__.py,sha256=29GVdoLOJsADSSSqZwb6CQPeEmPjkKrbsWfru1bemj8,321
|
172
172
|
vellum/client/resources/deployments/types/deployments_list_request_status.py,sha256=CxlQD16KZXme7x31YYCe_3aAgEueutDTeJo5A4Au-aU,174
|
173
173
|
vellum/client/resources/deployments/types/list_deployment_release_tags_request_source.py,sha256=hRGgWMYZL9uKCmD_2dU8-u9RCPUUGItpNn1tUY-NXKY,180
|
174
174
|
vellum/client/resources/document_indexes/__init__.py,sha256=YpOl_9IV7xOlH4OmusQxtAJB11kxQfCSMDyT1_UD0oM,165
|
175
|
-
vellum/client/resources/document_indexes/client.py,sha256=
|
175
|
+
vellum/client/resources/document_indexes/client.py,sha256=eFu0_dN4s0qYyqw3v4oOFEZaah1JTirSXM4f3ozRP_I,35512
|
176
176
|
vellum/client/resources/document_indexes/types/__init__.py,sha256=IoFqKHN_VBdEhC7VL8_6Jbatrn0e0zuYEJAJUahcUR0,196
|
177
177
|
vellum/client/resources/document_indexes/types/document_indexes_list_request_status.py,sha256=sfUEB0cvOSmlE2iITqnMVyHv05Zy2fWP4QjCIYqMg0M,178
|
178
178
|
vellum/client/resources/documents/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
179
|
-
vellum/client/resources/documents/client.py,sha256=
|
179
|
+
vellum/client/resources/documents/client.py,sha256=v_4nRgdq2BNEvY7jgZdxG_-pMlbi__aruKgZTPjnqe8,26248
|
180
180
|
vellum/client/resources/folder_entities/__init__.py,sha256=QOp7UMMB3a32GrfVaud35ECn4fqPBKXxCyClsDgd6GE,175
|
181
|
-
vellum/client/resources/folder_entities/client.py,sha256=
|
181
|
+
vellum/client/resources/folder_entities/client.py,sha256=nZ03GGrkeMdWDFbSvI1z9mkC3w4tcticQt-Esb88g3M,11464
|
182
182
|
vellum/client/resources/folder_entities/types/__init__.py,sha256=cHabrupjC-HL3kj-UZ9WdVzqHoQHCu6QsLFB3wlOs7k,212
|
183
183
|
vellum/client/resources/folder_entities/types/folder_entities_list_request_entity_status.py,sha256=nK9b9fRSeCfjn2V2Hifl1IbhFeVsNkoeXJ8rCAPADFg,183
|
184
184
|
vellum/client/resources/metric_definitions/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
185
|
-
vellum/client/resources/metric_definitions/client.py,sha256=
|
185
|
+
vellum/client/resources/metric_definitions/client.py,sha256=o5CbM8YRyw6tsJJsJZH5vPMrAISPivBFM_pB2bhvctc,10462
|
186
186
|
vellum/client/resources/ml_models/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
187
|
-
vellum/client/resources/ml_models/client.py,sha256=
|
187
|
+
vellum/client/resources/ml_models/client.py,sha256=7F6waUsTXqUuqgpHEvPMPMktClfCWPKEfU1ZPUlXOMg,3960
|
188
188
|
vellum/client/resources/organizations/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
189
|
-
vellum/client/resources/organizations/client.py,sha256=
|
189
|
+
vellum/client/resources/organizations/client.py,sha256=5Y4Umjlpm24zgvG_PYHqJqpvjmEwG5kH-CM5L4ZguCE,3763
|
190
190
|
vellum/client/resources/prompts/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
191
|
-
vellum/client/resources/prompts/client.py,sha256=
|
191
|
+
vellum/client/resources/prompts/client.py,sha256=Ai2179Qeq3H3f7HjeAZ_kjsk6-LryLE6QOEa5wfgnVk,15812
|
192
192
|
vellum/client/resources/release_reviews/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
193
|
-
vellum/client/resources/release_reviews/client.py,sha256=
|
193
|
+
vellum/client/resources/release_reviews/client.py,sha256=nlTpT--FT3D8pDnTyZtjV2QcGZ-4MB1LuM6KfkCmlXM,5182
|
194
194
|
vellum/client/resources/sandboxes/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
195
|
-
vellum/client/resources/sandboxes/client.py,sha256=
|
195
|
+
vellum/client/resources/sandboxes/client.py,sha256=EVhx8n8Lc_YL0Aw7fAsPHr0ZngfjgSWT2eheo9DE36c,18018
|
196
196
|
vellum/client/resources/test_suite_runs/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
197
|
-
vellum/client/resources/test_suite_runs/client.py,sha256=
|
197
|
+
vellum/client/resources/test_suite_runs/client.py,sha256=jrZtWgZKyOLHnEScn6AmCWTFUVV3cUisuH7LgFSWaGs,15570
|
198
198
|
vellum/client/resources/test_suites/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
199
|
-
vellum/client/resources/test_suites/client.py,sha256=
|
199
|
+
vellum/client/resources/test_suites/client.py,sha256=yFwr8HVOSKihJRtoHekNUDkNZejeYSuf5m4-EHomUuc,27929
|
200
200
|
vellum/client/resources/workflow_deployments/__init__.py,sha256=_duH6m1CDWcfqX6DTBNjO3ar4Xrl-f5PozMaTcT4Kow,251
|
201
|
-
vellum/client/resources/workflow_deployments/client.py,sha256=
|
201
|
+
vellum/client/resources/workflow_deployments/client.py,sha256=_a6MsQ2Dyv5uDsRYXjj6NAHYdMb290TDqpTand5akhE,36202
|
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
205
|
vellum/client/resources/workflow_sandboxes/__init__.py,sha256=OR3wE3pTgsZlTS-0ukeMWzSuEZF8PszuQTCHDh6JybI,175
|
206
|
-
vellum/client/resources/workflow_sandboxes/client.py,sha256=
|
206
|
+
vellum/client/resources/workflow_sandboxes/client.py,sha256=tpIjyuvVAnghmUu_gI9lpv4NbFa3dvmy26a_Y69UyOI,13270
|
207
207
|
vellum/client/resources/workflow_sandboxes/types/__init__.py,sha256=EaGVRU1w6kJiiHrbZOeEa0c3ggjfgv_jBqsyOkCRWOI,212
|
208
208
|
vellum/client/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py,sha256=TEwWit20W3X-zWPPLAhmUG05UudG9gaBSJ4Q4-rNJws,188
|
209
209
|
vellum/client/resources/workflows/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
210
|
-
vellum/client/resources/workflows/client.py,sha256=
|
210
|
+
vellum/client/resources/workflows/client.py,sha256=a3DwkUn8FBve-Wr139MSms18EPZPdnTkDsMqyTUQEYc,10725
|
211
211
|
vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
212
|
-
vellum/client/resources/workspace_secrets/client.py,sha256=
|
212
|
+
vellum/client/resources/workspace_secrets/client.py,sha256=l1FOj0f-IB5_oQ7iWiHopFK3lDXBqiaIc9g10W9PHFU,8381
|
213
213
|
vellum/client/resources/workspaces/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
214
|
-
vellum/client/resources/workspaces/client.py,sha256=
|
214
|
+
vellum/client/resources/workspaces/client.py,sha256=61eFS8USOtHf4cFoT3dZmAMs6KGAVPbXjAolws2ftsQ,3683
|
215
215
|
vellum/client/types/__init__.py,sha256=NgEh6I44X4Hwrd4lIswu7QPHzuWoxmej9p4JYsSJJb8,65043
|
216
216
|
vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
|
217
217
|
vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
|
@@ -1523,7 +1523,7 @@ vellum/workflows/descriptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
1523
1523
|
vellum/workflows/descriptors/base.py,sha256=X47a4TClHknsnjs53DkiXnop_5uLGVor487oxhHuGo4,14902
|
1524
1524
|
vellum/workflows/descriptors/exceptions.py,sha256=gUy4UD9JFUKSeQnQpeuDSLiRqWjWiIsxLahB7p_q3JY,54
|
1525
1525
|
vellum/workflows/descriptors/tests/test_utils.py,sha256=HJ5DoRz0sJvViGxyZ_FtytZjxN2J8xTkGtaVwCy6Q90,6928
|
1526
|
-
vellum/workflows/descriptors/utils.py,sha256=
|
1526
|
+
vellum/workflows/descriptors/utils.py,sha256=1siECBf6AI54gwwUwkF6mP9rYsRryUGaOYBbMpQaceM,3848
|
1527
1527
|
vellum/workflows/edges/__init__.py,sha256=wSkmAnz9xyi4vZwtDbKxwlplt2skD7n3NsxkvR_pUus,50
|
1528
1528
|
vellum/workflows/edges/edge.py,sha256=N0SnY3gKVuxImPAdCbPMPlHJIXbkQ3fwq_LbJRvVMFc,677
|
1529
1529
|
vellum/workflows/emitters/__init__.py,sha256=YyOgaoLtVW8eFNEWODzCYb0HzL0PoSeNRf4diJ1Y0dk,80
|
@@ -1679,11 +1679,12 @@ vellum/workflows/nodes/displayable/tests/test_search_node_error_handling.py,sha2
|
|
1679
1679
|
vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=VepO5z1277c1y5N6LLIC31nnWD1aak2m5oPFplfJHHs,6935
|
1680
1680
|
vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=dc3EEn1sOICpr3GdS8eyeFtExaGwWWcw9eHSdkRhQJU,2584
|
1681
1681
|
vellum/workflows/nodes/displayable/tool_calling_node/__init__.py,sha256=3n0-ysmFKsr40CVxPthc0rfJgqVJeZuUEsCmYudLVRg,117
|
1682
|
-
vellum/workflows/nodes/displayable/tool_calling_node/node.py,sha256=
|
1682
|
+
vellum/workflows/nodes/displayable/tool_calling_node/node.py,sha256=i0RQuhJfrO8g_Cz4hug-rHiW1G-IjJiJI6BNkdxsoYg,6204
|
1683
|
+
vellum/workflows/nodes/displayable/tool_calling_node/state.py,sha256=oQg_GAtc349nPB5BL_oeDYYD7q1qSDPAqjj8iA8OoAw,215
|
1683
1684
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1684
1685
|
vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py,sha256=3cCCIz-quneCVl3w8XnGxzyHx-nn_jGTKCbSH9jkYT0,7824
|
1685
1686
|
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=
|
1687
|
+
vellum/workflows/nodes/displayable/tool_calling_node/utils.py,sha256=xdPJ35GvGG26oMKtZZ_KcpaEr7Moz0kEBQRIzCZZXbA,13901
|
1687
1688
|
vellum/workflows/nodes/experimental/README.md,sha256=eF6DfIL8t-HbF9-mcofOMymKrraiBHDLKTlnBa51ZiE,284
|
1688
1689
|
vellum/workflows/nodes/experimental/__init__.py,sha256=k7VQEyvgEdnrEZ-icXx3fiByPnyMOnMXNGGuqacyyik,91
|
1689
1690
|
vellum/workflows/nodes/experimental/openai_chat_completion_node/__init__.py,sha256=lsyD9laR9p7kx5-BXGH2gUTM242UhKy8SMV0SR6S2iE,90
|
@@ -1741,7 +1742,7 @@ vellum/workflows/types/tests/test_definition.py,sha256=5wh_WEnE51epkoo-4PE-JbPlg
|
|
1741
1742
|
vellum/workflows/types/tests/test_utils.py,sha256=UnZog59tR577mVwqZRqqWn2fScoOU1H6up0EzS8zYhw,2536
|
1742
1743
|
vellum/workflows/types/utils.py,sha256=mTctHITBybpt4855x32oCKALBEcMNLn-9cCmfEKgJHQ,6498
|
1743
1744
|
vellum/workflows/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1744
|
-
vellum/workflows/utils/functions.py,sha256=
|
1745
|
+
vellum/workflows/utils/functions.py,sha256=Gi08SYaTfLF04slbY_YcfP5erIMwtFgtYa59vhWez9k,7195
|
1745
1746
|
vellum/workflows/utils/names.py,sha256=QLUqfJ1tmSEeUwBKTTiv_Qk3QGbInC2RSmlXfGXc8Wo,380
|
1746
1747
|
vellum/workflows/utils/pydantic_schema.py,sha256=eR_bBtY-T0pttJP-ARwagSdCOnwPUtiT3cegm2lzDTQ,1310
|
1747
1748
|
vellum/workflows/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1758,8 +1759,8 @@ vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnad
|
|
1758
1759
|
vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1759
1760
|
vellum/workflows/workflows/tests/test_base_workflow.py,sha256=ptMntHzVyy8ZuzNgeTuk7hREgKQ5UBdgq8VJFSGaW4Y,20832
|
1760
1761
|
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.
|
1762
|
+
vellum_ai-0.14.89.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
|
1763
|
+
vellum_ai-0.14.89.dist-info/METADATA,sha256=PUlFnfoQJiH5Jo_qs4triR8bNZHxQvEY_0pgGgM1jQA,5556
|
1764
|
+
vellum_ai-0.14.89.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1765
|
+
vellum_ai-0.14.89.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
|
1766
|
+
vellum_ai-0.14.89.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|