vellum-ai 0.11.0__py3-none-any.whl → 0.11.1__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- vellum/__init__.py +16 -0
- vellum/client/core/client_wrapper.py +1 -1
- vellum/client/types/__init__.py +28 -0
- vellum/client/types/test_suite_run_exec_config.py +7 -1
- vellum/client/types/test_suite_run_exec_config_request.py +8 -0
- vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py +31 -0
- vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py +27 -0
- vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py +27 -0
- vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py +31 -0
- vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config.py +31 -0
- vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py +27 -0
- vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py +27 -0
- vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py +31 -0
- vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config.py +3 -0
- vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py +3 -0
- vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py +3 -0
- vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py +3 -0
- vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config.py +3 -0
- vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py +3 -0
- vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py +3 -0
- vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py +3 -0
- vellum/workflows/context.py +42 -0
- vellum/workflows/nodes/core/inline_subworkflow_node/node.py +13 -7
- vellum/workflows/nodes/displayable/api_node/node.py +3 -2
- vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py +9 -0
- vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py +10 -1
- vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py +10 -1
- vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py +1 -1
- vellum/workflows/runner/runner.py +74 -70
- vellum/workflows/workflows/event_filters.py +4 -1
- {vellum_ai-0.11.0.dist-info → vellum_ai-0.11.1.dist-info}/METADATA +1 -1
- {vellum_ai-0.11.0.dist-info → vellum_ai-0.11.1.dist-info}/RECORD +43 -26
- vellum_cli/pull.py +3 -1
- vellum_cli/tests/test_pull.py +18 -0
- vellum_ee/workflows/display/base.py +1 -0
- vellum_ee/workflows/display/nodes/vellum/api_node.py +53 -54
- vellum_ee/workflows/display/nodes/vellum/utils.py +26 -6
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py +29 -1
- vellum_ee/workflows/display/vellum.py +1 -1
- vellum_ee/workflows/display/workflows/vellum_workflow_display.py +10 -7
- {vellum_ai-0.11.0.dist-info → vellum_ai-0.11.1.dist-info}/LICENSE +0 -0
- {vellum_ai-0.11.0.dist-info → vellum_ai-0.11.1.dist-info}/WHEEL +0 -0
- {vellum_ai-0.11.0.dist-info → vellum_ai-0.11.1.dist-info}/entry_points.txt +0 -0
@@ -7,6 +7,7 @@ from uuid import UUID
|
|
7
7
|
from typing import TYPE_CHECKING, Any, Dict, Generic, Iterable, Iterator, Optional, Sequence, Set, Type, Union
|
8
8
|
|
9
9
|
from vellum.workflows.constants import UNDEF
|
10
|
+
from vellum.workflows.context import execution_context, get_parent_context
|
10
11
|
from vellum.workflows.descriptors.base import BaseDescriptor
|
11
12
|
from vellum.workflows.edges.edge import Edge
|
12
13
|
from vellum.workflows.errors import VellumError, VellumErrorCode
|
@@ -28,7 +29,7 @@ from vellum.workflows.events.node import (
|
|
28
29
|
NodeExecutionRejectedBody,
|
29
30
|
NodeExecutionStreamingBody,
|
30
31
|
)
|
31
|
-
from vellum.workflows.events.types import BaseEvent, ParentContext, WorkflowParentContext
|
32
|
+
from vellum.workflows.events.types import BaseEvent, NodeParentContext, ParentContext, WorkflowParentContext
|
32
33
|
from vellum.workflows.events.workflow import (
|
33
34
|
WorkflowExecutionFulfilledBody,
|
34
35
|
WorkflowExecutionInitiatedBody,
|
@@ -125,7 +126,7 @@ class WorkflowRunner(Generic[StateType]):
|
|
125
126
|
|
126
127
|
self._active_nodes_by_execution_id: Dict[UUID, BaseNode[StateType]] = {}
|
127
128
|
self._cancel_signal = cancel_signal
|
128
|
-
self._parent_context = parent_context
|
129
|
+
self._parent_context = get_parent_context() or parent_context
|
129
130
|
|
130
131
|
setattr(
|
131
132
|
self._initial_state,
|
@@ -156,6 +157,7 @@ class WorkflowRunner(Generic[StateType]):
|
|
156
157
|
return event
|
157
158
|
|
158
159
|
def _run_work_item(self, node: BaseNode[StateType], span_id: UUID) -> None:
|
160
|
+
parent_context = get_parent_context()
|
159
161
|
self._workflow_event_inner_queue.put(
|
160
162
|
NodeExecutionInitiatedEvent(
|
161
163
|
trace_id=node.state.meta.trace_id,
|
@@ -164,19 +166,20 @@ class WorkflowRunner(Generic[StateType]):
|
|
164
166
|
node_definition=node.__class__,
|
165
167
|
inputs=node._inputs,
|
166
168
|
),
|
167
|
-
parent=
|
168
|
-
span_id=span_id,
|
169
|
-
workflow_definition=self.workflow.__class__,
|
170
|
-
parent=self._parent_context,
|
171
|
-
type="WORKFLOW",
|
172
|
-
),
|
169
|
+
parent=parent_context,
|
173
170
|
)
|
174
171
|
)
|
175
172
|
|
176
173
|
logger.debug(f"Started running node: {node.__class__.__name__}")
|
177
174
|
|
178
175
|
try:
|
179
|
-
|
176
|
+
updated_parent_context = NodeParentContext(
|
177
|
+
span_id=span_id,
|
178
|
+
node_definition=node.__class__,
|
179
|
+
parent=parent_context,
|
180
|
+
)
|
181
|
+
with execution_context(parent_context=updated_parent_context):
|
182
|
+
node_run_response = node.run()
|
180
183
|
ports = node.Ports()
|
181
184
|
if not isinstance(node_run_response, (BaseOutputs, Iterator)):
|
182
185
|
raise NodeException(
|
@@ -197,6 +200,7 @@ class WorkflowRunner(Generic[StateType]):
|
|
197
200
|
outputs = node.Outputs()
|
198
201
|
|
199
202
|
def initiate_node_streaming_output(output: BaseOutput) -> None:
|
203
|
+
parent_context = get_parent_context()
|
200
204
|
streaming_output_queues[output.name] = Queue()
|
201
205
|
output_descriptor = OutputReference(
|
202
206
|
name=output.name,
|
@@ -216,60 +220,49 @@ class WorkflowRunner(Generic[StateType]):
|
|
216
220
|
output=initiated_output,
|
217
221
|
invoked_ports=initiated_ports,
|
218
222
|
),
|
219
|
-
parent=
|
220
|
-
span_id=span_id,
|
221
|
-
workflow_definition=self.workflow.__class__,
|
222
|
-
parent=self._parent_context,
|
223
|
-
),
|
223
|
+
parent=parent_context,
|
224
224
|
),
|
225
225
|
)
|
226
226
|
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
elif output.is_streaming:
|
232
|
-
if output.name not in streaming_output_queues:
|
227
|
+
with execution_context(parent_context=updated_parent_context):
|
228
|
+
for output in node_run_response:
|
229
|
+
invoked_ports = output > ports
|
230
|
+
if output.is_initiated:
|
233
231
|
initiate_node_streaming_output(output)
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
output=output,
|
243
|
-
invoked_ports=invoked_ports,
|
244
|
-
),
|
245
|
-
parent=WorkflowParentContext(
|
232
|
+
elif output.is_streaming:
|
233
|
+
if output.name not in streaming_output_queues:
|
234
|
+
initiate_node_streaming_output(output)
|
235
|
+
|
236
|
+
streaming_output_queues[output.name].put(output.delta)
|
237
|
+
self._workflow_event_inner_queue.put(
|
238
|
+
NodeExecutionStreamingEvent(
|
239
|
+
trace_id=node.state.meta.trace_id,
|
246
240
|
span_id=span_id,
|
247
|
-
|
248
|
-
|
241
|
+
body=NodeExecutionStreamingBody(
|
242
|
+
node_definition=node.__class__,
|
243
|
+
output=output,
|
244
|
+
invoked_ports=invoked_ports,
|
245
|
+
),
|
246
|
+
parent=parent_context,
|
249
247
|
),
|
250
|
-
)
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
trace_id=node.state.meta.trace_id,
|
260
|
-
span_id=span_id,
|
261
|
-
body=NodeExecutionStreamingBody(
|
262
|
-
node_definition=node.__class__,
|
263
|
-
output=output,
|
264
|
-
invoked_ports=invoked_ports,
|
265
|
-
),
|
266
|
-
parent=WorkflowParentContext(
|
248
|
+
)
|
249
|
+
elif output.is_fulfilled:
|
250
|
+
if output.name in streaming_output_queues:
|
251
|
+
streaming_output_queues[output.name].put(UNDEF)
|
252
|
+
|
253
|
+
setattr(outputs, output.name, output.value)
|
254
|
+
self._workflow_event_inner_queue.put(
|
255
|
+
NodeExecutionStreamingEvent(
|
256
|
+
trace_id=node.state.meta.trace_id,
|
267
257
|
span_id=span_id,
|
268
|
-
|
269
|
-
|
270
|
-
|
258
|
+
body=NodeExecutionStreamingBody(
|
259
|
+
node_definition=node.__class__,
|
260
|
+
output=output,
|
261
|
+
invoked_ports=invoked_ports,
|
262
|
+
),
|
263
|
+
parent=parent_context,
|
264
|
+
)
|
271
265
|
)
|
272
|
-
)
|
273
266
|
|
274
267
|
invoked_ports = ports(outputs, node.state)
|
275
268
|
node.state.meta.node_execution_cache.fulfill_node_execution(node.__class__, span_id)
|
@@ -291,11 +284,7 @@ class WorkflowRunner(Generic[StateType]):
|
|
291
284
|
outputs=outputs,
|
292
285
|
invoked_ports=invoked_ports,
|
293
286
|
),
|
294
|
-
parent=
|
295
|
-
span_id=span_id,
|
296
|
-
workflow_definition=self.workflow.__class__,
|
297
|
-
parent=self._parent_context,
|
298
|
-
),
|
287
|
+
parent=parent_context,
|
299
288
|
)
|
300
289
|
)
|
301
290
|
except NodeException as e:
|
@@ -328,16 +317,19 @@ class WorkflowRunner(Generic[StateType]):
|
|
328
317
|
code=VellumErrorCode.INTERNAL_ERROR,
|
329
318
|
),
|
330
319
|
),
|
331
|
-
parent=
|
332
|
-
span_id=span_id,
|
333
|
-
workflow_definition=self.workflow.__class__,
|
334
|
-
parent=self._parent_context,
|
335
|
-
),
|
320
|
+
parent=parent_context,
|
336
321
|
),
|
337
322
|
)
|
338
323
|
|
339
324
|
logger.debug(f"Finished running node: {node.__class__.__name__}")
|
340
325
|
|
326
|
+
def _context_run_work_item(self, node: BaseNode[StateType], span_id: UUID, parent_context=None) -> None:
|
327
|
+
if parent_context is None:
|
328
|
+
parent_context = get_parent_context() or self._parent_context
|
329
|
+
|
330
|
+
with execution_context(parent_context=parent_context):
|
331
|
+
self._run_work_item(node, span_id)
|
332
|
+
|
341
333
|
def _handle_invoked_ports(self, state: StateType, ports: Optional[Iterable[Port]]) -> None:
|
342
334
|
if not ports:
|
343
335
|
return
|
@@ -372,13 +364,14 @@ class WorkflowRunner(Generic[StateType]):
|
|
372
364
|
if not node_class.Trigger.should_initiate(state, all_deps, node_span_id):
|
373
365
|
return
|
374
366
|
|
367
|
+
current_parent = get_parent_context()
|
375
368
|
node = node_class(state=state, context=self.workflow.context)
|
376
369
|
state.meta.node_execution_cache.initiate_node_execution(node_class, node_span_id)
|
377
370
|
self._active_nodes_by_execution_id[node_span_id] = node
|
378
371
|
|
379
372
|
worker_thread = Thread(
|
380
|
-
target=self.
|
381
|
-
kwargs={"node": node, "span_id": node_span_id},
|
373
|
+
target=self._context_run_work_item,
|
374
|
+
kwargs={"node": node, "span_id": node_span_id, "parent_context": current_parent},
|
382
375
|
)
|
383
376
|
worker_thread.start()
|
384
377
|
|
@@ -504,9 +497,16 @@ class WorkflowRunner(Generic[StateType]):
|
|
504
497
|
for edge in self.workflow.get_edges():
|
505
498
|
self._dependencies[edge.to_node].add(edge.from_port.node_class)
|
506
499
|
|
500
|
+
current_parent = WorkflowParentContext(
|
501
|
+
span_id=self._initial_state.meta.span_id,
|
502
|
+
workflow_definition=self.workflow.__class__,
|
503
|
+
parent=self._parent_context,
|
504
|
+
type="WORKFLOW",
|
505
|
+
)
|
507
506
|
for node_cls in self._entrypoints:
|
508
507
|
try:
|
509
|
-
|
508
|
+
with execution_context(parent_context=current_parent):
|
509
|
+
self._run_node_if_ready(self._initial_state, node_cls)
|
510
510
|
except NodeException as e:
|
511
511
|
self._workflow_event_outer_queue.put(self._reject_workflow_event(e.error))
|
512
512
|
return
|
@@ -530,7 +530,9 @@ class WorkflowRunner(Generic[StateType]):
|
|
530
530
|
|
531
531
|
self._workflow_event_outer_queue.put(event)
|
532
532
|
|
533
|
-
|
533
|
+
with execution_context(parent_context=current_parent):
|
534
|
+
rejection_error = self._handle_work_item_event(event)
|
535
|
+
|
534
536
|
if rejection_error:
|
535
537
|
break
|
536
538
|
|
@@ -539,7 +541,9 @@ class WorkflowRunner(Generic[StateType]):
|
|
539
541
|
while event := self._workflow_event_inner_queue.get_nowait():
|
540
542
|
self._workflow_event_outer_queue.put(event)
|
541
543
|
|
542
|
-
|
544
|
+
with execution_context(parent_context=current_parent):
|
545
|
+
rejection_error = self._handle_work_item_event(event)
|
546
|
+
|
543
547
|
if rejection_error:
|
544
548
|
break
|
545
549
|
except Empty:
|
@@ -46,7 +46,10 @@ def root_workflow_event_filter(workflow_definition: Type["BaseWorkflow"], event:
|
|
46
46
|
if event.parent.type != "WORKFLOW":
|
47
47
|
return False
|
48
48
|
|
49
|
-
|
49
|
+
event_parent_definition = event.parent.workflow_definition
|
50
|
+
current_workflow_definition = CodeResourceDefinition.encode(workflow_definition)
|
51
|
+
|
52
|
+
return event_parent_definition.model_dump() == current_workflow_definition.model_dump()
|
50
53
|
|
51
54
|
|
52
55
|
def all_workflow_event_filter(workflow_definition: Type["BaseWorkflow"], event: "WorkflowEvent") -> bool:
|
@@ -5,19 +5,19 @@ vellum_cli/aliased_group.py,sha256=ugW498j0yv4ALJ8vS9MsO7ctDW7Jlir9j6nE_uHAP8c,3
|
|
5
5
|
vellum_cli/config.py,sha256=uEdDqqpy7fh4Thlj2jSszfEmnXA9SGtzNzgR77fBjnY,3612
|
6
6
|
vellum_cli/image_push.py,sha256=SJwhwWJsLjwGNezNVd_oCVpFMfPsAB3dfLWmriZZUtw,4419
|
7
7
|
vellum_cli/logger.py,sha256=PuRFa0WCh4sAGFS5aqWB0QIYpS6nBWwPJrIXpWxugV4,1022
|
8
|
-
vellum_cli/pull.py,sha256=
|
8
|
+
vellum_cli/pull.py,sha256=6wIiorqSx2rmR6atZJHHBuLSviocxK_n0DQxEDGmCzo,4008
|
9
9
|
vellum_cli/push.py,sha256=7arl5Udk9iTVkMIqbUWHE7HqzteTlRe0Ix3cc5RNaHA,5130
|
10
10
|
vellum_cli/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
11
|
vellum_cli/tests/conftest.py,sha256=j3P2g5vegxarIi_VoWr1RlGxLYEQPgw3V_p3M6Iyq0U,1007
|
12
12
|
vellum_cli/tests/test_config.py,sha256=uvKGDc8BoVyT9_H0Z-g8469zVxomn6Oi3Zj-vK7O_wU,2631
|
13
13
|
vellum_cli/tests/test_main.py,sha256=qDZG-aQauPwBwM6A2DIu1494n47v3pL28XakTbLGZ-k,272
|
14
|
-
vellum_cli/tests/test_pull.py,sha256=
|
14
|
+
vellum_cli/tests/test_pull.py,sha256=PzB259psqyllgxbN7VwH7-wvY0-Z3hvdsqGdCil9vDs,10286
|
15
15
|
vellum_cli/tests/test_push.py,sha256=TBw35SXyFt9PL2OJV2jOPnbq3T0cbSVXGQ5TS77ytgA,5830
|
16
16
|
vellum_ee/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
17
|
vellum_ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
18
18
|
vellum_ee/workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
19
|
vellum_ee/workflows/display/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
20
|
-
vellum_ee/workflows/display/base.py,sha256=
|
20
|
+
vellum_ee/workflows/display/base.py,sha256=qwdT0mzR6SMSmF1hNaibvq_UDqrJPRQb1s9JHjYDlRY,1833
|
21
21
|
vellum_ee/workflows/display/nodes/__init__.py,sha256=5XOcZJXYUgaLS55QgRJzyQ_W1tpeprjnYAeYVezqoGw,160
|
22
22
|
vellum_ee/workflows/display/nodes/base_node_display.py,sha256=3W7X1V2Lv0k6djYp60LDu-0lYVMNsEjPXmNmIQ4UW6s,5961
|
23
23
|
vellum_ee/workflows/display/nodes/base_node_vellum_display.py,sha256=HoD3AGCMXKoHyyRJteUYlQ7DR26Srjhlrv4fZlLCyKc,1649
|
@@ -27,7 +27,7 @@ vellum_ee/workflows/display/nodes/tests/test_base_node_display.py,sha256=0y20AAq
|
|
27
27
|
vellum_ee/workflows/display/nodes/types.py,sha256=St1BB6no528OyELGiyRabWao0GGw6mLhstQAvEACbGk,247
|
28
28
|
vellum_ee/workflows/display/nodes/utils.py,sha256=sloya5TpXsnot1HURc9L51INwflRqUzHxRVnCS9Cd-4,973
|
29
29
|
vellum_ee/workflows/display/nodes/vellum/__init__.py,sha256=nmPLj8vkbVCS46XQqmHq8Xj8Mr36wCK_vWf26A9KIkw,1505
|
30
|
-
vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=
|
30
|
+
vellum_ee/workflows/display/nodes/vellum/api_node.py,sha256=4SSQGecKWHuoGy5YIGJeOZVHGKwTs_8Y-gf3GvsHb0M,8506
|
31
31
|
vellum_ee/workflows/display/nodes/vellum/code_execution_node.py,sha256=MASV7u0X4eiS3SzRWeBcbWZ_YgNlwwg5cM2vaFWjpqk,3915
|
32
32
|
vellum_ee/workflows/display/nodes/vellum/conditional_node.py,sha256=gUbSP8_oSAMNIb0CGiefd2FMYgoO6wMoG6iA1FakMjk,13293
|
33
33
|
vellum_ee/workflows/display/nodes/vellum/error_node.py,sha256=1pGC_P-y14g0hJRh4GUq99xu48JsfoPMMwtIsI3x3Tk,2078
|
@@ -45,11 +45,11 @@ vellum_ee/workflows/display/nodes/vellum/templating_node.py,sha256=qPu9TqXSeLYfF
|
|
45
45
|
vellum_ee/workflows/display/nodes/vellum/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
46
46
|
vellum_ee/workflows/display/nodes/vellum/tests/test_utils.py,sha256=ZUp2fmDF4JTni1NjJOIV8dJoxx22eMBskmBJFsjtEvE,3809
|
47
47
|
vellum_ee/workflows/display/nodes/vellum/try_node.py,sha256=m4d6hi6oD-jSW_bjrlN8coVwb6ivC2amPHpePHJ-Htg,2278
|
48
|
-
vellum_ee/workflows/display/nodes/vellum/utils.py,sha256=
|
48
|
+
vellum_ee/workflows/display/nodes/vellum/utils.py,sha256=OlkXZASm1Zb3mLf38gd-NXcijtVn4UFptsRq-OFzArA,3882
|
49
49
|
vellum_ee/workflows/display/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
50
50
|
vellum_ee/workflows/display/tests/test_vellum_workflow_display.py,sha256=TEg3QbdE7rLbEhml9pMWmay--phsekGlfGVhTblxCGE,1727
|
51
51
|
vellum_ee/workflows/display/tests/workflow_serialization/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
52
|
-
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=
|
52
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_api_node_serialization.py,sha256=e__ae2yepB5vlgVT08sr1DDB8pYjax6VQLo5FtRk-nA,17934
|
53
53
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_code_execution_node_serialization.py,sha256=0McMPIPnIwE8iGh7fzFZL3dc6Q7NCQ_wUVFpl14YATo,22846
|
54
54
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py,sha256=d6xWDvi-Uo1KcMHVj_e8TujKhTwMKXAlT8H3P2V0gQU,53693
|
55
55
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_error_node_serialization.py,sha256=JV9TYz9BPVojWQ8ypGLsSfl9LdntDcxlm9OilP4qv6o,6874
|
@@ -68,17 +68,17 @@ vellum_ee/workflows/display/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
|
|
68
68
|
vellum_ee/workflows/display/utils/tests/test_uuids.py,sha256=ItjROhaPns8_mlvD17LIBwZKvhe2l0dXEd5oL-JiY64,448
|
69
69
|
vellum_ee/workflows/display/utils/uuids.py,sha256=DFzPv9RCvsKhvdTEIQyfSek2A31D6S_QcmeLPbgrgTY,739
|
70
70
|
vellum_ee/workflows/display/utils/vellum.py,sha256=IlkKrfAAi4BV_HFnsdMFxNJC2-TrPM9ubVHv8ikmbSA,5110
|
71
|
-
vellum_ee/workflows/display/vellum.py,sha256=
|
71
|
+
vellum_ee/workflows/display/vellum.py,sha256=62nPzLxn9cJdffwjL8vJG_1IDXXJrwaNdYeqsLNpbEQ,8800
|
72
72
|
vellum_ee/workflows/display/workflows/__init__.py,sha256=kapXsC67VJcgSuiBMa86FdePG5A9kMB5Pi4Uy1O2ob4,207
|
73
73
|
vellum_ee/workflows/display/workflows/base_workflow_display.py,sha256=HkakkrNgVFoHlUP7yHlQjHOvii3CZ90iyU1062PfoW4,12819
|
74
74
|
vellum_ee/workflows/display/workflows/get_vellum_workflow_display_class.py,sha256=AMxNnTm2z3LIR5rqxoCAfuy37F2FTuSRDVtKUoezO8M,1184
|
75
|
-
vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=
|
76
|
-
vellum/__init__.py,sha256=
|
75
|
+
vellum_ee/workflows/display/workflows/vellum_workflow_display.py,sha256=fFs7NxrCnTRxHYOI7on9ClbRairQUc66BYRom3PeizA,17050
|
76
|
+
vellum/__init__.py,sha256=tifpcqdWe2t7wU1HPqltMgM1AyY4Ruf7J06O1Dw2_Po,35436
|
77
77
|
vellum/client/README.md,sha256=JkCJjmMZl4jrPj46pkmL9dpK4gSzQQmP5I7z4aME4LY,4749
|
78
78
|
vellum/client/__init__.py,sha256=o4m7iRZWEV8rP3GkdaztHAjNmjxjWERlarviFoHzuKI,110927
|
79
79
|
vellum/client/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
|
80
80
|
vellum/client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
|
81
|
-
vellum/client/core/client_wrapper.py,sha256=
|
81
|
+
vellum/client/core/client_wrapper.py,sha256=GdzbbuiX9eXoSlOmj5ppAyjl_-ly0fPbAa8ecCrfSpE,1890
|
82
82
|
vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
83
83
|
vellum/client/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
|
84
84
|
vellum/client/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
|
@@ -137,7 +137,7 @@ vellum/client/resources/workflows/types/__init__.py,sha256=-uFca4ypncAOvfsg6sjD-
|
|
137
137
|
vellum/client/resources/workflows/types/workflows_pull_request_format.py,sha256=dOWE_jnDnniIJLoeseeCms23aklghyBkoPmBFzcqqZk,165
|
138
138
|
vellum/client/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
139
139
|
vellum/client/resources/workspace_secrets/client.py,sha256=h7UzXLyTttPq1t-JZGMg1BWxypxJvBGUdqg7KGT7MK4,8027
|
140
|
-
vellum/client/types/__init__.py,sha256=
|
140
|
+
vellum/client/types/__init__.py,sha256=ASrY-2_D-vIek3_WlkFzGDazEJH1UG5qRdd7jsNls8Q,53636
|
141
141
|
vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
|
142
142
|
vellum/client/types/ad_hoc_expand_meta.py,sha256=1gv-NCsy_6xBYupLvZH979yf2VMdxAU-l0y0ynMKZaw,1331
|
143
143
|
vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
|
@@ -507,8 +507,8 @@ vellum/client/types/test_suite_run_deployment_release_tag_exec_config.py,sha256=
|
|
507
507
|
vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data.py,sha256=0kgs_FP8-2YTmufor42V4J5Kbx_Grjo2LcgZgfBiYq0,928
|
508
508
|
vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data_request.py,sha256=cUr9LN4YLxkyMXI3wwemmKZtvxSi9K79kPJrmRyknKc,935
|
509
509
|
vellum/client/types/test_suite_run_deployment_release_tag_exec_config_request.py,sha256=fyBRNbErOr1ixYs84JbvqM9yPEH1D-LDsfGVhIgsdZ4,1192
|
510
|
-
vellum/client/types/test_suite_run_exec_config.py,sha256=
|
511
|
-
vellum/client/types/test_suite_run_exec_config_request.py,sha256=
|
510
|
+
vellum/client/types/test_suite_run_exec_config.py,sha256=CwsiCKjkRb2S9YJdQYRtnKU87CzbimPyswBwRriv004,879
|
511
|
+
vellum/client/types/test_suite_run_exec_config_request.py,sha256=bXR2LXwc6T7WtgVa0HCkJuDg1H1TFB01CpCdb-hoqWc,1014
|
512
512
|
vellum/client/types/test_suite_run_execution.py,sha256=x0tjfFMSEl5hr1ZAh9r-2m3gQCbhKNZBGu5_6ANLgiU,1091
|
513
513
|
vellum/client/types/test_suite_run_execution_array_output.py,sha256=fnGLAXY6NC8uJKK2500lsRXDvugjfIBJiDAfWDg1sUo,1101
|
514
514
|
vellum/client/types/test_suite_run_execution_chat_history_output.py,sha256=tzeWqczo04aXl-ALhfOHYEabrgOIqmG7E-nA5-l3dME,879
|
@@ -530,6 +530,10 @@ vellum/client/types/test_suite_run_metric_json_output.py,sha256=DI3mJR5kpi8Hm2n6
|
|
530
530
|
vellum/client/types/test_suite_run_metric_number_output.py,sha256=8pddeSds6Rrn0xGqyvgPsG1hr1tu6eOiQAp8kkM_aBk,739
|
531
531
|
vellum/client/types/test_suite_run_metric_output.py,sha256=qxEJ6Ii4XOhJpM3tgn6ctRnldysduEIe8tQFnWBEOvQ,578
|
532
532
|
vellum/client/types/test_suite_run_metric_string_output.py,sha256=YXerGfpvJdBtKrzgutSqEfG-N6cZoeOL59qZ5k6DwQA,737
|
533
|
+
vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py,sha256=NUJXSSLxOxVAGOoQj74m5UqjCTCCeEIgbWGP6kM2Fck,1200
|
534
|
+
vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py,sha256=IdlTWDda1061PwsHaoGDyB7-2lBVSus7Z8agcdmSOYE,905
|
535
|
+
vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py,sha256=0XxaQKR-pb__We2EDSoiKTcz3v-nKodIYtnwFXFQ_GM,912
|
536
|
+
vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py,sha256=psLq8aL-ygkW-HZZFiYerDrCrTf556RuXbOOAUuMvr8,1229
|
533
537
|
vellum/client/types/test_suite_run_read.py,sha256=3etXdX5ks6H0nuuTLebNl_is2ZKST17wdpLm60YVSf8,1439
|
534
538
|
vellum/client/types/test_suite_run_state.py,sha256=E4f_AfzXBnxhObLLZ12dBzdoYlRm-gaTqkzrZQ_KfCo,197
|
535
539
|
vellum/client/types/test_suite_run_test_suite.py,sha256=Wcmbk1XglVFKiDcqxsW7-c7QtOrIqJBK-vWXKXvORXY,602
|
@@ -537,6 +541,10 @@ vellum/client/types/test_suite_run_workflow_release_tag_exec_config.py,sha256=0A
|
|
537
541
|
vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data.py,sha256=Omps96mVTbhyg8ZknhAdtAC4TU4J1OG_Y2yqwlovNbU,941
|
538
542
|
vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data_request.py,sha256=n3rbUAmoqjn-U-C6GJL-zVJJf0n_J-6rLIeH0tm3Ixg,948
|
539
543
|
vellum/client/types/test_suite_run_workflow_release_tag_exec_config_request.py,sha256=tEknB5YPt5zLKTkXnsuWaPRkFPHpIDQImREmlONfMIo,1182
|
544
|
+
vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config.py,sha256=2scqgAbRo6j7cYV2NZO1VMio5WOwJG_97IxXVqC4G18,1214
|
545
|
+
vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py,sha256=FPIw8GlWh5cH6af2_Y7wS98j_Zi9O0G1JIMBsej__i0,915
|
546
|
+
vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py,sha256=Q8aYzR-AJ18_s7KJfBZeb8jbFxhZVfk1qQvhO7ShGH0,922
|
547
|
+
vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py,sha256=1ekG2-FWV-dl2TL0QYZEeHo2qLOMu8G_T-wFt5e04AE,1243
|
540
548
|
vellum/client/types/test_suite_test_case.py,sha256=pd9-fpIxzherUqjM7aIWhDyLuql8ZyNIjfOr9r5BZuQ,1056
|
541
549
|
vellum/client/types/test_suite_test_case_bulk_operation_request.py,sha256=czPKFQBdm-Fil_sx8zxUgR9DJSJfAlL6uB6KcRzwwbU,767
|
542
550
|
vellum/client/types/test_suite_test_case_bulk_result.py,sha256=b_jDXDB0gWAGsWyf04UJhRwVCUe5kTu8S7gh78_yYF0,648
|
@@ -1090,6 +1098,10 @@ vellum/types/test_suite_run_metric_json_output.py,sha256=mZIXhFS0IoauRhNhwtO_nBe
|
|
1090
1098
|
vellum/types/test_suite_run_metric_number_output.py,sha256=FRat-EjmPl4eyK307tPnQ8U3prAPsqgXVLdRmYXxaGw,173
|
1091
1099
|
vellum/types/test_suite_run_metric_output.py,sha256=QvexO_ontwejyAQBipmrvTMxJRZrFu5ja_g8HBjDpiI,166
|
1092
1100
|
vellum/types/test_suite_run_metric_string_output.py,sha256=_az-yxsYHgariEfKeFN1UtCyW1rXxCiOsVZj-INNqa8,173
|
1101
|
+
vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config.py,sha256=aShS-YpR-mxoj59s1pF1qSx7NWSrUSuDC59kXesT33Y,192
|
1102
|
+
vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py,sha256=5E1ZUYAwlZBAzyurmLsHMhdQJZmI-_neQU49cyDQH_0,197
|
1103
|
+
vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py,sha256=7JsZ1nGze0m2o4RvaJOpz6TcqDgCz29HhzzBPGr1eow,205
|
1104
|
+
vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py,sha256=AfTF8F-4oCAHHGOubEUSPXpuauWnRQpseo6DPdhL73k,200
|
1093
1105
|
vellum/types/test_suite_run_read.py,sha256=ivj0ct0muLxYDr-21cErq4JivHp1VcLOif6mGrqsdrc,157
|
1094
1106
|
vellum/types/test_suite_run_state.py,sha256=tagsvfC5Zk4GNWwnVXgVxYOPOxmp30B9gt9T2M7tP_o,158
|
1095
1107
|
vellum/types/test_suite_run_test_suite.py,sha256=4l0wcAcDwR8bZTuGGtK6XS-Kaj-8CorNkjuwII0376k,163
|
@@ -1097,6 +1109,10 @@ vellum/types/test_suite_run_workflow_release_tag_exec_config.py,sha256=yc9NhLbDb
|
|
1097
1109
|
vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py,sha256=g1i2knCRKE7ah_u96zvm1zIi5xfZTQFsGTDtCfMGBcE,190
|
1098
1110
|
vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py,sha256=e8JSECW9A0LT6Iv6PyAZOiSTczwg_954MYq4kGjn5DY,198
|
1099
1111
|
vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py,sha256=L2bYpTz9AEDwHXT1Ev9qMHLUStjjwP3iJMyTixdroOU,193
|
1112
|
+
vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config.py,sha256=PMXrCIw1mn3tvdR-OwYxPToejzu8MNTHubgRwW2Ul68,194
|
1113
|
+
vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py,sha256=vdh41Vg4O1UjQi1BsHBaLsfvxSbWbou73VPAGcSOkCc,199
|
1114
|
+
vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py,sha256=An3z8020xLUVjvjJrW-Rqe_CPRQkuiuq740Z1SXB19Y,207
|
1115
|
+
vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py,sha256=9Iuy9vcCv5sCh6J0T2BiBuRc9qFnA7RiJ80s3Ykb_kw,202
|
1100
1116
|
vellum/types/test_suite_test_case.py,sha256=TNoekdgntOikAA6Z32dsc5WFXYz_ooLYZefZMM6ZtJU,158
|
1101
1117
|
vellum/types/test_suite_test_case_bulk_operation_request.py,sha256=QI13SszLsaxUvNFkGU86IOtDg2mgNTck84b6NzhpCro,181
|
1102
1118
|
vellum/types/test_suite_test_case_bulk_result.py,sha256=MEwdm94Lizk0JDtcViQQUVg54ZCEaTPeyX0oN0F3-u8,170
|
@@ -1185,6 +1201,7 @@ vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
|
|
1185
1201
|
vellum/workflows/README.md,sha256=MLNm-ihc0ao6I8gwwOhXQQBf0jOf-EsA9C519ALYI1o,3610
|
1186
1202
|
vellum/workflows/__init__.py,sha256=CssPsbNvN6rDhoLuqpEv7MMKGa51vE6dvAh6U31Pcio,71
|
1187
1203
|
vellum/workflows/constants.py,sha256=Z0W4YlqfSlSgWC11PrVUPs6ZOBeIaQ78E_90J1hohiw,789
|
1204
|
+
vellum/workflows/context.py,sha256=R8qdsFbD_0p7B6PWnyvSrZ_aOgMtGw-_uk0P0UAmwLA,1230
|
1188
1205
|
vellum/workflows/descriptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1189
1206
|
vellum/workflows/descriptors/base.py,sha256=VyyXtGJ_Hc34AOC8XC_Rw_68L4WMgD5w9Y7r8t8My4E,13814
|
1190
1207
|
vellum/workflows/descriptors/tests/test_utils.py,sha256=icwW-YkHD5oR6rn9IH6Rck9yYOsuwnocyJVHoeJFd74,2849
|
@@ -1249,7 +1266,7 @@ vellum/workflows/nodes/core/__init__.py,sha256=5zDMCmyt1v0HTJzlUBwq3U9L825yZGZhT
|
|
1249
1266
|
vellum/workflows/nodes/core/error_node/__init__.py,sha256=g7RRnlHhqu4qByfLjBwCunmgGA8dI5gNsjS3h6TwlSI,60
|
1250
1267
|
vellum/workflows/nodes/core/error_node/node.py,sha256=hqBPHoLnhNrK9ITIaEzpnk47XYDbG6cmObz7oe78Ceg,944
|
1251
1268
|
vellum/workflows/nodes/core/inline_subworkflow_node/__init__.py,sha256=nKNEH1QTl-1PcvmYoqSWEl0-t6gAur8GLTXHzklRQfM,84
|
1252
|
-
vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=
|
1269
|
+
vellum/workflows/nodes/core/inline_subworkflow_node/node.py,sha256=kkPb2opZ7J6pIWueU-WU43KXEwKY5GrANldmesRFetI,3469
|
1253
1270
|
vellum/workflows/nodes/core/map_node/__init__.py,sha256=MXpZYmGfhsMJHqqlpd64WiJRtbAtAMQz-_3fCU_cLV0,56
|
1254
1271
|
vellum/workflows/nodes/core/map_node/node.py,sha256=aPhV3niv_jWSwrZ2CwiRg0CDOM-09Fa6QqOPYNJMgRc,6206
|
1255
1272
|
vellum/workflows/nodes/core/map_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1270,7 +1287,7 @@ vellum/workflows/nodes/core/try_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW
|
|
1270
1287
|
vellum/workflows/nodes/core/try_node/tests/test_node.py,sha256=iD_ZjgB-v7pOYS6VjsqC-FWAFw8xvnEb-xXeau1Cuk0,4053
|
1271
1288
|
vellum/workflows/nodes/displayable/__init__.py,sha256=6F_4DlSwvHuilWnIalp8iDjjDXl0Nmz4QzJV2PYe5RI,1023
|
1272
1289
|
vellum/workflows/nodes/displayable/api_node/__init__.py,sha256=MoxdQSnidIj1Nf_d-hTxlOxcZXaZnsWFDbE-PkTK24o,56
|
1273
|
-
vellum/workflows/nodes/displayable/api_node/node.py,sha256=
|
1290
|
+
vellum/workflows/nodes/displayable/api_node/node.py,sha256=ehvJNkI-L_WLn8pszCaRkQuhRDgioCLaX6TT72KM_9E,2111
|
1274
1291
|
vellum/workflows/nodes/displayable/bases/__init__.py,sha256=0mWIx3qUrzllV7jqt7wN03vWGMuI1WrrLZeMLT2Cl2c,304
|
1275
1292
|
vellum/workflows/nodes/displayable/bases/api_node/__init__.py,sha256=1jwx4WC358CLA1jgzl_UD-rZmdMm2v9Mps39ndwCD7U,64
|
1276
1293
|
vellum/workflows/nodes/displayable/bases/api_node/node.py,sha256=_Nybw3NORjKkLBAzLidm08WL_kiNPTH6am-hZ8k2w0Q,2475
|
@@ -1278,8 +1295,8 @@ vellum/workflows/nodes/displayable/bases/base_prompt_node/__init__.py,sha256=Org
|
|
1278
1295
|
vellum/workflows/nodes/displayable/bases/base_prompt_node/node.py,sha256=82y-74GBcxQXjEEmQJ7oo803iVjWM_HSN5zRVwGtpWk,2425
|
1279
1296
|
vellum/workflows/nodes/displayable/bases/inline_prompt_node/__init__.py,sha256=Hl35IAoepRpE-j4cALaXVJIYTYOF3qszyVbxTj4kS1s,82
|
1280
1297
|
vellum/workflows/nodes/displayable/bases/inline_prompt_node/constants.py,sha256=fnjiRWLoRlC4Puo5oQcpZD5Hd-EesxsAo9l5tGAkpZQ,270
|
1281
|
-
vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=
|
1282
|
-
vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=
|
1298
|
+
vellum/workflows/nodes/displayable/bases/inline_prompt_node/node.py,sha256=1_OXDxzh-8m5O5XQzo3Q6RY679JvsN4km2sfzyGuLc0,5394
|
1299
|
+
vellum/workflows/nodes/displayable/bases/prompt_deployment_node.py,sha256=MdrAKN8QGPk_JnNjbEBaVVKwVLPE2judbBcWuYJgbkY,4964
|
1283
1300
|
vellum/workflows/nodes/displayable/bases/search_node.py,sha256=S7J8tTW681O4wcWYerGOfH6h-_BlE8-JMJHpW8eCVG0,3564
|
1284
1301
|
vellum/workflows/nodes/displayable/code_execution_node/__init__.py,sha256=0FLWMMktpzSnmBMizQglBpcPrP80fzVsoJwJgf822Cg,76
|
1285
1302
|
vellum/workflows/nodes/displayable/code_execution_node/node.py,sha256=zK-gxWmox8QZ84J11faUmasRozNKDIBv_86Gjq8uj7M,7975
|
@@ -1305,11 +1322,11 @@ vellum/workflows/nodes/displayable/prompt_deployment_node/node.py,sha256=hqzNnoT
|
|
1305
1322
|
vellum/workflows/nodes/displayable/search_node/__init__.py,sha256=hpBpvbrDYf43DElRZFLzieSn8weXiwNiiNOJurERQbs,62
|
1306
1323
|
vellum/workflows/nodes/displayable/search_node/node.py,sha256=yhFWulbNmSQoDAwtTSGD4AtKmBbcykezRGRG16xga_0,1311
|
1307
1324
|
vellum/workflows/nodes/displayable/subworkflow_deployment_node/__init__.py,sha256=9yYM6001YZeqI1VOk1QuEM_yrffk_EdsO7qaPzINKds,92
|
1308
|
-
vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=
|
1325
|
+
vellum/workflows/nodes/displayable/subworkflow_deployment_node/node.py,sha256=Y7Gczegn3KQC-wMw11VhwSDMe4kE8p2QIM1ABSYqZFg,7356
|
1309
1326
|
vellum/workflows/nodes/displayable/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1310
1327
|
vellum/workflows/nodes/displayable/tests/test_inline_text_prompt_node.py,sha256=9x5y-SHLdW-jcbv_LVLJWALspBzjYDFezc1dpaisRvg,4697
|
1311
1328
|
vellum/workflows/nodes/displayable/tests/test_search_node_wth_text_output.py,sha256=4CMwDtXwTaEvFfDpA6j2iLqc7S6IICSkvVZOobEpeps,6954
|
1312
|
-
vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=
|
1329
|
+
vellum/workflows/nodes/displayable/tests/test_text_prompt_deployment_node.py,sha256=KqKJtJ0vuNoPuUPMdILmBTt4a2fBBxxun-nmOI7T8jo,2585
|
1313
1330
|
vellum/workflows/nodes/utils.py,sha256=zY0b5WjJtGwVPPLY3ffHUdRREPvyoNwmJDigz5jQRAI,812
|
1314
1331
|
vellum/workflows/outputs/__init__.py,sha256=AyZ4pRh_ACQIGvkf0byJO46EDnSix1ZCAXfvh-ms1QE,94
|
1315
1332
|
vellum/workflows/outputs/base.py,sha256=a7W6rNSDSawwGAXYjNTF2iHb9lnZu7WFSOagZIyy__k,7976
|
@@ -1331,7 +1348,7 @@ vellum/workflows/references/workflow_input.py,sha256=epspVRZ9n_nxoTxI5Am3GDd2fpU
|
|
1331
1348
|
vellum/workflows/resolvers/__init__.py,sha256=eH6hTvZO4IciDaf_cf7aM2vs-DkBDyJPycOQevJxQnI,82
|
1332
1349
|
vellum/workflows/resolvers/base.py,sha256=WHra9LRtlTuB1jmuNqkfVE2JUgB61Cyntn8f0b0WZg4,411
|
1333
1350
|
vellum/workflows/runner/__init__.py,sha256=i1iG5sAhtpdsrlvwgH6B-m49JsINkiWyPWs8vyT-bqM,72
|
1334
|
-
vellum/workflows/runner/runner.py,sha256=
|
1351
|
+
vellum/workflows/runner/runner.py,sha256=TtCB2hLnAU83mmR17qzfHQPfJfpUMqi3Lqq0q1viUIQ,27573
|
1335
1352
|
vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
|
1336
1353
|
vellum/workflows/state/base.py,sha256=jpSzF1OQd3-fqi6dMGlNsQl-7JnJxCdzWIigmX8Wz-I,14425
|
1337
1354
|
vellum/workflows/state/context.py,sha256=oXiEdNsWJi1coRB85IreTgUeR6_CrWWBXndtLff9S7M,1272
|
@@ -1357,9 +1374,9 @@ vellum/workflows/utils/vellum_variables.py,sha256=DsjVj_M_vTafpi5OUDs4KNrmbU2n4L
|
|
1357
1374
|
vellum/workflows/vellum_client.py,sha256=ODrq_TSl-drX2aezXegf7pizpWDVJuTXH-j6528t75s,683
|
1358
1375
|
vellum/workflows/workflows/__init__.py,sha256=KY45TqvavCCvXIkyCFMEc0dc6jTMOUci93U2DUrlZYc,66
|
1359
1376
|
vellum/workflows/workflows/base.py,sha256=mnI-kZ78yt7u6NFSTUo-tYjDnarP-RJ7uZjwjCn6PCQ,16795
|
1360
|
-
vellum/workflows/workflows/event_filters.py,sha256
|
1361
|
-
vellum_ai-0.11.
|
1362
|
-
vellum_ai-0.11.
|
1363
|
-
vellum_ai-0.11.
|
1364
|
-
vellum_ai-0.11.
|
1365
|
-
vellum_ai-0.11.
|
1377
|
+
vellum/workflows/workflows/event_filters.py,sha256=-uQcMB7IpPd-idMku8f2QNVhPXPFWo6FZLlGjRf8rCo,1996
|
1378
|
+
vellum_ai-0.11.1.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
|
1379
|
+
vellum_ai-0.11.1.dist-info/METADATA,sha256=OKYg7BRTEYyEI-8T2G9Clrzq8lFPG6vzw4zgEvr93vk,5128
|
1380
|
+
vellum_ai-0.11.1.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
1381
|
+
vellum_ai-0.11.1.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
|
1382
|
+
vellum_ai-0.11.1.dist-info/RECORD,,
|
vellum_cli/pull.py
CHANGED
@@ -19,10 +19,12 @@ def resolve_workflow_config(
|
|
19
19
|
if module:
|
20
20
|
return next((w for w in config.workflows if w.module == module), None)
|
21
21
|
elif workflow_sandbox_id:
|
22
|
-
|
22
|
+
workflow_config = WorkflowConfig(
|
23
23
|
workflow_sandbox_id=workflow_sandbox_id,
|
24
24
|
module=f"workflow_{workflow_sandbox_id.split('-')[0]}",
|
25
25
|
)
|
26
|
+
config.workflows.append(workflow_config)
|
27
|
+
return workflow_config
|
26
28
|
elif config.workflows:
|
27
29
|
return config.workflows[0]
|
28
30
|
|
vellum_cli/tests/test_pull.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import pytest
|
2
2
|
import io
|
3
|
+
import json
|
3
4
|
import os
|
4
5
|
import tempfile
|
5
6
|
from uuid import uuid4
|
@@ -113,6 +114,23 @@ def test_pull__sandbox_id_with_no_config(vellum_client):
|
|
113
114
|
with open(workflow_py) as f:
|
114
115
|
assert f.read() == "print('hello')"
|
115
116
|
|
117
|
+
# AND the vellum.lock.json file is created
|
118
|
+
vellum_lock_json = os.path.join(temp_dir, "vellum.lock.json")
|
119
|
+
assert os.path.exists(vellum_lock_json)
|
120
|
+
with open(vellum_lock_json) as f:
|
121
|
+
lock_data = json.loads(f.read())
|
122
|
+
assert lock_data == {
|
123
|
+
"version": "1.0",
|
124
|
+
"workflows": [
|
125
|
+
{
|
126
|
+
"module": "workflow_87654321",
|
127
|
+
"workflow_sandbox_id": "87654321-0000-0000-0000-000000000000",
|
128
|
+
"ignore": None,
|
129
|
+
"deployments": [],
|
130
|
+
}
|
131
|
+
],
|
132
|
+
}
|
133
|
+
|
116
134
|
|
117
135
|
def test_pull__sandbox_id_with_other_workflow_configured(vellum_client, mock_module):
|
118
136
|
# GIVEN a pyproject.toml with a workflow configured
|