vellum-ai 1.3.1__py3-none-any.whl → 1.3.2__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/README.md +5 -5
- vellum/client/__init__.py +20 -0
- vellum/client/core/client_wrapper.py +2 -2
- vellum/client/raw_client.py +20 -0
- vellum/client/reference.md +61 -27
- vellum/client/resources/ad_hoc/client.py +29 -29
- vellum/client/resources/ad_hoc/raw_client.py +13 -13
- vellum/client/resources/events/client.py +69 -33
- vellum/client/resources/events/raw_client.py +13 -9
- vellum/client/types/__init__.py +6 -0
- vellum/client/types/create_workflow_event_request.py +7 -0
- vellum/client/types/deprecated_prompt_request_input.py +8 -0
- vellum/client/types/event_create_response.py +5 -0
- vellum/client/types/logical_operator.py +1 -0
- vellum/client/types/processing_failure_reason_enum.py +3 -1
- vellum/client/types/slim_document.py +1 -0
- vellum/client/types/workflow_input.py +31 -0
- vellum/types/create_workflow_event_request.py +3 -0
- vellum/types/deprecated_prompt_request_input.py +3 -0
- vellum/types/workflow_input.py +3 -0
- vellum/workflows/constants.py +3 -0
- vellum/workflows/events/node.py +1 -0
- vellum/workflows/events/tests/test_event.py +1 -0
- vellum/workflows/events/workflow.py +1 -0
- vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py +16 -0
- vellum/workflows/nodes/displayable/code_execution_node/tests/test_node.py +3 -13
- vellum/workflows/nodes/tests/test_utils.py +23 -0
- vellum/workflows/nodes/utils.py +14 -0
- vellum/workflows/runner/runner.py +33 -12
- vellum/workflows/types/code_execution_node_wrappers.py +2 -1
- {vellum_ai-1.3.1.dist-info → vellum_ai-1.3.2.dist-info}/METADATA +1 -1
- {vellum_ai-1.3.1.dist-info → vellum_ai-1.3.2.dist-info}/RECORD +37 -30
- vellum_ee/workflows/display/tests/workflow_serialization/test_web_search_node_serialization.py +81 -0
- {vellum_ai-1.3.1.dist-info → vellum_ai-1.3.2.dist-info}/LICENSE +0 -0
- {vellum_ai-1.3.1.dist-info → vellum_ai-1.3.2.dist-info}/WHEEL +0 -0
- {vellum_ai-1.3.1.dist-info → vellum_ai-1.3.2.dist-info}/entry_points.txt +0 -0
@@ -404,6 +404,7 @@ class WorkflowRunner(Generic[StateType]):
|
|
404
404
|
)
|
405
405
|
except NodeException as e:
|
406
406
|
logger.info(e)
|
407
|
+
captured_traceback = traceback.format_exc()
|
407
408
|
|
408
409
|
self._workflow_event_inner_queue.put(
|
409
410
|
NodeExecutionRejectedEvent(
|
@@ -412,12 +413,14 @@ class WorkflowRunner(Generic[StateType]):
|
|
412
413
|
body=NodeExecutionRejectedBody(
|
413
414
|
node_definition=node.__class__,
|
414
415
|
error=e.error,
|
416
|
+
traceback=captured_traceback,
|
415
417
|
),
|
416
418
|
parent=execution.parent_context,
|
417
419
|
)
|
418
420
|
)
|
419
421
|
except WorkflowInitializationException as e:
|
420
422
|
logger.info(e)
|
423
|
+
captured_traceback = traceback.format_exc()
|
421
424
|
self._workflow_event_inner_queue.put(
|
422
425
|
NodeExecutionRejectedEvent(
|
423
426
|
trace_id=execution.trace_id,
|
@@ -425,6 +428,7 @@ class WorkflowRunner(Generic[StateType]):
|
|
425
428
|
body=NodeExecutionRejectedBody(
|
426
429
|
node_definition=node.__class__,
|
427
430
|
error=e.error,
|
431
|
+
traceback=captured_traceback,
|
428
432
|
),
|
429
433
|
parent=execution.parent_context,
|
430
434
|
)
|
@@ -574,7 +578,7 @@ class WorkflowRunner(Generic[StateType]):
|
|
574
578
|
)
|
575
579
|
worker_thread.start()
|
576
580
|
|
577
|
-
def _handle_work_item_event(self, event: WorkflowEvent) -> Optional[
|
581
|
+
def _handle_work_item_event(self, event: WorkflowEvent) -> Optional[NodeExecutionRejectedEvent]:
|
578
582
|
active_node = self._active_nodes_by_execution_id.get(event.span_id)
|
579
583
|
if not active_node:
|
580
584
|
return None
|
@@ -582,7 +586,7 @@ class WorkflowRunner(Generic[StateType]):
|
|
582
586
|
node = active_node.node
|
583
587
|
if event.name == "node.execution.rejected":
|
584
588
|
self._active_nodes_by_execution_id.pop(event.span_id)
|
585
|
-
return event
|
589
|
+
return event
|
586
590
|
|
587
591
|
if event.name == "node.execution.streaming":
|
588
592
|
for workflow_output_descriptor in self.workflow.Outputs:
|
@@ -708,13 +712,24 @@ class WorkflowRunner(Generic[StateType]):
|
|
708
712
|
parent=self._execution_context.parent_context,
|
709
713
|
)
|
710
714
|
|
711
|
-
def _reject_workflow_event(
|
715
|
+
def _reject_workflow_event(
|
716
|
+
self, error: WorkflowError, captured_traceback: Optional[str] = None
|
717
|
+
) -> WorkflowExecutionRejectedEvent:
|
718
|
+
if captured_traceback is None:
|
719
|
+
try:
|
720
|
+
captured_traceback = traceback.format_exc()
|
721
|
+
if captured_traceback.strip() == "NoneType: None":
|
722
|
+
captured_traceback = None
|
723
|
+
except Exception:
|
724
|
+
pass
|
725
|
+
|
712
726
|
return WorkflowExecutionRejectedEvent(
|
713
727
|
trace_id=self._execution_context.trace_id,
|
714
728
|
span_id=self._initial_state.meta.span_id,
|
715
729
|
body=WorkflowExecutionRejectedBody(
|
716
730
|
workflow_definition=self.workflow.__class__,
|
717
731
|
error=error,
|
732
|
+
traceback=captured_traceback,
|
718
733
|
),
|
719
734
|
parent=self._execution_context.parent_context,
|
720
735
|
)
|
@@ -758,22 +773,26 @@ class WorkflowRunner(Generic[StateType]):
|
|
758
773
|
else:
|
759
774
|
self._concurrency_queue.put((self._initial_state, node_cls, None))
|
760
775
|
except NodeException as e:
|
761
|
-
|
776
|
+
captured_traceback = traceback.format_exc()
|
777
|
+
self._workflow_event_outer_queue.put(self._reject_workflow_event(e.error, captured_traceback))
|
762
778
|
return
|
763
779
|
except WorkflowInitializationException as e:
|
764
|
-
|
780
|
+
captured_traceback = traceback.format_exc()
|
781
|
+
self._workflow_event_outer_queue.put(self._reject_workflow_event(e.error, captured_traceback))
|
765
782
|
return
|
766
783
|
except Exception:
|
767
784
|
err_message = f"An unexpected error occurred while initializing node {node_cls.__name__}"
|
768
785
|
logger.exception(err_message)
|
786
|
+
captured_traceback = traceback.format_exc()
|
769
787
|
self._workflow_event_outer_queue.put(
|
770
788
|
self._reject_workflow_event(
|
771
789
|
WorkflowError(code=WorkflowErrorCode.INTERNAL_ERROR, message=err_message),
|
790
|
+
captured_traceback,
|
772
791
|
)
|
773
792
|
)
|
774
793
|
return
|
775
794
|
|
776
|
-
|
795
|
+
rejection_event: Optional[NodeExecutionRejectedEvent] = None
|
777
796
|
|
778
797
|
while True:
|
779
798
|
if not self._active_nodes_by_execution_id:
|
@@ -784,9 +803,9 @@ class WorkflowRunner(Generic[StateType]):
|
|
784
803
|
self._workflow_event_outer_queue.put(event)
|
785
804
|
|
786
805
|
with execution_context(parent_context=current_parent, trace_id=self._execution_context.trace_id):
|
787
|
-
|
806
|
+
rejection_event = self._handle_work_item_event(event)
|
788
807
|
|
789
|
-
if
|
808
|
+
if rejection_event:
|
790
809
|
break
|
791
810
|
|
792
811
|
# Handle any remaining events
|
@@ -795,9 +814,9 @@ class WorkflowRunner(Generic[StateType]):
|
|
795
814
|
self._workflow_event_outer_queue.put(event)
|
796
815
|
|
797
816
|
with execution_context(parent_context=current_parent, trace_id=self._execution_context.trace_id):
|
798
|
-
|
817
|
+
rejection_event = self._handle_work_item_event(event)
|
799
818
|
|
800
|
-
if
|
819
|
+
if rejection_event:
|
801
820
|
break
|
802
821
|
except Empty:
|
803
822
|
pass
|
@@ -817,8 +836,10 @@ class WorkflowRunner(Generic[StateType]):
|
|
817
836
|
)
|
818
837
|
return
|
819
838
|
|
820
|
-
if
|
821
|
-
self._workflow_event_outer_queue.put(
|
839
|
+
if rejection_event:
|
840
|
+
self._workflow_event_outer_queue.put(
|
841
|
+
self._reject_workflow_event(rejection_event.error, rejection_event.body.traceback)
|
842
|
+
)
|
822
843
|
return
|
823
844
|
|
824
845
|
fulfilled_outputs = self.workflow.Outputs()
|
@@ -1,4 +1,5 @@
|
|
1
1
|
from vellum.client.types.function_call import FunctionCall
|
2
|
+
from vellum.workflows.constants import undefined
|
2
3
|
|
3
4
|
|
4
5
|
class StringValueWrapper(str):
|
@@ -71,7 +72,7 @@ class DictWrapper(dict):
|
|
71
72
|
# several values as VellumValue objects, we use the "value" key to return itself
|
72
73
|
return self
|
73
74
|
|
74
|
-
|
75
|
+
return undefined
|
75
76
|
|
76
77
|
item = super().__getitem__(attr)
|
77
78
|
if not isinstance(item, DictWrapper) and not isinstance(item, ListWrapper):
|
@@ -102,6 +102,7 @@ vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling
|
|
102
102
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_workflow_deployment_serialization.py,sha256=XIZZr5POo2NLn2uEWm9EC3rejeBMoO4X-JtzTH6mvp4,4074
|
103
103
|
vellum_ee/workflows/display/tests/workflow_serialization/test_basic_try_node_serialization.py,sha256=pLCyMScV88DTBXRH7jXaXOEA1GBq8NIipCUFwIAWnwI,2771
|
104
104
|
vellum_ee/workflows/display/tests/workflow_serialization/test_complex_terminal_node_serialization.py,sha256=exT7U-axwtYgFylagScflSQLJEND51qIAx2UATju6JM,6023
|
105
|
+
vellum_ee/workflows/display/tests/workflow_serialization/test_web_search_node_serialization.py,sha256=vbDFBrWUPeeW7cxjNA6SXrsHlYcbOAhlQ4C45Vdnr1c,3428
|
105
106
|
vellum_ee/workflows/display/tests/workflow_serialization/test_workflow_input_parameterization_error.py,sha256=vAdmn3YTBDpo55znbydQxsgg9ASqHcvsUPwiBR_7wfo,1461
|
106
107
|
vellum_ee/workflows/display/types.py,sha256=cyZruu4sXAdHjwuFc7dydM4DcFNf-pp_CmulXItxac4,3679
|
107
108
|
vellum_ee/workflows/display/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -145,12 +146,12 @@ vellum_ee/workflows/tests/test_registry.py,sha256=B8xRIuEyLWfSqrYoPldNQXhKPfe50P
|
|
145
146
|
vellum_ee/workflows/tests/test_serialize_module.py,sha256=lk-4dVnG2HcxxywBXxDR1ieH8D9RJt4lvchoZhtQPdU,2892
|
146
147
|
vellum_ee/workflows/tests/test_server.py,sha256=dXFBraU99Y6cKp2aBhLFXQTScSRcE9WaWjo1z9piqdU,23344
|
147
148
|
vellum_ee/workflows/tests/test_virtual_files.py,sha256=TJEcMR0v2S8CkloXNmCHA0QW0K6pYNGaIjraJz7sFvY,2762
|
148
|
-
vellum/__init__.py,sha256=
|
149
|
-
vellum/client/README.md,sha256=
|
150
|
-
vellum/client/__init__.py,sha256=
|
149
|
+
vellum/__init__.py,sha256=lv4OTbPgTegugVOpRy5xJPPwMvC1Zqrg4oFMEwY1KSg,47428
|
150
|
+
vellum/client/README.md,sha256=b6XKeYBBbhQx0v1sHWfM0gIJeJhUFF-aqL2ig7ADa08,5564
|
151
|
+
vellum/client/__init__.py,sha256=T5Ht_w-Mk_9nzGqdadhQB8V20M0vYj7am06ut0A3P1o,73401
|
151
152
|
vellum/client/core/__init__.py,sha256=lTcqUPXcx4112yLDd70RAPeqq6tu3eFMe1pKOqkW9JQ,1562
|
152
153
|
vellum/client/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
|
153
|
-
vellum/client/core/client_wrapper.py,sha256=
|
154
|
+
vellum/client/core/client_wrapper.py,sha256=U9SkO9ewIIRiSsS9pT50GwmBH-rMjpV3QS5Htj-ipqs,2840
|
154
155
|
vellum/client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
155
156
|
vellum/client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
|
156
157
|
vellum/client/core/force_multipart.py,sha256=awxh5MtcRYe74ehY8U76jzv6fYM_w_D3Rur7KQQzSDk,429
|
@@ -170,12 +171,12 @@ vellum/client/errors/internal_server_error.py,sha256=t1-kpoDC2biEuoE-Ne8v1kuQswv
|
|
170
171
|
vellum/client/errors/not_found_error.py,sha256=YrqVM0oc3qkQbFbmmm6xr300VGfUNxMSy1UQUp2IOE8,336
|
171
172
|
vellum/client/errors/too_many_requests_error.py,sha256=SJJemdgUlQHV_VpxK8UfFNexgZebNT5_MTOeQs6oVgc,397
|
172
173
|
vellum/client/errors/unauthorized_error.py,sha256=waPl5Swiqsk3FQK-Lljzx4KDh4RPZ0wL6BLHjM8onQ8,394
|
173
|
-
vellum/client/raw_client.py,sha256=
|
174
|
-
vellum/client/reference.md,sha256=
|
174
|
+
vellum/client/raw_client.py,sha256=cmMR0t87iUYvkIE9L4g0dcCmw3uUQNze9rD9CBv5rzs,113481
|
175
|
+
vellum/client/reference.md,sha256=IS1XNL62s3_Xz49ncvPJVZNvOMKyi36AYp2gYBt7xx8,95967
|
175
176
|
vellum/client/resources/__init__.py,sha256=R10JFtO6U6QRvNubrmDIjncT7e5q4AiOKjXSK4wFuXc,1609
|
176
177
|
vellum/client/resources/ad_hoc/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
177
|
-
vellum/client/resources/ad_hoc/client.py,sha256=
|
178
|
-
vellum/client/resources/ad_hoc/raw_client.py,sha256=
|
178
|
+
vellum/client/resources/ad_hoc/client.py,sha256=v5I_YzJaaPezsE4KVuMSUXJISstKuJ_9-VUeXakIJhw,14353
|
179
|
+
vellum/client/resources/ad_hoc/raw_client.py,sha256=JSbwEoowm41Wm9u4hQNoAIHG_-IX6IYfsBRn2tGZ-gM,24864
|
179
180
|
vellum/client/resources/container_images/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
180
181
|
vellum/client/resources/container_images/client.py,sha256=o3K1T2zuU738YsNvHeImytorl8sRCgnuv-u6F9O5fZk,9874
|
181
182
|
vellum/client/resources/container_images/raw_client.py,sha256=ddsLR8tbDa7D-hJsjPU8n3GeTYN71CMwTfPK2_L5Sc4,14422
|
@@ -194,8 +195,8 @@ vellum/client/resources/documents/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7
|
|
194
195
|
vellum/client/resources/documents/client.py,sha256=1IjqPf-ucvYK4A5CdtGP_0M4y9l1vBUn_Kq1GeqisxU,16791
|
195
196
|
vellum/client/resources/documents/raw_client.py,sha256=-_94wO-A7RoSY9bea1mp1Qskurak9BJNw9IQ1Jz_MTI,25992
|
196
197
|
vellum/client/resources/events/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
197
|
-
vellum/client/resources/events/client.py,sha256=
|
198
|
-
vellum/client/resources/events/raw_client.py,sha256=
|
198
|
+
vellum/client/resources/events/client.py,sha256=gTMjvXxPprTkNEqNBKZU810HBfnjlHjMMLQEiH135JU,6641
|
199
|
+
vellum/client/resources/events/raw_client.py,sha256=XsVnKcwkZy5CPFbIvdsfijaPOxjO_1S7g_LvWUKEXfA,8575
|
199
200
|
vellum/client/resources/folder_entities/__init__.py,sha256=BSfCsUFsB-bXr4AwYaCcEU48j5U61VFxajugpspfDS0,195
|
200
201
|
vellum/client/resources/folder_entities/client.py,sha256=F60BvZtI4Bnk2h7Z405JshsCLx7qh_yXZkqe3rPdpus,9291
|
201
202
|
vellum/client/resources/folder_entities/raw_client.py,sha256=uYTdVE-lpzoPzxnXIKCb_A4N8L1R7R-K0rq_0txtV04,10697
|
@@ -245,7 +246,7 @@ vellum/client/resources/workspace_secrets/raw_client.py,sha256=ZfiNd1NisolmK07QP
|
|
245
246
|
vellum/client/resources/workspaces/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
|
246
247
|
vellum/client/resources/workspaces/client.py,sha256=36KYa2FDu6h65q2GscUFOJs4qKeiOA6grOYoCc0Gi3E,2936
|
247
248
|
vellum/client/resources/workspaces/raw_client.py,sha256=M3Ewk1ZfEZ44EeTvBtBNoNKi5whwfLY-1GR07SyfDTI,3517
|
248
|
-
vellum/client/types/__init__.py,sha256
|
249
|
+
vellum/client/types/__init__.py,sha256=ZzAl8sIsRT3hkRaCO_tlR9fjgVIM7sQCxmLO_S5WrIo,71915
|
249
250
|
vellum/client/types/ad_hoc_execute_prompt_event.py,sha256=B69EesIH6fpNsdoiJaSG9zF1Sl17FnjoTu4CBkUSoHk,608
|
250
251
|
vellum/client/types/ad_hoc_expand_meta.py,sha256=Kajcj3dKKed5e7uZibRnE3ZonK_bB2JPM-3aLjLfUp4,1295
|
251
252
|
vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=5kD6ZcbU8P8ynK0lMD8Mh7vHzvQt06ziMyphvWYg6FU,968
|
@@ -318,6 +319,7 @@ vellum/client/types/container_image_build_config.py,sha256=Hl0PpR6fY8PDS8nvYktBs
|
|
318
319
|
vellum/client/types/container_image_container_image_tag.py,sha256=TlXkSkD3udi_Cf-ZpiIAM_rkMzHyPrWJCUTm_3JWunA,586
|
319
320
|
vellum/client/types/container_image_read.py,sha256=9vyFH5TGg_WNMIlt47gVfy0pce-SOVyQdOkej7ZjKgk,1101
|
320
321
|
vellum/client/types/create_test_suite_test_case_request.py,sha256=qQCmHY3JcMuQ73l1VkY4Atmf0G2qUT20Tcax2uX3WCU,1610
|
322
|
+
vellum/client/types/create_workflow_event_request.py,sha256=0MmlvSgYkpd1HU-DyVJDzEPrgbQCjIeD96iZZZ4fxuU,208
|
321
323
|
vellum/client/types/delimiter_chunker_config.py,sha256=iJqsicj4XkkUc2D807slcvrYrTF3LnSFtYwzFxmJFqE,601
|
322
324
|
vellum/client/types/delimiter_chunker_config_request.py,sha256=EQ3iJK2p7flI3qLwtlMRCrOoPTL3tst0G4U1KU3cvIU,608
|
323
325
|
vellum/client/types/delimiter_chunking.py,sha256=RNhnLZzN5325Tt845uQeA6nCFnRqcXtbxJFw19koBfU,714
|
@@ -328,6 +330,7 @@ vellum/client/types/deployment_provider_payload_response_payload.py,sha256=xHLQn
|
|
328
330
|
vellum/client/types/deployment_read.py,sha256=gfkVoVD84glJuUFDX61uMwmhDYg46h2UXcXIhTEA-ls,2040
|
329
331
|
vellum/client/types/deployment_release_tag_deployment_history_item.py,sha256=wVzgUnsa4Up9ReH_rP_l5ssfA0J1Nsfd4AN6lRsxhv4,595
|
330
332
|
vellum/client/types/deployment_release_tag_read.py,sha256=SV_kKYFIjhfD5CR9Ab35pdJpAJSx-7jhk2x_HUiz-Uk,1242
|
333
|
+
vellum/client/types/deprecated_prompt_request_input.py,sha256=28_ZOtOsQQXS_X_qH4YyYEzeM-McMzbYXgTRni4fm1Q,255
|
331
334
|
vellum/client/types/docker_service_token.py,sha256=rv0F19r2Sgba_Hbz757HFfTV8UioAQTV2xXkWxfn4sg,578
|
332
335
|
vellum/client/types/document_chat_message_content.py,sha256=pzedhUAhgcmI5jaZFHZB-Ei57f5oixCCneZYki90nGU,709
|
333
336
|
vellum/client/types/document_chat_message_content_request.py,sha256=S1Fb1ngDTbTfMR4z06YT9k5MQL83szNzV38BUxGhRqQ,738
|
@@ -355,7 +358,7 @@ vellum/client/types/error_detail_response.py,sha256=ojTyfayk-06SGyQ_agQRH7R-4dqp
|
|
355
358
|
vellum/client/types/error_input.py,sha256=L0b21Sa-hMCSGLbD99_oaGwsvhdJdtifEfKd-1uKn8U,750
|
356
359
|
vellum/client/types/error_vellum_value.py,sha256=5Q1iQJ3wfB-8KoARCK7FVLUxM4Upc9CFhOcKxJjgXLE,690
|
357
360
|
vellum/client/types/error_vellum_value_request.py,sha256=7E9ZGq5OOZLp3v-AUkyn8uXIYiz6MKUzJjfKoqvS_ws,719
|
358
|
-
vellum/client/types/event_create_response.py,sha256
|
361
|
+
vellum/client/types/event_create_response.py,sha256=-AMF97kDAKTr0WsufK2st48AHi81e7_pG02dvDmkcLU,808
|
359
362
|
vellum/client/types/execute_api_request_bearer_token.py,sha256=d2cP31_oLVIJ4Olm9wVbDMGfPVJoLgJgQTidJGyyJ7M,184
|
360
363
|
vellum/client/types/execute_api_request_body.py,sha256=WySF2yj9rtx2vF4En0dfZkzPF2FNFtVRFW7P8Mw-hF8,217
|
361
364
|
vellum/client/types/execute_api_request_headers_value.py,sha256=W9Qrqzia725vZZ_cyTzuDMLvVQ5JNkq0GHhM-XewBGk,185
|
@@ -458,7 +461,7 @@ vellum/client/types/json_input.py,sha256=vF9bbntErx0IwVGB0OqrYooPU7A9wxaHap_CZR_
|
|
458
461
|
vellum/client/types/json_input_request.py,sha256=TAXQypA_hkTgjnGdojm56TjvsOXd0-uVB6TzcLCioEA,732
|
459
462
|
vellum/client/types/json_vellum_value.py,sha256=v01fKiC-U9asT0GV4iorxWIXoPnG-3Do5hiJOaRO4go,653
|
460
463
|
vellum/client/types/json_vellum_value_request.py,sha256=UqBCzov-GCNhgS8aJRUB2baLISdSX2T2EYDN0PWarJ0,660
|
461
|
-
vellum/client/types/logical_operator.py,sha256=
|
464
|
+
vellum/client/types/logical_operator.py,sha256=UET8SvwJEorCZQMpfHyRrOcJIH1-eVX98oj-nhn1FsM,672
|
462
465
|
vellum/client/types/logprobs_enum.py,sha256=D_458cZX2CAb6dX_ovrQ6HARlJkYcZRadKwsi1Cr-JM,151
|
463
466
|
vellum/client/types/map_node_result.py,sha256=5v8rzWo6x7QLFyooHieauuRmBU_N91V5uHAvTHTNc6Q,716
|
464
467
|
vellum/client/types/map_node_result_data.py,sha256=UlboKx1e5onq_4hTJhN80GZd8V2pkOx_uHjTsQQsOgk,663
|
@@ -580,7 +583,7 @@ vellum/client/types/pdf_search_result_meta_source.py,sha256=KaYx-xvNtOn_ADRDBbb4
|
|
580
583
|
vellum/client/types/pdf_search_result_meta_source_request.py,sha256=Fh2EUxWyhdP7yW2CUNvSTSZo8EcukgogALr4HpppHvQ,1097
|
581
584
|
vellum/client/types/plain_text_prompt_block.py,sha256=vqZESoqj6P1IyHFmRAk2kmdU3ktsM_852crRCBcYV64,894
|
582
585
|
vellum/client/types/price.py,sha256=f-j-74UUDuX2c-IQxXH78KV8L-jLi6sdsHWVLRKqBy4,574
|
583
|
-
vellum/client/types/processing_failure_reason_enum.py,sha256=
|
586
|
+
vellum/client/types/processing_failure_reason_enum.py,sha256=cQ3Rmryo7U0Lkh-XZzWIDI9Re-oVh1GZb2cDgMR5sL8,224
|
584
587
|
vellum/client/types/prompt_block.py,sha256=950JeKeNKZ0DQXwCD-Sy9SDMtiR7F-BqCrJZoxZt7JM,886
|
585
588
|
vellum/client/types/prompt_block_state.py,sha256=BRAzTYARoSU36IVZGWMeeqhl5fgFMXCyhJ8rCbfB-f0,163
|
586
589
|
vellum/client/types/prompt_deployment_expand_meta_request.py,sha256=v7sW8hDHULzNa103FB3WugGMsRUnt0ijbzRy476M3fg,1874
|
@@ -659,7 +662,7 @@ vellum/client/types/sentence_chunker_config_request.py,sha256=Da2ANuD4icLxI74emC
|
|
659
662
|
vellum/client/types/sentence_chunking.py,sha256=MyEImiN0dhWEVFvD76Q6mCqIEjZcyY__Hhu0j9Gjs6Y,747
|
660
663
|
vellum/client/types/sentence_chunking_request.py,sha256=itrdqiKJJ7UKWVGTfj9sJu3kMSThkBF_Qj-3KqFunP4,776
|
661
664
|
vellum/client/types/slim_deployment_read.py,sha256=lEJ8Fx7QSmqjEK-LcR0y_hX2ywcaPbYjxINwPGy_ofw,1733
|
662
|
-
vellum/client/types/slim_document.py,sha256=
|
665
|
+
vellum/client/types/slim_document.py,sha256=aytvaz8SF6MSSEA3iLXP7ZgZOw33CA-_bv2iSj5cH24,2409
|
663
666
|
vellum/client/types/slim_document_document_to_document_index.py,sha256=Ogo8OFjtmcHjDmIynB9vckfjSZxFNhKM-cYpqSfREGI,1515
|
664
667
|
vellum/client/types/slim_release_review.py,sha256=vWNkPXk5wZ_scHsWHz_77PfMZRDn-4qUkqVbCKqY1zQ,747
|
665
668
|
vellum/client/types/slim_workflow_deployment.py,sha256=jIciGPCW9QNtDRdq3w_zUdrrE4cg1LWkcoyGM-L6cs0,2085
|
@@ -864,6 +867,7 @@ vellum/client/types/workflow_execution_view_online_eval_metric_result.py,sha256=
|
|
864
867
|
vellum/client/types/workflow_execution_workflow_result_event.py,sha256=9au7DnaQu84TOYBDiSlDAjLcdDAxfMHOYwi4zbSQYBk,1047
|
865
868
|
vellum/client/types/workflow_expand_meta_request.py,sha256=jdlSJB-g7vqhdRheEV0Zzi4CAQZSlGBeWlvbihHgeLU,1115
|
866
869
|
vellum/client/types/workflow_initialization_error.py,sha256=1QIqmlPdbBPLEbMP-ThkC30FiIyxPBnK-g9eRKBdrHw,603
|
870
|
+
vellum/client/types/workflow_input.py,sha256=0AKNfArTz60M4M_i9J4in7ZpauU7fHmAQLIxtk5z6no,815
|
867
871
|
vellum/client/types/workflow_node_result_data.py,sha256=kd7HHA8rI1eVkKzzmZixf4eY9I0GWFQUHUX1LxMc4iI,952
|
868
872
|
vellum/client/types/workflow_node_result_event.py,sha256=NjEFaYmzEvb-8orEhLnmZWxw9fnf2EoNXlNux2eMjuE,604
|
869
873
|
vellum/client/types/workflow_node_result_event_state.py,sha256=cC3CdfmXR8bPzSG4W6vDnndA9HAnfF3v4UzmyeVwxog,209
|
@@ -1100,6 +1104,7 @@ vellum/types/container_image_build_config.py,sha256=HwpCCo427Ee0j6_f72AV5gxaTAOR
|
|
1100
1104
|
vellum/types/container_image_container_image_tag.py,sha256=RgDod58iPXdgq6sMp63qqmRF3gk_gTK1gwLVcgR58QA,173
|
1101
1105
|
vellum/types/container_image_read.py,sha256=36LQzvJaDGH26wjD6_WxgzwkslgRZihSYXu5n4W7abk,158
|
1102
1106
|
vellum/types/create_test_suite_test_case_request.py,sha256=D_d6psjOMWx5jr2c7FwNndSH1ay5afdu5QXckqtBmfU,173
|
1107
|
+
vellum/types/create_workflow_event_request.py,sha256=TwlP_GRYV0gpnlyUK8PzvRF9F9RMr1l9sV5jyIzDzpY,167
|
1103
1108
|
vellum/types/delimiter_chunker_config.py,sha256=-YWJgMAU0rfWMFEY4joJP2tO46RwdlVV9dMmI8vCNFc,162
|
1104
1109
|
vellum/types/delimiter_chunker_config_request.py,sha256=_jUh1W8OkCvOVePVujM3Wi55MxVjT4srnTVUeavEq78,170
|
1105
1110
|
vellum/types/delimiter_chunking.py,sha256=V8UitO134joRwoUWgY-RPZhosDPX0OnVRC1k1DNkLx0,156
|
@@ -1110,6 +1115,7 @@ vellum/types/deployment_provider_payload_response_payload.py,sha256=nuzn6G1Tc5h6
|
|
1110
1115
|
vellum/types/deployment_read.py,sha256=iJWCAuQLxL3GEMaMvC5SrUUEvVvSIPYWarQZ7yEyjvI,153
|
1111
1116
|
vellum/types/deployment_release_tag_deployment_history_item.py,sha256=JMw5mQrNNJPDhY-fEW-ZtLh36kqytXy6NySfKwFXUr4,184
|
1112
1117
|
vellum/types/deployment_release_tag_read.py,sha256=cZSBv5ueKerzqCpFz9VIKnzNYL72LCMknKlY-q_4qno,165
|
1118
|
+
vellum/types/deprecated_prompt_request_input.py,sha256=ddmp-naHZWLRGLOrQXlfM0IWpJbCFQ6SPMP3xl6FJSk,169
|
1113
1119
|
vellum/types/docker_service_token.py,sha256=hQEc1XEqUssp2OMzWDE4igdsBdEOU5Dg-sCHBaaePr4,158
|
1114
1120
|
vellum/types/document_chat_message_content.py,sha256=n_dmayC0_zMooetTlPM0-IGsaxTqIyfXNBEFS7_uOtI,167
|
1115
1121
|
vellum/types/document_chat_message_content_request.py,sha256=dL-Es5ckNEnBTEaOjg95Yo3dpcSOZ6HQNaywC3Qb6DA,175
|
@@ -1646,6 +1652,7 @@ vellum/types/workflow_execution_view_online_eval_metric_result.py,sha256=dLnk3Cf
|
|
1646
1652
|
vellum/types/workflow_execution_workflow_result_event.py,sha256=3bNxtChEfqny5eEazFcGmqQpmC8283Q0J2hxLje-uks,178
|
1647
1653
|
vellum/types/workflow_expand_meta_request.py,sha256=Ahb7gjZekJ5qI0HGHLCbn3hCpkX08EnzeXEH_3ivB4E,166
|
1648
1654
|
vellum/types/workflow_initialization_error.py,sha256=ZDbjOAEilOIpioDFdNolGIh8XFP0kssEmf0LEnLAMQw,167
|
1655
|
+
vellum/types/workflow_input.py,sha256=W-ANsou365XpgqSimqMzqD-O5J8U3g0HT0dK1Upiq5o,152
|
1649
1656
|
vellum/types/workflow_node_result_data.py,sha256=xJGaXn837DXVIXd8i9IrFuo3iTKufsUlgogwHnW_MZw,163
|
1650
1657
|
vellum/types/workflow_node_result_event.py,sha256=6j8UAupnbsYlO1Qn4RbSMEvLRPhVFV3F2rIg-a2ocUY,164
|
1651
1658
|
vellum/types/workflow_node_result_event_state.py,sha256=dsQ6jjkq1kh3sivg1iTDPSh1TZ8cLtbMqNrGydhZEoo,170
|
@@ -1702,7 +1709,7 @@ vellum/utils/uuid.py,sha256=Ch6wWRgwICxLxJCTl5iE3EdRlZj2zADR-zUMUtjcMWM,214
|
|
1702
1709
|
vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
|
1703
1710
|
vellum/workflows/README.md,sha256=hZdTKBIcsTKPofK68oPkBhyt0nnRh0csqC12k4FMHHA,3597
|
1704
1711
|
vellum/workflows/__init__.py,sha256=CssPsbNvN6rDhoLuqpEv7MMKGa51vE6dvAh6U31Pcio,71
|
1705
|
-
vellum/workflows/constants.py,sha256=
|
1712
|
+
vellum/workflows/constants.py,sha256=xweiPRUSVEnGz9BJvpIWu96Gfok89QneARu4K7wj7f8,1358
|
1706
1713
|
vellum/workflows/context.py,sha256=ViyIeMDhUv-MhnynLaXPlvlbYxRU45ySvYidCNSbFZU,2458
|
1707
1714
|
vellum/workflows/descriptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1708
1715
|
vellum/workflows/descriptors/base.py,sha256=fRnRkECyDjfz2QEDCY9Q5mAerlJ6jR0R4nE-MP2VP_k,16558
|
@@ -1720,14 +1727,14 @@ vellum/workflows/errors/__init__.py,sha256=tWGPu5xyAU8gRb8_bl0fL7OfU3wxQ9UH6qVwy
|
|
1720
1727
|
vellum/workflows/errors/types.py,sha256=nUWuniEfrhdtb-_2GzoDGlYnSJ_yuNUGjVkaKLNr-rM,4049
|
1721
1728
|
vellum/workflows/events/__init__.py,sha256=V4mh766fyA70WvHelm9kfVZGrUgEKcJ9tJt8EepfQYU,832
|
1722
1729
|
vellum/workflows/events/context.py,sha256=vCfMIPmz4j9Om36rRWa35A_JU_VccWWS52_mZkkqxak,3345
|
1723
|
-
vellum/workflows/events/node.py,sha256=
|
1730
|
+
vellum/workflows/events/node.py,sha256=2R5Yk86v6DNNfgPiCCQjrQ9JYKc71xKNokW2f2EFUUU,5883
|
1724
1731
|
vellum/workflows/events/relational_threads.py,sha256=zmLrBCBYpdpQV0snKH3HleST-_hWAMy2LIT0xScfzi4,1516
|
1725
1732
|
vellum/workflows/events/stream.py,sha256=xhXJTZirFi0xad5neAQNogrIQ4h47fpnKbVC3vCM5Js,889
|
1726
1733
|
vellum/workflows/events/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1727
1734
|
vellum/workflows/events/tests/test_basic_workflow.py,sha256=Pj6orHsXz37jWC5FARi0Sx2Gjf99Owri2Cvr6Chb79k,1765
|
1728
|
-
vellum/workflows/events/tests/test_event.py,sha256=
|
1735
|
+
vellum/workflows/events/tests/test_event.py,sha256=6R3RuN_lMJ9ooHQ9-HE1p0j2xL0FtGiRxkQ7PucFbD0,18450
|
1729
1736
|
vellum/workflows/events/types.py,sha256=mVrqAH9Hs9SpXm08Hcxdyap_ImQPwGsxRr56rSNMP34,5043
|
1730
|
-
vellum/workflows/events/workflow.py,sha256=
|
1737
|
+
vellum/workflows/events/workflow.py,sha256=XW9tpAmDb9BPj2RLYpdbN-SJz_UhwqKBTaMJkZM2ahM,8996
|
1731
1738
|
vellum/workflows/exceptions.py,sha256=NiBiR3ggfmPxBVqD-H1SqmjI-7mIn0EStSN1BqApvCM,1213
|
1732
1739
|
vellum/workflows/expressions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1733
1740
|
vellum/workflows/expressions/accessor.py,sha256=3lu1-_-dBfZdJvtX-q66jbmRAZtqIfdsh_3_JNuzg1E,4462
|
@@ -1810,7 +1817,7 @@ vellum/workflows/nodes/core/retry_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TI
|
|
1810
1817
|
vellum/workflows/nodes/core/retry_node/tests/test_node.py,sha256=PCvD_XROP26k4cVYOdSQUfkDdbTljAJxtOTFzOUoS8c,4450
|
1811
1818
|
vellum/workflows/nodes/core/templating_node/__init__.py,sha256=GmyuYo81_A1_Bz6id69ozVFS6FKiuDsZTiA3I6MaL2U,70
|
1812
1819
|
vellum/workflows/nodes/core/templating_node/node.py,sha256=mn0JEbORWaM-mR7fgUZy-BItZCup8CaxZQaY_g3TSEE,3855
|
1813
|
-
vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py,sha256=
|
1820
|
+
vellum/workflows/nodes/core/templating_node/tests/test_templating_node.py,sha256=gfLi8lJpTU5jGO1Kt6UuzVz1fQN8dcNhHBZG90enP-s,15013
|
1814
1821
|
vellum/workflows/nodes/core/try_node/__init__.py,sha256=JVD4DrldTIqFQQFrubs9KtWCCc0YCAc7Fzol5ZWIWeM,56
|
1815
1822
|
vellum/workflows/nodes/core/try_node/node.py,sha256=XdyOvlwQ3m4h0-_WNtaBl2t_CdlzPXclulkLOtUcX3E,4388
|
1816
1823
|
vellum/workflows/nodes/core/try_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1842,7 +1849,7 @@ vellum/workflows/nodes/displayable/code_execution_node/node.py,sha256=cCpZPna1Ex
|
|
1842
1849
|
vellum/workflows/nodes/displayable/code_execution_node/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1843
1850
|
vellum/workflows/nodes/displayable/code_execution_node/tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1844
1851
|
vellum/workflows/nodes/displayable/code_execution_node/tests/fixtures/main.py,sha256=5QsbmkzSlSbcbWTG_JmIqcP-JNJzOPTKxGzdHos19W4,79
|
1845
|
-
vellum/workflows/nodes/displayable/code_execution_node/tests/test_node.py,sha256=
|
1852
|
+
vellum/workflows/nodes/displayable/code_execution_node/tests/test_node.py,sha256=1XadX-I240ghXDSLBejYfDNUpDZcdQbB6aroCHlIBt4,38285
|
1846
1853
|
vellum/workflows/nodes/displayable/code_execution_node/utils.py,sha256=GxSjRBiH8kNg2dXUVTtnX47fqPIFoGHxRB4ySU6uVPk,3225
|
1847
1854
|
vellum/workflows/nodes/displayable/conditional_node/__init__.py,sha256=AS_EIqFdU1F9t8aLmbZU-rLh9ry6LCJ0uj0D8F0L5Uw,72
|
1848
1855
|
vellum/workflows/nodes/displayable/conditional_node/node.py,sha256=71ZUNfTiD7t2Kai2ypw0tmv1lSf1brQaHAQD-SeUrGE,1101
|
@@ -1900,8 +1907,8 @@ vellum/workflows/nodes/experimental/openai_chat_completion_node/node.py,sha256=c
|
|
1900
1907
|
vellum/workflows/nodes/mocks.py,sha256=a1FjWEIocseMfjzM-i8DNozpUsaW0IONRpZmXBoWlyc,10455
|
1901
1908
|
vellum/workflows/nodes/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1902
1909
|
vellum/workflows/nodes/tests/test_mocks.py,sha256=mfPvrs75PKcsNsbJLQAN6PDFoVqs9TmQxpdyFKDdO60,7837
|
1903
|
-
vellum/workflows/nodes/tests/test_utils.py,sha256=
|
1904
|
-
vellum/workflows/nodes/utils.py,sha256=
|
1910
|
+
vellum/workflows/nodes/tests/test_utils.py,sha256=BUugAHx2C9YuCwTlsTXV1Glxca0kW3St6T9o_QFatSU,5649
|
1911
|
+
vellum/workflows/nodes/utils.py,sha256=wCvf8K5qruT5GwtvnHcQ-LMllktTD8aaFmAGpKQy--c,10720
|
1905
1912
|
vellum/workflows/outputs/__init__.py,sha256=AyZ4pRh_ACQIGvkf0byJO46EDnSix1ZCAXfvh-ms1QE,94
|
1906
1913
|
vellum/workflows/outputs/base.py,sha256=PUn0zhGzYCSZL34JXtXg9zALlXS_cqxZldLilPxDzb8,9614
|
1907
1914
|
vellum/workflows/ports/__init__.py,sha256=bZuMt-R7z5bKwpu4uPW7LlJeePOQWmCcDSXe5frUY5g,101
|
@@ -1927,7 +1934,7 @@ vellum/workflows/resolvers/resolver.py,sha256=0Y9ArmN_2Gu62TpgYjFvSzhFMMFy7oGWOJ
|
|
1927
1934
|
vellum/workflows/resolvers/tests/test_resolver.py,sha256=JX6-zjIQShNvt4XYmub6zmY0iUf6z90KZynqvEd33qA,5202
|
1928
1935
|
vellum/workflows/resolvers/types.py,sha256=Hndhlk69g6EKLh_LYg5ILepW5U_h_BYNllfzhS9k8p4,237
|
1929
1936
|
vellum/workflows/runner/__init__.py,sha256=i1iG5sAhtpdsrlvwgH6B-m49JsINkiWyPWs8vyT-bqM,72
|
1930
|
-
vellum/workflows/runner/runner.py,sha256=
|
1937
|
+
vellum/workflows/runner/runner.py,sha256=kuW28ozlBi2thQRhgrKigxXtAcOYoGp0M6lYucYsrMw,40321
|
1931
1938
|
vellum/workflows/sandbox.py,sha256=jwlFFQjHDwmbVoBah_Q3i8K_BrzOt-F6TXFauiyVyIk,3021
|
1932
1939
|
vellum/workflows/state/__init__.py,sha256=yUUdR-_Vl7UiixNDYQZ-GEM_kJI9dnOia75TtuNEsnE,60
|
1933
1940
|
vellum/workflows/state/base.py,sha256=m9fCqbZn21GshCVCjJTD1dPZEQjFrsMXqlg7tM9fIwM,24283
|
@@ -1941,7 +1948,7 @@ vellum/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
|
|
1941
1948
|
vellum/workflows/tests/test_sandbox.py,sha256=JKwaluI-lODQo7Ek9sjDstjL_WTdSqUlVik6ZVTfVOA,1826
|
1942
1949
|
vellum/workflows/tests/test_undefined.py,sha256=zMCVliCXVNLrlC6hEGyOWDnQADJ2g83yc5FIM33zuo8,353
|
1943
1950
|
vellum/workflows/types/__init__.py,sha256=KxUTMBGzuRCfiMqzzsykOeVvrrkaZmTTo1a7SLu8gRM,68
|
1944
|
-
vellum/workflows/types/code_execution_node_wrappers.py,sha256=
|
1951
|
+
vellum/workflows/types/code_execution_node_wrappers.py,sha256=m6C4cNEfPZFuqsS9qaJHOKq7UviOBDIYdAJalMWmabQ,3089
|
1945
1952
|
vellum/workflows/types/core.py,sha256=TggDVs2lVya33xvu374EDhMC1b7RRlAAs0zWLaF46BA,1385
|
1946
1953
|
vellum/workflows/types/definition.py,sha256=2vq3uGT-m994zRcla0yTUsMiPLKSDuzEZs7H6U9QbiE,4993
|
1947
1954
|
vellum/workflows/types/generics.py,sha256=8jptbEx1fnJV0Lhj0MpCJOT6yNiEWeTOYOwrEAb5CRU,1576
|
@@ -1970,8 +1977,8 @@ vellum/workflows/workflows/event_filters.py,sha256=GSxIgwrX26a1Smfd-6yss2abGCnad
|
|
1970
1977
|
vellum/workflows/workflows/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1971
1978
|
vellum/workflows/workflows/tests/test_base_workflow.py,sha256=ptMntHzVyy8ZuzNgeTuk7hREgKQ5UBdgq8VJFSGaW4Y,20832
|
1972
1979
|
vellum/workflows/workflows/tests/test_context.py,sha256=VJBUcyWVtMa_lE5KxdhgMu0WYNYnUQUDvTF7qm89hJ0,2333
|
1973
|
-
vellum_ai-1.3.
|
1974
|
-
vellum_ai-1.3.
|
1975
|
-
vellum_ai-1.3.
|
1976
|
-
vellum_ai-1.3.
|
1977
|
-
vellum_ai-1.3.
|
1980
|
+
vellum_ai-1.3.2.dist-info/LICENSE,sha256=hOypcdt481qGNISA784bnAGWAE6tyIf9gc2E78mYC3E,1574
|
1981
|
+
vellum_ai-1.3.2.dist-info/METADATA,sha256=tnrvX2iEEP0vTsPk5wc2h5nOtdqyExs5bW8fBNV1-7U,5547
|
1982
|
+
vellum_ai-1.3.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
1983
|
+
vellum_ai-1.3.2.dist-info/entry_points.txt,sha256=HCH4yc_V3J_nDv3qJzZ_nYS8llCHZViCDP1ejgCc5Ak,42
|
1984
|
+
vellum_ai-1.3.2.dist-info/RECORD,,
|
vellum_ee/workflows/display/tests/workflow_serialization/test_web_search_node_serialization.py
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
from vellum_ee.workflows.display.workflows.get_vellum_workflow_display_class import get_workflow_display
|
2
|
+
|
3
|
+
from tests.workflows.web_search.workflow import WebSearchWorkflow
|
4
|
+
|
5
|
+
|
6
|
+
def test_serialize_web_search_workflow():
|
7
|
+
# GIVEN a WebSearchWorkflow with a node that has various input types
|
8
|
+
# - query from workflow input
|
9
|
+
# - api_key from VellumSecretReference
|
10
|
+
# - num_results as a constant integer
|
11
|
+
# - location as a constant string
|
12
|
+
|
13
|
+
# WHEN we serialize the workflow through the display system
|
14
|
+
workflow_display = get_workflow_display(workflow_class=WebSearchWorkflow)
|
15
|
+
serialized_workflow: dict = workflow_display.serialize()
|
16
|
+
|
17
|
+
# THEN we should get a properly structured serialized workflow
|
18
|
+
assert serialized_workflow.keys() == {
|
19
|
+
"workflow_raw_data",
|
20
|
+
"input_variables",
|
21
|
+
"state_variables",
|
22
|
+
"output_variables",
|
23
|
+
}
|
24
|
+
|
25
|
+
# AND it should have input variables
|
26
|
+
input_variables = serialized_workflow["input_variables"]
|
27
|
+
assert len(input_variables) == 1
|
28
|
+
assert input_variables[0]["key"] == "search_query"
|
29
|
+
assert input_variables[0]["type"] == "STRING"
|
30
|
+
|
31
|
+
# AND it should have output variables
|
32
|
+
output_variables = serialized_workflow["output_variables"]
|
33
|
+
assert len(output_variables) == 2
|
34
|
+
output_keys = {var["key"] for var in output_variables}
|
35
|
+
assert output_keys == {"search_results", "result_urls"}
|
36
|
+
|
37
|
+
# AND the web search node should be serialized as a GENERIC type node
|
38
|
+
workflow_raw_data = serialized_workflow["workflow_raw_data"]
|
39
|
+
nodes = workflow_raw_data["nodes"]
|
40
|
+
|
41
|
+
web_search_node = next(
|
42
|
+
(
|
43
|
+
node
|
44
|
+
for node in nodes
|
45
|
+
if node and node.get("type") == "GENERIC" and node.get("base", {}).get("name") == "WebSearchNode"
|
46
|
+
),
|
47
|
+
None,
|
48
|
+
)
|
49
|
+
|
50
|
+
assert web_search_node is not None, "WebSearchNode should be serialized as GENERIC type"
|
51
|
+
|
52
|
+
# AND it should have the correct base module reference
|
53
|
+
expected_base = {
|
54
|
+
"name": "WebSearchNode",
|
55
|
+
"module": ["vellum", "workflows", "nodes", "displayable", "web_search_node", "node"],
|
56
|
+
}
|
57
|
+
assert (
|
58
|
+
web_search_node["base"] == expected_base
|
59
|
+
), f"Base mismatch. Expected: {expected_base}, Found: {web_search_node['base']}"
|
60
|
+
|
61
|
+
# AND it should have all four serializable attributes defined in our display class
|
62
|
+
web_search_attributes = web_search_node["attributes"]
|
63
|
+
attribute_names = {attr["name"] for attr in web_search_attributes}
|
64
|
+
|
65
|
+
# AND the attributes should match exactly what we defined in __serializable_inputs__
|
66
|
+
assert attribute_names == {"query", "api_key", "num_results", "location"}
|
67
|
+
|
68
|
+
# AND it should have all three expected outputs from WebSearchNode
|
69
|
+
assert {output["name"] for output in web_search_node["outputs"]} == {"text", "urls", "results"}
|
70
|
+
|
71
|
+
# AND each attribute should have the correct value type based on its source
|
72
|
+
attr_types_by_name = {attr["name"]: attr["value"]["type"] for attr in web_search_attributes}
|
73
|
+
|
74
|
+
# AND query should reference the workflow input
|
75
|
+
assert attr_types_by_name["query"] == "WORKFLOW_INPUT"
|
76
|
+
# AND api_key should reference a Vellum secret
|
77
|
+
assert attr_types_by_name["api_key"] == "VELLUM_SECRET"
|
78
|
+
# AND num_results should be a constant value
|
79
|
+
assert attr_types_by_name["num_results"] == "CONSTANT_VALUE"
|
80
|
+
# AND location should be a constant value
|
81
|
+
assert attr_types_by_name["location"] == "CONSTANT_VALUE"
|
File without changes
|
File without changes
|
File without changes
|