vellum-ai 0.6.6__py3-none-any.whl → 0.6.8__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.
Files changed (30) hide show
  1. vellum/__init__.py +14 -4
  2. vellum/core/client_wrapper.py +1 -1
  3. vellum/resources/document_indexes/client.py +120 -12
  4. vellum/resources/test_suites/client.py +20 -8
  5. vellum/types/__init__.py +14 -4
  6. vellum/types/{bulk_create_test_suite_test_case_data_request.py → create_test_suite_test_case_request.py} +11 -2
  7. vellum/types/deployment_provider_payload_response.py +2 -1
  8. vellum/types/deployment_provider_payload_response_payload.py +5 -0
  9. vellum/types/execution_array_vellum_value.py +6 -2
  10. vellum/types/execution_chat_history_vellum_value.py +4 -0
  11. vellum/types/execution_error_vellum_value.py +4 -0
  12. vellum/types/execution_function_call_vellum_value.py +4 -0
  13. vellum/types/execution_json_vellum_value.py +4 -0
  14. vellum/types/execution_number_vellum_value.py +4 -0
  15. vellum/types/execution_search_results_vellum_value.py +4 -0
  16. vellum/types/execution_string_vellum_value.py +4 -0
  17. vellum/types/map_enum.py +5 -0
  18. vellum/types/map_node_result.py +30 -0
  19. vellum/types/map_node_result_data.py +25 -0
  20. vellum/types/{bulk_replace_test_suite_test_case_data_request.py → replace_test_suite_test_case_request.py} +13 -4
  21. vellum/types/search_result_meta.py +1 -1
  22. vellum/types/search_result_meta_request.py +1 -1
  23. vellum/types/test_suite_test_case.py +1 -0
  24. vellum/types/test_suite_test_case_create_bulk_operation_request.py +2 -2
  25. vellum/types/test_suite_test_case_replace_bulk_operation_request.py +2 -2
  26. vellum/types/workflow_node_result_data.py +12 -0
  27. {vellum_ai-0.6.6.dist-info → vellum_ai-0.6.8.dist-info}/METADATA +1 -1
  28. {vellum_ai-0.6.6.dist-info → vellum_ai-0.6.8.dist-info}/RECORD +30 -26
  29. {vellum_ai-0.6.6.dist-info → vellum_ai-0.6.8.dist-info}/LICENSE +0 -0
  30. {vellum_ai-0.6.6.dist-info → vellum_ai-0.6.8.dist-info}/WHEEL +0 -0
vellum/__init__.py CHANGED
@@ -35,8 +35,6 @@ from .types import (
35
35
  BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request,
36
36
  BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1,
37
37
  BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
38
- BulkCreateTestSuiteTestCaseDataRequest,
39
- BulkReplaceTestSuiteTestCaseDataRequest,
40
38
  ChatHistoryEnum,
41
39
  ChatHistoryInputRequest,
42
40
  ChatMessage,
@@ -74,10 +72,12 @@ from .types import (
74
72
  ConditionalNodeResult,
75
73
  ConditionalNodeResultData,
76
74
  CreateEnum,
75
+ CreateTestSuiteTestCaseRequest,
77
76
  CreatedEnum,
78
77
  DeleteEnum,
79
78
  DeletedEnum,
80
79
  DeploymentProviderPayloadResponse,
80
+ DeploymentProviderPayloadResponsePayload,
81
81
  DeploymentRead,
82
82
  DeploymentReleaseTagDeploymentHistoryItem,
83
83
  DeploymentReleaseTagRead,
@@ -199,6 +199,9 @@ from .types import (
199
199
  JsonVellumValue,
200
200
  LogicalOperator,
201
201
  LogprobsEnum,
202
+ MapEnum,
203
+ MapNodeResult,
204
+ MapNodeResultData,
202
205
  MergeEnum,
203
206
  MergeNodeResult,
204
207
  MetadataFilterConfigRequest,
@@ -327,6 +330,7 @@ from .types import (
327
330
  RejectedWorkflowNodeResultEvent,
328
331
  ReleaseTagSource,
329
332
  ReplaceEnum,
333
+ ReplaceTestSuiteTestCaseRequest,
330
334
  ReplacedEnum,
331
335
  SandboxScenario,
332
336
  ScenarioInput,
@@ -540,6 +544,7 @@ from .types import (
540
544
  WorkflowNodeResultData_Api,
541
545
  WorkflowNodeResultData_CodeExecution,
542
546
  WorkflowNodeResultData_Conditional,
547
+ WorkflowNodeResultData_Map,
543
548
  WorkflowNodeResultData_Merge,
544
549
  WorkflowNodeResultData_Metric,
545
550
  WorkflowNodeResultData_Prompt,
@@ -659,8 +664,6 @@ __all__ = [
659
664
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request",
660
665
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1",
661
666
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request",
662
- "BulkCreateTestSuiteTestCaseDataRequest",
663
- "BulkReplaceTestSuiteTestCaseDataRequest",
664
667
  "ChatHistoryEnum",
665
668
  "ChatHistoryInputRequest",
666
669
  "ChatMessage",
@@ -698,10 +701,12 @@ __all__ = [
698
701
  "ConditionalNodeResult",
699
702
  "ConditionalNodeResultData",
700
703
  "CreateEnum",
704
+ "CreateTestSuiteTestCaseRequest",
701
705
  "CreatedEnum",
702
706
  "DeleteEnum",
703
707
  "DeletedEnum",
704
708
  "DeploymentProviderPayloadResponse",
709
+ "DeploymentProviderPayloadResponsePayload",
705
710
  "DeploymentRead",
706
711
  "DeploymentReleaseTagDeploymentHistoryItem",
707
712
  "DeploymentReleaseTagRead",
@@ -827,6 +832,9 @@ __all__ = [
827
832
  "JsonVellumValue",
828
833
  "LogicalOperator",
829
834
  "LogprobsEnum",
835
+ "MapEnum",
836
+ "MapNodeResult",
837
+ "MapNodeResultData",
830
838
  "MergeEnum",
831
839
  "MergeNodeResult",
832
840
  "MetadataFilterConfigRequest",
@@ -956,6 +964,7 @@ __all__ = [
956
964
  "RejectedWorkflowNodeResultEvent",
957
965
  "ReleaseTagSource",
958
966
  "ReplaceEnum",
967
+ "ReplaceTestSuiteTestCaseRequest",
959
968
  "ReplacedEnum",
960
969
  "SandboxScenario",
961
970
  "ScenarioInput",
@@ -1171,6 +1180,7 @@ __all__ = [
1171
1180
  "WorkflowNodeResultData_Api",
1172
1181
  "WorkflowNodeResultData_CodeExecution",
1173
1182
  "WorkflowNodeResultData_Conditional",
1183
+ "WorkflowNodeResultData_Map",
1174
1184
  "WorkflowNodeResultData_Merge",
1175
1185
  "WorkflowNodeResultData_Metric",
1176
1186
  "WorkflowNodeResultData_Prompt",
@@ -18,7 +18,7 @@ class BaseClientWrapper:
18
18
  headers: typing.Dict[str, str] = {
19
19
  "X-Fern-Language": "Python",
20
20
  "X-Fern-SDK-Name": "vellum-ai",
21
- "X-Fern-SDK-Version": "0.6.6",
21
+ "X-Fern-SDK-Version": "0.6.8",
22
22
  }
23
23
  headers["X_API_KEY"] = self.api_key
24
24
  return headers
@@ -256,10 +256,10 @@ class DocumentIndexesClient:
256
256
  request_options: typing.Optional[RequestOptions] = None,
257
257
  ) -> DocumentIndexRead:
258
258
  """
259
- Used to fully update a Document Index given its ID.
259
+ Used to fully update a Document Index given its ID or name.
260
260
 
261
261
  Parameters:
262
- - id: str. A UUID string identifying this document index.
262
+ - id: str. Either the Document Index's ID or its unique name
263
263
 
264
264
  - label: str. A human-readable label for the document index
265
265
 
@@ -329,10 +329,10 @@ class DocumentIndexesClient:
329
329
 
330
330
  def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
331
331
  """
332
- Used to delete a Document Index given its ID.
332
+ Used to delete a Document Index given its ID or name.
333
333
 
334
334
  Parameters:
335
- - id: str. A UUID string identifying this document index.
335
+ - id: str. Either the Document Index's ID or its unique name
336
336
 
337
337
  - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
338
338
  ---
@@ -385,10 +385,10 @@ class DocumentIndexesClient:
385
385
  request_options: typing.Optional[RequestOptions] = None,
386
386
  ) -> DocumentIndexRead:
387
387
  """
388
- Used to partial update a Document Index given its ID.
388
+ Used to partial update a Document Index given its ID or name.
389
389
 
390
390
  Parameters:
391
- - id: str. A UUID string identifying this document index.
391
+ - id: str. Either the Document Index's ID or its unique name
392
392
 
393
393
  - label: typing.Optional[str]. A human-readable label for the document index
394
394
 
@@ -458,6 +458,60 @@ class DocumentIndexesClient:
458
458
  raise ApiError(status_code=_response.status_code, body=_response.text)
459
459
  raise ApiError(status_code=_response.status_code, body=_response_json)
460
460
 
461
+ def remove_document(
462
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
463
+ ) -> None:
464
+ """
465
+ Removes a Document from a Document Index without deleting the Document itself.
466
+
467
+ Parameters:
468
+ - document_id: str. Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
469
+
470
+ - id: str. Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
471
+
472
+ - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
473
+ ---
474
+ from vellum.client import Vellum
475
+
476
+ client = Vellum(
477
+ api_key="YOUR_API_KEY",
478
+ )
479
+ client.document_indexes.remove_document(
480
+ document_id="document_id",
481
+ id="id",
482
+ )
483
+ """
484
+ _response = self._client_wrapper.httpx_client.request(
485
+ method="DELETE",
486
+ url=urllib.parse.urljoin(
487
+ f"{self._client_wrapper.get_environment().default}/",
488
+ f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
489
+ ),
490
+ params=jsonable_encoder(
491
+ request_options.get("additional_query_parameters") if request_options is not None else None
492
+ ),
493
+ headers=jsonable_encoder(
494
+ remove_none_from_dict(
495
+ {
496
+ **self._client_wrapper.get_headers(),
497
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
498
+ }
499
+ )
500
+ ),
501
+ timeout=request_options.get("timeout_in_seconds")
502
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
503
+ else self._client_wrapper.get_timeout(),
504
+ retries=0,
505
+ max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
506
+ )
507
+ if 200 <= _response.status_code < 300:
508
+ return
509
+ try:
510
+ _response_json = _response.json()
511
+ except JSONDecodeError:
512
+ raise ApiError(status_code=_response.status_code, body=_response.text)
513
+ raise ApiError(status_code=_response.status_code, body=_response_json)
514
+
461
515
 
462
516
  class AsyncDocumentIndexesClient:
463
517
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
@@ -694,10 +748,10 @@ class AsyncDocumentIndexesClient:
694
748
  request_options: typing.Optional[RequestOptions] = None,
695
749
  ) -> DocumentIndexRead:
696
750
  """
697
- Used to fully update a Document Index given its ID.
751
+ Used to fully update a Document Index given its ID or name.
698
752
 
699
753
  Parameters:
700
- - id: str. A UUID string identifying this document index.
754
+ - id: str. Either the Document Index's ID or its unique name
701
755
 
702
756
  - label: str. A human-readable label for the document index
703
757
 
@@ -767,10 +821,10 @@ class AsyncDocumentIndexesClient:
767
821
 
768
822
  async def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
769
823
  """
770
- Used to delete a Document Index given its ID.
824
+ Used to delete a Document Index given its ID or name.
771
825
 
772
826
  Parameters:
773
- - id: str. A UUID string identifying this document index.
827
+ - id: str. Either the Document Index's ID or its unique name
774
828
 
775
829
  - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
776
830
  ---
@@ -823,10 +877,10 @@ class AsyncDocumentIndexesClient:
823
877
  request_options: typing.Optional[RequestOptions] = None,
824
878
  ) -> DocumentIndexRead:
825
879
  """
826
- Used to partial update a Document Index given its ID.
880
+ Used to partial update a Document Index given its ID or name.
827
881
 
828
882
  Parameters:
829
- - id: str. A UUID string identifying this document index.
883
+ - id: str. Either the Document Index's ID or its unique name
830
884
 
831
885
  - label: typing.Optional[str]. A human-readable label for the document index
832
886
 
@@ -895,3 +949,57 @@ class AsyncDocumentIndexesClient:
895
949
  except JSONDecodeError:
896
950
  raise ApiError(status_code=_response.status_code, body=_response.text)
897
951
  raise ApiError(status_code=_response.status_code, body=_response_json)
952
+
953
+ async def remove_document(
954
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
955
+ ) -> None:
956
+ """
957
+ Removes a Document from a Document Index without deleting the Document itself.
958
+
959
+ Parameters:
960
+ - document_id: str. Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
961
+
962
+ - id: str. Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
963
+
964
+ - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
965
+ ---
966
+ from vellum.client import AsyncVellum
967
+
968
+ client = AsyncVellum(
969
+ api_key="YOUR_API_KEY",
970
+ )
971
+ await client.document_indexes.remove_document(
972
+ document_id="document_id",
973
+ id="id",
974
+ )
975
+ """
976
+ _response = await self._client_wrapper.httpx_client.request(
977
+ method="DELETE",
978
+ url=urllib.parse.urljoin(
979
+ f"{self._client_wrapper.get_environment().default}/",
980
+ f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
981
+ ),
982
+ params=jsonable_encoder(
983
+ request_options.get("additional_query_parameters") if request_options is not None else None
984
+ ),
985
+ headers=jsonable_encoder(
986
+ remove_none_from_dict(
987
+ {
988
+ **self._client_wrapper.get_headers(),
989
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
990
+ }
991
+ )
992
+ ),
993
+ timeout=request_options.get("timeout_in_seconds")
994
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
995
+ else self._client_wrapper.get_timeout(),
996
+ retries=0,
997
+ max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
998
+ )
999
+ if 200 <= _response.status_code < 300:
1000
+ return
1001
+ try:
1002
+ _response_json = _response.json()
1003
+ except JSONDecodeError:
1004
+ raise ApiError(status_code=_response.status_code, body=_response.text)
1005
+ raise ApiError(status_code=_response.status_code, body=_response_json)
@@ -100,6 +100,7 @@ class TestSuitesClient:
100
100
  id: str,
101
101
  *,
102
102
  upsert_test_suite_test_case_request_id: typing.Optional[str] = OMIT,
103
+ external_id: typing.Optional[str] = OMIT,
103
104
  label: typing.Optional[str] = OMIT,
104
105
  input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
105
106
  evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
@@ -117,9 +118,11 @@ class TestSuitesClient:
117
118
  Parameters:
118
119
  - id: str. A UUID string identifying this test suite.
119
120
 
120
- - upsert_test_suite_test_case_request_id: typing.Optional[str]. The ID of the Test Case to upsert. If specified and a match is found, the existing Test Case will be updated. If specified and no match is found, a Test Case will be created with the provided ID. If not provided, a new Test Case will be created with an auto-generated ID.
121
+ - upsert_test_suite_test_case_request_id: typing.Optional[str]. The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
121
122
 
122
- - label: typing.Optional[str].
123
+ - external_id: typing.Optional[str]. An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
124
+
125
+ - label: typing.Optional[str]. A human-readable label used to convey the intention of this Test Case
123
126
 
124
127
  - input_values: typing.Sequence[NamedTestCaseVariableValueRequest]. Values for each of the Test Case's input variables
125
128
 
@@ -141,6 +144,8 @@ class TestSuitesClient:
141
144
  _request: typing.Dict[str, typing.Any] = {"input_values": input_values, "evaluation_values": evaluation_values}
142
145
  if upsert_test_suite_test_case_request_id is not OMIT:
143
146
  _request["id"] = upsert_test_suite_test_case_request_id
147
+ if external_id is not OMIT:
148
+ _request["external_id"] = external_id
144
149
  if label is not OMIT:
145
150
  _request["label"] = label
146
151
  _response = self._client_wrapper.httpx_client.request(
@@ -198,7 +203,7 @@ class TestSuitesClient:
198
203
  - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
199
204
  ---
200
205
  from vellum import (
201
- BulkCreateTestSuiteTestCaseDataRequest,
206
+ CreateTestSuiteTestCaseRequest,
202
207
  NamedTestCaseVariableValueRequest_String,
203
208
  TestSuiteTestCaseBulkOperationRequest_Create,
204
209
  )
@@ -212,10 +217,11 @@ class TestSuitesClient:
212
217
  request=[
213
218
  TestSuiteTestCaseBulkOperationRequest_Create(
214
219
  id="string",
215
- data=BulkCreateTestSuiteTestCaseDataRequest(
220
+ data=CreateTestSuiteTestCaseRequest(
216
221
  label="string",
217
222
  input_values=[NamedTestCaseVariableValueRequest_String()],
218
223
  evaluation_values=[NamedTestCaseVariableValueRequest_String()],
224
+ external_id="string",
219
225
  ),
220
226
  )
221
227
  ],
@@ -397,6 +403,7 @@ class AsyncTestSuitesClient:
397
403
  id: str,
398
404
  *,
399
405
  upsert_test_suite_test_case_request_id: typing.Optional[str] = OMIT,
406
+ external_id: typing.Optional[str] = OMIT,
400
407
  label: typing.Optional[str] = OMIT,
401
408
  input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
402
409
  evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
@@ -414,9 +421,11 @@ class AsyncTestSuitesClient:
414
421
  Parameters:
415
422
  - id: str. A UUID string identifying this test suite.
416
423
 
417
- - upsert_test_suite_test_case_request_id: typing.Optional[str]. The ID of the Test Case to upsert. If specified and a match is found, the existing Test Case will be updated. If specified and no match is found, a Test Case will be created with the provided ID. If not provided, a new Test Case will be created with an auto-generated ID.
424
+ - upsert_test_suite_test_case_request_id: typing.Optional[str]. The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
425
+
426
+ - external_id: typing.Optional[str]. An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
418
427
 
419
- - label: typing.Optional[str].
428
+ - label: typing.Optional[str]. A human-readable label used to convey the intention of this Test Case
420
429
 
421
430
  - input_values: typing.Sequence[NamedTestCaseVariableValueRequest]. Values for each of the Test Case's input variables
422
431
 
@@ -438,6 +447,8 @@ class AsyncTestSuitesClient:
438
447
  _request: typing.Dict[str, typing.Any] = {"input_values": input_values, "evaluation_values": evaluation_values}
439
448
  if upsert_test_suite_test_case_request_id is not OMIT:
440
449
  _request["id"] = upsert_test_suite_test_case_request_id
450
+ if external_id is not OMIT:
451
+ _request["external_id"] = external_id
441
452
  if label is not OMIT:
442
453
  _request["label"] = label
443
454
  _response = await self._client_wrapper.httpx_client.request(
@@ -495,7 +506,7 @@ class AsyncTestSuitesClient:
495
506
  - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
496
507
  ---
497
508
  from vellum import (
498
- BulkCreateTestSuiteTestCaseDataRequest,
509
+ CreateTestSuiteTestCaseRequest,
499
510
  NamedTestCaseVariableValueRequest_String,
500
511
  TestSuiteTestCaseBulkOperationRequest_Create,
501
512
  )
@@ -509,10 +520,11 @@ class AsyncTestSuitesClient:
509
520
  request=[
510
521
  TestSuiteTestCaseBulkOperationRequest_Create(
511
522
  id="string",
512
- data=BulkCreateTestSuiteTestCaseDataRequest(
523
+ data=CreateTestSuiteTestCaseRequest(
513
524
  label="string",
514
525
  input_values=[NamedTestCaseVariableValueRequest_String()],
515
526
  evaluation_values=[NamedTestCaseVariableValueRequest_String()],
527
+ external_id="string",
516
528
  ),
517
529
  )
518
530
  ],
vellum/types/__init__.py CHANGED
@@ -50,8 +50,6 @@ from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1 import
50
50
  from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request import (
51
51
  BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
52
52
  )
53
- from .bulk_create_test_suite_test_case_data_request import BulkCreateTestSuiteTestCaseDataRequest
54
- from .bulk_replace_test_suite_test_case_data_request import BulkReplaceTestSuiteTestCaseDataRequest
55
53
  from .chat_history_enum import ChatHistoryEnum
56
54
  from .chat_history_input_request import ChatHistoryInputRequest
57
55
  from .chat_message import ChatMessage
@@ -95,10 +93,12 @@ from .code_execution_node_string_result import CodeExecutionNodeStringResult
95
93
  from .conditional_node_result import ConditionalNodeResult
96
94
  from .conditional_node_result_data import ConditionalNodeResultData
97
95
  from .create_enum import CreateEnum
96
+ from .create_test_suite_test_case_request import CreateTestSuiteTestCaseRequest
98
97
  from .created_enum import CreatedEnum
99
98
  from .delete_enum import DeleteEnum
100
99
  from .deleted_enum import DeletedEnum
101
100
  from .deployment_provider_payload_response import DeploymentProviderPayloadResponse
101
+ from .deployment_provider_payload_response_payload import DeploymentProviderPayloadResponsePayload
102
102
  from .deployment_read import DeploymentRead
103
103
  from .deployment_release_tag_deployment_history_item import DeploymentReleaseTagDeploymentHistoryItem
104
104
  from .deployment_release_tag_read import DeploymentReleaseTagRead
@@ -236,6 +236,9 @@ from .json_variable_value import JsonVariableValue
236
236
  from .json_vellum_value import JsonVellumValue
237
237
  from .logical_operator import LogicalOperator
238
238
  from .logprobs_enum import LogprobsEnum
239
+ from .map_enum import MapEnum
240
+ from .map_node_result import MapNodeResult
241
+ from .map_node_result_data import MapNodeResultData
239
242
  from .merge_enum import MergeEnum
240
243
  from .merge_node_result import MergeNodeResult
241
244
  from .metadata_filter_config_request import MetadataFilterConfigRequest
@@ -378,6 +381,7 @@ from .rejected_prompt_execution_meta import RejectedPromptExecutionMeta
378
381
  from .rejected_workflow_node_result_event import RejectedWorkflowNodeResultEvent
379
382
  from .release_tag_source import ReleaseTagSource
380
383
  from .replace_enum import ReplaceEnum
384
+ from .replace_test_suite_test_case_request import ReplaceTestSuiteTestCaseRequest
381
385
  from .replaced_enum import ReplacedEnum
382
386
  from .sandbox_scenario import SandboxScenario
383
387
  from .scenario_input import ScenarioInput, ScenarioInput_ChatHistory, ScenarioInput_String
@@ -614,6 +618,7 @@ from .workflow_node_result_data import (
614
618
  WorkflowNodeResultData_Api,
615
619
  WorkflowNodeResultData_CodeExecution,
616
620
  WorkflowNodeResultData_Conditional,
621
+ WorkflowNodeResultData_Map,
617
622
  WorkflowNodeResultData_Merge,
618
623
  WorkflowNodeResultData_Metric,
619
624
  WorkflowNodeResultData_Prompt,
@@ -721,8 +726,6 @@ __all__ = [
721
726
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request",
722
727
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1",
723
728
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request",
724
- "BulkCreateTestSuiteTestCaseDataRequest",
725
- "BulkReplaceTestSuiteTestCaseDataRequest",
726
729
  "ChatHistoryEnum",
727
730
  "ChatHistoryInputRequest",
728
731
  "ChatMessage",
@@ -760,10 +763,12 @@ __all__ = [
760
763
  "ConditionalNodeResult",
761
764
  "ConditionalNodeResultData",
762
765
  "CreateEnum",
766
+ "CreateTestSuiteTestCaseRequest",
763
767
  "CreatedEnum",
764
768
  "DeleteEnum",
765
769
  "DeletedEnum",
766
770
  "DeploymentProviderPayloadResponse",
771
+ "DeploymentProviderPayloadResponsePayload",
767
772
  "DeploymentRead",
768
773
  "DeploymentReleaseTagDeploymentHistoryItem",
769
774
  "DeploymentReleaseTagRead",
@@ -885,6 +890,9 @@ __all__ = [
885
890
  "JsonVellumValue",
886
891
  "LogicalOperator",
887
892
  "LogprobsEnum",
893
+ "MapEnum",
894
+ "MapNodeResult",
895
+ "MapNodeResultData",
888
896
  "MergeEnum",
889
897
  "MergeNodeResult",
890
898
  "MetadataFilterConfigRequest",
@@ -1013,6 +1021,7 @@ __all__ = [
1013
1021
  "RejectedWorkflowNodeResultEvent",
1014
1022
  "ReleaseTagSource",
1015
1023
  "ReplaceEnum",
1024
+ "ReplaceTestSuiteTestCaseRequest",
1016
1025
  "ReplacedEnum",
1017
1026
  "SandboxScenario",
1018
1027
  "ScenarioInput",
@@ -1226,6 +1235,7 @@ __all__ = [
1226
1235
  "WorkflowNodeResultData_Api",
1227
1236
  "WorkflowNodeResultData_CodeExecution",
1228
1237
  "WorkflowNodeResultData_Conditional",
1238
+ "WorkflowNodeResultData_Map",
1229
1239
  "WorkflowNodeResultData_Merge",
1230
1240
  "WorkflowNodeResultData_Metric",
1231
1241
  "WorkflowNodeResultData_Prompt",
@@ -8,12 +8,16 @@ from ..core.pydantic_utilities import pydantic_v1
8
8
  from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
9
9
 
10
10
 
11
- class BulkCreateTestSuiteTestCaseDataRequest(pydantic_v1.BaseModel):
11
+ class CreateTestSuiteTestCaseRequest(pydantic_v1.BaseModel):
12
12
  """
13
13
  Information about the Test Case to create
14
14
  """
15
15
 
16
- label: typing.Optional[str] = None
16
+ label: typing.Optional[str] = pydantic_v1.Field(default=None)
17
+ """
18
+ A human-readable label used to convey the intention of this Test Case
19
+ """
20
+
17
21
  input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic_v1.Field()
18
22
  """
19
23
  Values for each of the Test Case's input variables
@@ -24,6 +28,11 @@ class BulkCreateTestSuiteTestCaseDataRequest(pydantic_v1.BaseModel):
24
28
  Values for each of the Test Case's evaluation variables
25
29
  """
26
30
 
31
+ external_id: typing.Optional[str] = pydantic_v1.Field(default=None)
32
+ """
33
+ Optionally provide an ID that uniquely identifies this Test Case in your system. Useful for updating this Test Cases data after initial creation. Cannot be changed later.
34
+ """
35
+
27
36
  def json(self, **kwargs: typing.Any) -> str:
28
37
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
29
38
  return super().json(**kwargs_with_defaults)
@@ -5,10 +5,11 @@ import typing
5
5
 
6
6
  from ..core.datetime_utils import serialize_datetime
7
7
  from ..core.pydantic_utilities import pydantic_v1
8
+ from .deployment_provider_payload_response_payload import DeploymentProviderPayloadResponsePayload
8
9
 
9
10
 
10
11
  class DeploymentProviderPayloadResponse(pydantic_v1.BaseModel):
11
- payload: typing.Dict[str, typing.Any]
12
+ payload: DeploymentProviderPayloadResponsePayload
12
13
 
13
14
  def json(self, **kwargs: typing.Any) -> str:
14
15
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ DeploymentProviderPayloadResponsePayload = typing.Union[typing.Dict[str, typing.Any], str]
@@ -5,17 +5,21 @@ import typing
5
5
 
6
6
  from ..core.datetime_utils import serialize_datetime
7
7
  from ..core.pydantic_utilities import pydantic_v1
8
- from .array_variable_value_item import ArrayVariableValueItem
8
+ from .array_vellum_value_item import ArrayVellumValueItem
9
9
 
10
10
 
11
11
  class ExecutionArrayVellumValue(pydantic_v1.BaseModel):
12
+ """
13
+ A value representing an array of Vellum variable values.
14
+ """
15
+
12
16
  id: str = pydantic_v1.Field()
13
17
  """
14
18
  The variable's uniquely identifying internal id.
15
19
  """
16
20
 
17
21
  name: str
18
- value: typing.Optional[typing.List[ArrayVariableValueItem]] = None
22
+ value: typing.Optional[typing.List[ArrayVellumValueItem]] = None
19
23
 
20
24
  def json(self, **kwargs: typing.Any) -> str:
21
25
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -9,6 +9,10 @@ from .chat_message import ChatMessage
9
9
 
10
10
 
11
11
  class ExecutionChatHistoryVellumValue(pydantic_v1.BaseModel):
12
+ """
13
+ A value representing Chat History.
14
+ """
15
+
12
16
  id: str = pydantic_v1.Field()
13
17
  """
14
18
  The variable's uniquely identifying internal id.
@@ -9,6 +9,10 @@ from .vellum_error import VellumError
9
9
 
10
10
 
11
11
  class ExecutionErrorVellumValue(pydantic_v1.BaseModel):
12
+ """
13
+ A value representing an Error.
14
+ """
15
+
12
16
  id: str = pydantic_v1.Field()
13
17
  """
14
18
  The variable's uniquely identifying internal id.
@@ -9,6 +9,10 @@ from .function_call import FunctionCall
9
9
 
10
10
 
11
11
  class ExecutionFunctionCallVellumValue(pydantic_v1.BaseModel):
12
+ """
13
+ A value representing a Function Call.
14
+ """
15
+
12
16
  id: str = pydantic_v1.Field()
13
17
  """
14
18
  The variable's uniquely identifying internal id.
@@ -8,6 +8,10 @@ from ..core.pydantic_utilities import pydantic_v1
8
8
 
9
9
 
10
10
  class ExecutionJsonVellumValue(pydantic_v1.BaseModel):
11
+ """
12
+ A value representing a JSON object.
13
+ """
14
+
11
15
  id: str = pydantic_v1.Field()
12
16
  """
13
17
  The variable's uniquely identifying internal id.
@@ -8,6 +8,10 @@ from ..core.pydantic_utilities import pydantic_v1
8
8
 
9
9
 
10
10
  class ExecutionNumberVellumValue(pydantic_v1.BaseModel):
11
+ """
12
+ A value representing a number.
13
+ """
14
+
11
15
  id: str = pydantic_v1.Field()
12
16
  """
13
17
  The variable's uniquely identifying internal id.
@@ -9,6 +9,10 @@ from .search_result import SearchResult
9
9
 
10
10
 
11
11
  class ExecutionSearchResultsVellumValue(pydantic_v1.BaseModel):
12
+ """
13
+ A value representing Search Results.
14
+ """
15
+
12
16
  id: str = pydantic_v1.Field()
13
17
  """
14
18
  The variable's uniquely identifying internal id.
@@ -8,6 +8,10 @@ from ..core.pydantic_utilities import pydantic_v1
8
8
 
9
9
 
10
10
  class ExecutionStringVellumValue(pydantic_v1.BaseModel):
11
+ """
12
+ A value representing a string.
13
+ """
14
+
11
15
  id: str = pydantic_v1.Field()
12
16
  """
13
17
  The variable's uniquely identifying internal id.
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ MapEnum = typing.Literal["MAP"]
@@ -0,0 +1,30 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import pydantic_v1
8
+ from .map_node_result_data import MapNodeResultData
9
+
10
+
11
+ class MapNodeResult(pydantic_v1.BaseModel):
12
+ """
13
+ A Node Result Event emitted from a Map Node.
14
+ """
15
+
16
+ data: typing.Optional[MapNodeResultData] = None
17
+
18
+ def json(self, **kwargs: typing.Any) -> str:
19
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
20
+ return super().json(**kwargs_with_defaults)
21
+
22
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
23
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
24
+ return super().dict(**kwargs_with_defaults)
25
+
26
+ class Config:
27
+ frozen = True
28
+ smart_union = True
29
+ extra = pydantic_v1.Extra.allow
30
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import pydantic_v1
8
+
9
+
10
+ class MapNodeResultData(pydantic_v1.BaseModel):
11
+ execution_ids: typing.List[str]
12
+
13
+ def json(self, **kwargs: typing.Any) -> str:
14
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
15
+ return super().json(**kwargs_with_defaults)
16
+
17
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
18
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
19
+ return super().dict(**kwargs_with_defaults)
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic_v1.Extra.allow
25
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -8,17 +8,26 @@ from ..core.pydantic_utilities import pydantic_v1
8
8
  from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
9
9
 
10
10
 
11
- class BulkReplaceTestSuiteTestCaseDataRequest(pydantic_v1.BaseModel):
11
+ class ReplaceTestSuiteTestCaseRequest(pydantic_v1.BaseModel):
12
12
  """
13
13
  Information about the Test Case to replace
14
14
  """
15
15
 
16
- id: str = pydantic_v1.Field()
16
+ id: typing.Optional[str] = pydantic_v1.Field(default=None)
17
17
  """
18
- The ID of the Test Case to replace.
18
+ The Vellum-generated ID of the Test Case whose data you'd like to replace. Must specify either this or external_id.
19
+ """
20
+
21
+ external_id: typing.Optional[str] = pydantic_v1.Field(default=None)
22
+ """
23
+ The ID that was originally provided upon Test Case creation that uniquely identifies the Test Case whose data you'd like to replace. Must specify either this of id.
24
+ """
25
+
26
+ label: typing.Optional[str] = pydantic_v1.Field(default=None)
27
+ """
28
+ A human-readable label used to convey the intention of this Test Case
19
29
  """
20
30
 
21
- label: typing.Optional[str] = None
22
31
  input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic_v1.Field()
23
32
  """
24
33
  Values for each of the Test Case's input variables
@@ -9,7 +9,7 @@ from .search_result_meta_source import SearchResultMetaSource
9
9
 
10
10
 
11
11
  class SearchResultMeta(pydantic_v1.BaseModel):
12
- source: SearchResultMetaSource
12
+ source: typing.Optional[SearchResultMetaSource] = None
13
13
 
14
14
  def json(self, **kwargs: typing.Any) -> str:
15
15
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -9,7 +9,7 @@ from .search_result_meta_source_request import SearchResultMetaSourceRequest
9
9
 
10
10
 
11
11
  class SearchResultMetaRequest(pydantic_v1.BaseModel):
12
- source: SearchResultMetaSourceRequest
12
+ source: typing.Optional[SearchResultMetaSourceRequest] = None
13
13
 
14
14
  def json(self, **kwargs: typing.Any) -> str:
15
15
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -10,6 +10,7 @@ from .test_case_variable_value import TestCaseVariableValue
10
10
 
11
11
  class TestSuiteTestCase(pydantic_v1.BaseModel):
12
12
  id: typing.Optional[str] = None
13
+ external_id: typing.Optional[str] = None
13
14
  label: typing.Optional[str] = None
14
15
  input_values: typing.List[TestCaseVariableValue]
15
16
  evaluation_values: typing.List[TestCaseVariableValue]
@@ -5,7 +5,7 @@ import typing
5
5
 
6
6
  from ..core.datetime_utils import serialize_datetime
7
7
  from ..core.pydantic_utilities import pydantic_v1
8
- from .bulk_create_test_suite_test_case_data_request import BulkCreateTestSuiteTestCaseDataRequest
8
+ from .create_test_suite_test_case_request import CreateTestSuiteTestCaseRequest
9
9
 
10
10
 
11
11
  class TestSuiteTestCaseCreateBulkOperationRequest(pydantic_v1.BaseModel):
@@ -18,7 +18,7 @@ class TestSuiteTestCaseCreateBulkOperationRequest(pydantic_v1.BaseModel):
18
18
  An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
19
19
  """
20
20
 
21
- data: BulkCreateTestSuiteTestCaseDataRequest
21
+ data: CreateTestSuiteTestCaseRequest
22
22
 
23
23
  def json(self, **kwargs: typing.Any) -> str:
24
24
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -5,7 +5,7 @@ import typing
5
5
 
6
6
  from ..core.datetime_utils import serialize_datetime
7
7
  from ..core.pydantic_utilities import pydantic_v1
8
- from .bulk_replace_test_suite_test_case_data_request import BulkReplaceTestSuiteTestCaseDataRequest
8
+ from .replace_test_suite_test_case_request import ReplaceTestSuiteTestCaseRequest
9
9
 
10
10
 
11
11
  class TestSuiteTestCaseReplaceBulkOperationRequest(pydantic_v1.BaseModel):
@@ -18,7 +18,7 @@ class TestSuiteTestCaseReplaceBulkOperationRequest(pydantic_v1.BaseModel):
18
18
  An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
19
19
  """
20
20
 
21
- data: BulkReplaceTestSuiteTestCaseDataRequest
21
+ data: ReplaceTestSuiteTestCaseRequest
22
22
 
23
23
  def json(self, **kwargs: typing.Any) -> str:
24
24
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -7,6 +7,7 @@ import typing
7
7
  from .api_node_result import ApiNodeResult
8
8
  from .code_execution_node_result import CodeExecutionNodeResult
9
9
  from .conditional_node_result import ConditionalNodeResult
10
+ from .map_node_result import MapNodeResult
10
11
  from .merge_node_result import MergeNodeResult
11
12
  from .metric_node_result import MetricNodeResult
12
13
  from .prompt_node_result import PromptNodeResult
@@ -116,6 +117,16 @@ class WorkflowNodeResultData_Metric(MetricNodeResult):
116
117
  populate_by_name = True
117
118
 
118
119
 
120
+ class WorkflowNodeResultData_Map(MapNodeResult):
121
+ type: typing.Literal["MAP"] = "MAP"
122
+
123
+ class Config:
124
+ frozen = True
125
+ smart_union = True
126
+ allow_population_by_field_name = True
127
+ populate_by_name = True
128
+
129
+
119
130
  WorkflowNodeResultData = typing.Union[
120
131
  WorkflowNodeResultData_Prompt,
121
132
  WorkflowNodeResultData_Search,
@@ -127,4 +138,5 @@ WorkflowNodeResultData = typing.Union[
127
138
  WorkflowNodeResultData_Merge,
128
139
  WorkflowNodeResultData_Subworkflow,
129
140
  WorkflowNodeResultData_Metric,
141
+ WorkflowNodeResultData_Map,
130
142
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.6.6
3
+ Version: 0.6.8
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Programming Language :: Python :: 3
@@ -1,8 +1,8 @@
1
- vellum/__init__.py,sha256=Gu91YntxNpNqfin3Nksl7cQnB-JxuOX65CVPClG-Wo4,45407
1
+ vellum/__init__.py,sha256=G55NRop_hz8IpafXnIM326D0I9YSBsQJLtzBNgoVNDM,45651
2
2
  vellum/client.py,sha256=FklbOzCaDTPP_EQn0HJXUq1_ZFOHuSePt6_nVQ_YLgY,97463
3
3
  vellum/core/__init__.py,sha256=1pNSKkwyQvMl_F0wohBqmoQAITptg3zlvCwsoSSzy7c,853
4
4
  vellum/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
5
- vellum/core/client_wrapper.py,sha256=atwV8644mcBgTajVkL1azFJjenaU8WVxc0OOXZo459A,1697
5
+ vellum/core/client_wrapper.py,sha256=q4MSX71tkX6HJqK9iZFBghW2ykYtsMzuw8Vm2U6njxo,1697
6
6
  vellum/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
7
7
  vellum/core/file.py,sha256=sy1RUGZ3aJYuw998bZytxxo6QdgKmlnlgBaMvwEKCGg,1480
8
8
  vellum/core/http_client.py,sha256=5ok6hqgZDJhg57EHvMnr0BBaHdG50QxFPKaCZ9aVWTc,5059
@@ -32,7 +32,7 @@ vellum/resources/deployments/client.py,sha256=p-n2k6RQIwNBDm9dU-wE6pI0kRhNjQiARB
32
32
  vellum/resources/deployments/types/__init__.py,sha256=IhwnmoXJ0r_QEhh1b2tBcaAm_x3fWMVuIhYmAapp_ZA,183
33
33
  vellum/resources/deployments/types/deployments_list_request_status.py,sha256=CxlQD16KZXme7x31YYCe_3aAgEueutDTeJo5A4Au-aU,174
34
34
  vellum/resources/document_indexes/__init__.py,sha256=YpOl_9IV7xOlH4OmusQxtAJB11kxQfCSMDyT1_UD0oM,165
35
- vellum/resources/document_indexes/client.py,sha256=ps7XrRmNptUsS4aZGlyhLVg_jWqjzC0JN2wGxinoFXI,40388
35
+ vellum/resources/document_indexes/client.py,sha256=DgJn_ZpIt-WY8OR3P3sCQ_x7FVtQ5WVj_TR1t9PwDf0,45370
36
36
  vellum/resources/document_indexes/types/__init__.py,sha256=IoFqKHN_VBdEhC7VL8_6Jbatrn0e0zuYEJAJUahcUR0,196
37
37
  vellum/resources/document_indexes/types/document_indexes_list_request_status.py,sha256=sfUEB0cvOSmlE2iITqnMVyHv05Zy2fWP4QjCIYqMg0M,178
38
38
  vellum/resources/documents/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
@@ -44,7 +44,7 @@ vellum/resources/sandboxes/client.py,sha256=Lm45GGIRSODx5WJbyXP3ThR3FB8QSPajMWiq
44
44
  vellum/resources/test_suite_runs/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
45
45
  vellum/resources/test_suite_runs/client.py,sha256=LOcjVwBAgQF__yEGvsbZpjBhefGtLL1vnSqJ1K3uly0,18728
46
46
  vellum/resources/test_suites/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
47
- vellum/resources/test_suites/client.py,sha256=-2c6_FPv0Hh-cni3vDpXb26JJAcW8p1hGXpyYfjs0WM,27268
47
+ vellum/resources/test_suites/client.py,sha256=4BSlNgX_4H3avMfW8zs1nTJH1bURSwIzOJtB2wO92JY,28338
48
48
  vellum/resources/workflow_deployments/__init__.py,sha256=-5BCA0kSmW6WUh4gqLuQtHv4zFdt9lccuDwMU5YvEu4,173
49
49
  vellum/resources/workflow_deployments/client.py,sha256=Oal32DF472B46CBWkb8GgDonjyAFQ28hHV5lq4DF1AM,22437
50
50
  vellum/resources/workflow_deployments/types/__init__.py,sha256=rmS_4dtbgLHGNQJ_pOloygrjl4sNbKZjTEKBxbMyz6E,208
@@ -60,7 +60,7 @@ vellum/terraform/document_index/__init__.py,sha256=qq2zENI22bUvqGk_a1lmsoTr5O_xC
60
60
  vellum/terraform/provider/__init__.py,sha256=K1yLlTZkYBxhD4bhUV1v23hxDGgbfsAIGsSyeB54dNQ,10298
61
61
  vellum/terraform/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
62
62
  vellum/terraform/versions.json,sha256=STW6Mg3BKDacFmbWHXziHxE90GWncZf4AIzCLiXm_7o,56
63
- vellum/types/__init__.py,sha256=-vziB5tUZm3fLSs-t0zN8mHg3oQVV7J6F5e6SkUg1Lo,60913
63
+ vellum/types/__init__.py,sha256=CmRjPmzpzRtCbzM5bjZk_dd3S3Gcz2SCFRuUt1PIwKA,61260
64
64
  vellum/types/add_openai_api_key_enum.py,sha256=GB7sLK_Ou7-Xn73sKJHUo6Gx3TjyhU7uJvWZAg4UeaI,92
65
65
  vellum/types/api_node_result.py,sha256=SvYIi1T-N_P3FVjzv9I91PaCT0IN958A3easp5Q7jqE,983
66
66
  vellum/types/api_node_result_data.py,sha256=KFBmmizcEg73GwQMXUtEdJ4e9YGFpRLYAnalwxIcDug,1161
@@ -77,8 +77,6 @@ vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.
77
77
  vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py,sha256=grnDm5vh1wofvXLCQVUfA2wYYFce03hRGHCECNFJ7kk,1043
78
78
  vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py,sha256=HbB1bJpoUuRt-orgOThdrcB0RiBTNHVuTBOehitN3tQ,1036
79
79
  vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py,sha256=0N_YrysJ-HVPBaUDD56V1Fxu1aZQJNMt7O6heY-Z5hY,1043
80
- vellum/types/bulk_create_test_suite_test_case_data_request.py,sha256=hY6n2s-bmZrxR3Nyb2xhetqRNkYbH7BK-cAxz44VBPs,1376
81
- vellum/types/bulk_replace_test_suite_test_case_data_request.py,sha256=d_SQFs_wCcBbAo31ze9xGZixSegw6nDQqs0VbIcJf6g,1469
82
80
  vellum/types/chat_history_enum.py,sha256=etXbSJGuOjEcYXyCoQEw0bd9sfbZZNctMQyFoCdnywM,129
83
81
  vellum/types/chat_history_input_request.py,sha256=iBqK5uT7wzR2C9TPvtQfugUeL1-4kOg_KQAc7fWYpnk,1121
84
82
  vellum/types/chat_message.py,sha256=jROO5ASj_l0MoGGmno1TCUP7aMLIk48miMDWHpKUn_w,1213
@@ -100,10 +98,12 @@ vellum/types/code_execution_node_string_result.py,sha256=w_FeNnHyjpc-bjXPKBxHywO
100
98
  vellum/types/conditional_node_result.py,sha256=mR8FHOnTwLDO8U5uVNB2SkDrJSDRkcyLqXPSSL8Dil4,1022
101
99
  vellum/types/conditional_node_result_data.py,sha256=BoSK8B_qDx-CztZw5qwl2Gk0Ow56gifNu2Ahg-P15iE,898
102
100
  vellum/types/create_enum.py,sha256=38jp66mStym6pDxoXS4z6y7bfArh1jgjjV8xgf4KBBw,118
101
+ vellum/types/create_test_suite_test_case_request.py,sha256=10jAv5EDKNFcS42q_oggcnlzKQIZlPaqwu3eT8xswWM,1750
103
102
  vellum/types/created_enum.py,sha256=_dfKJhEenYcIUYY1uKQuq1uNS3k9HbPGCxXnW-Tu5uo,120
104
103
  vellum/types/delete_enum.py,sha256=g6Rnc2pbgXkEbqhG0Bx1z-ZGr4DMkb8QK8du9dQQcpQ,118
105
104
  vellum/types/deleted_enum.py,sha256=F7VTcnxIkXrwyQr5CjGikBbCnlo6To_rP0pibWm-ioo,120
106
- vellum/types/deployment_provider_payload_response.py,sha256=nEw7v0EVo3NgKDVtsBMjd9XLWmFAGk59U1Z-qSs-Stc,898
105
+ vellum/types/deployment_provider_payload_response.py,sha256=Y1gNhvAKlreRXchZZpX_5QHCu9Tbs887E6_Ghs3Dlbg,1009
106
+ vellum/types/deployment_provider_payload_response_payload.py,sha256=Jpu_z0WZ0Uu0Xu5h77GrNNAjP1R8pn4K-aHJPqk8c50,171
107
107
  vellum/types/deployment_read.py,sha256=Ob9ArdqKJb5vjRx26hX_iOnPF2MwtBYxB5xx2LVNbEk,2100
108
108
  vellum/types/deployment_release_tag_deployment_history_item.py,sha256=997C-J0NOEvOm7Y_dyyaqYvKMIEHCDj0JEpAcmOjOEQ,903
109
109
  vellum/types/deployment_release_tag_read.py,sha256=o0X8dMSqajT3-lEnLk9tRb8PRhs3l3M4iBM7CX9316c,1432
@@ -128,14 +128,14 @@ vellum/types/execute_workflow_error_response.py,sha256=r1Wpm5b6ujV3X1BNHVHXQ2hrn
128
128
  vellum/types/execute_workflow_response.py,sha256=O6f_Ow0yhGxlPcDyGHt53UAHxjfEQLXeuowovniDSmU,1085
129
129
  vellum/types/execute_workflow_stream_error_response.py,sha256=xDmKmS3wYFngxJJiE7AEhYxoU4tRTOf1jtWV-9n2zX4,953
130
130
  vellum/types/execute_workflow_workflow_result_event.py,sha256=1UIAqBeCGkOSw_x62mtuGMZYCRCNCMbUqT1DlTMjVsc,1067
131
- vellum/types/execution_array_vellum_value.py,sha256=KrhtwHmJhA_HaJ8T50xXes1Eiwzbqd5U0uNcu6t3pAU,1099
132
- vellum/types/execution_chat_history_vellum_value.py,sha256=cexvJOYOIsPH-Cr2HZ66SS6ita8FiPun0iLbpcbnS5A,1070
133
- vellum/types/execution_error_vellum_value.py,sha256=J_26__AYVeRop3O1v2DeF-gfWqVNtgEU94qFTahEj80,1051
134
- vellum/types/execution_function_call_vellum_value.py,sha256=SLPxk3s06Fwpd4lorCyiYWseHIK_rclGdaAxC7P8tes,1061
135
- vellum/types/execution_json_vellum_value.py,sha256=X3Pd3_Y59OLHfYgBK0GlVgwFRGt2SQ7x_gtcYZlvS0k,1029
136
- vellum/types/execution_number_vellum_value.py,sha256=xa5L8rZd4Qm4kzr-TXULoYFDJMIgzZqeAJ9OKwPi840,1008
137
- vellum/types/execution_search_results_vellum_value.py,sha256=8yV87Ldlj9dxIgUfNhtq4ny2-aUCHb6WyOl4m7rz5gI,1075
138
- vellum/types/execution_string_vellum_value.py,sha256=Llvb_swUejbBFXGJiyoDjp91-pr90-erHdMxsnGIqXQ,1006
131
+ vellum/types/execution_array_vellum_value.py,sha256=X0JpS0El85UmLBg06WNSd_DdX0YD5cYUgcoedq7F7u8,1171
132
+ vellum/types/execution_chat_history_vellum_value.py,sha256=_Ek5MlnLvtc1icgzWZOGDaZRgS8ELpOZjHFLH864EYU,1126
133
+ vellum/types/execution_error_vellum_value.py,sha256=o3R_AbSA9FDwNfi6Wd1cZoBclfRILhJQ08IcYdV1nxw,1103
134
+ vellum/types/execution_function_call_vellum_value.py,sha256=gBCkwo9gLZfolZ4xQlY3ggPOke0aA1NKln-qNv1ZBuQ,1120
135
+ vellum/types/execution_json_vellum_value.py,sha256=M6LOgpmqAEBlUFzJWDDC2RYVCYK87HLfkY1ZGGcdq_E,1086
136
+ vellum/types/execution_number_vellum_value.py,sha256=SuMDZKlENDBJHvNnzv11ZqLn8m60ctPopm3aF-mDMGA,1060
137
+ vellum/types/execution_search_results_vellum_value.py,sha256=PLgIGx3GIPq48ex8BAZFk5xHWEBjjWU3x9kI6BVgopM,1133
138
+ vellum/types/execution_string_vellum_value.py,sha256=GDe7ABz712yr5oD4jBTafz2G3f7M8pIGFpzt0NIb8E0,1058
139
139
  vellum/types/execution_vellum_value.py,sha256=aEkd5eaFhGrI3POUFii5w3WZkvUgpB47KIFaAKS9_cQ,3144
140
140
  vellum/types/external_test_case_execution.py,sha256=8Xo3ydFeP8FzrPU8V5XyfEVRy8cb022w3SLaVuu1aFs,1125
141
141
  vellum/types/external_test_case_execution_request.py,sha256=dQt05_ct3Q_L7DUlVesHIoXWIGjfSdl2aw6YsCn8REo,1154
@@ -189,6 +189,9 @@ vellum/types/json_variable_value.py,sha256=KdKz67NgVwVHpxXFgSxFPBeGBdjzTwZ_VKe22
189
189
  vellum/types/json_vellum_value.py,sha256=c_fKVj3ZnjacNEGW8keuoSfsNs7MBSH7PkTNxZuWU4M,959
190
190
  vellum/types/logical_operator.py,sha256=MuuMZ1-gOCDvy1WDQkMFfiBNHsRCqKgJei-b3727sKc,487
191
191
  vellum/types/logprobs_enum.py,sha256=D_458cZX2CAb6dX_ovrQ6HARlJkYcZRadKwsi1Cr-JM,151
192
+ vellum/types/map_enum.py,sha256=ABInkGAOBdgmsKzcCcM0AKEPQt-iwim-GmHEkXEHEs0,112
193
+ vellum/types/map_node_result.py,sha256=x5S8E8_jhIZHc9aAeE0GqGAw8v5XoLXTA4uiFTVtqA0,1006
194
+ vellum/types/map_node_result_data.py,sha256=aQ63NmLtaFQ1R-NgS_3Eq-al2-BT9oONLrj-2Fp2BXI,876
192
195
  vellum/types/merge_enum.py,sha256=TeAaXV2eWEGJHR3BqHdtIRkHUhctvfUo_Wu8MeqHYtU,116
193
196
  vellum/types/merge_node_result.py,sha256=R6AndgFRFuFQk8APapAr7bkv4vqkukz-D71kl8rIubU,905
194
197
  vellum/types/metadata_filter_config_request.py,sha256=_1CVIxmDmtXezTMWoaqeea9boe8hyCmmAn28u69NEUk,1355
@@ -278,6 +281,7 @@ vellum/types/rejected_prompt_execution_meta.py,sha256=kBS6bThYk1vvhKv47UB0FZP7Wu
278
281
  vellum/types/rejected_workflow_node_result_event.py,sha256=NbHR7Dhd9QBxDY9AMVM3uHx6HkgPiW6C0LaBGktGycA,1293
279
282
  vellum/types/release_tag_source.py,sha256=YavosOXZ976yfXTNWRTZwh2HhRiYmSDk0bQCkl-jCoQ,158
280
283
  vellum/types/replace_enum.py,sha256=A27UrZHyriKUSLCJDDG3mQmWyoFDpUKiutwfhZMc0Sw,120
284
+ vellum/types/replace_test_suite_test_case_request.py,sha256=agvGdhfb0mbw_CsOSsvqXgZH8LUZFUROMMJqrZKHqTk,1946
281
285
  vellum/types/replaced_enum.py,sha256=oC-pUajQvOhS1G5G55GS2Jdaityny520XbnrD1nuOD8,122
282
286
  vellum/types/sandbox_scenario.py,sha256=-MaSvpH6jSokr5XsCZybafKez3fnPctTFqm30Lfk8Ko,1144
283
287
  vellum/types/scenario_input.py,sha256=6_jN2JaqgEOkQpP5h17l5HeRhI_kdNMD_jjVyNFDM7Q,907
@@ -293,8 +297,8 @@ vellum/types/search_result.py,sha256=bsAjiXEpXdwnysiJ0rsR3_aEi5wQlXR9HCECQ23ecxE
293
297
  vellum/types/search_result_document.py,sha256=MRzncZs2Ug9g0NLoFO5AwElFIpJ4Zs-wUMOuDqX9Yfk,1466
294
298
  vellum/types/search_result_document_request.py,sha256=GVIvgn0htJJojCMPep2p3P_bcxf1ffNZ0XHhNPNsy-w,1473
295
299
  vellum/types/search_result_merging_request.py,sha256=Yx1iv-58kFMCayP_ngjhD8O-m2nvlIAfAQUz1pRxwKI,972
296
- vellum/types/search_result_meta.py,sha256=6BIF2iDyBAlZMgJ4b0Hjw-6ZKgMicSXp09hvS1MHatY,936
297
- vellum/types/search_result_meta_request.py,sha256=9NT29Gy-lcmoF5fcTV95ftB5bS9aZjW4YSzkIVidH6A,965
300
+ vellum/types/search_result_meta.py,sha256=yaIHNa95ZP-9d9bB5whdYZ0f8vncjOph7SRszyXSgyg,960
301
+ vellum/types/search_result_meta_request.py,sha256=nJaWYP7UXBABkgFJ4Apgy8bFZnyluDoh2xfMRlZEKn4,989
298
302
  vellum/types/search_result_meta_source.py,sha256=8T7zgf4lKIoyVKN09dEME2bb3hi86ufG65z96kwYfDM,511
299
303
  vellum/types/search_result_meta_source_request.py,sha256=iQi1DI-COoeqfO3zsECjZPlnn-fTJEFEj6CGPXYH61A,554
300
304
  vellum/types/search_result_request.py,sha256=EYg4mDwbpGmQuMwQktn1LXOvn0XMVY0cKc3XPkCAjdw,1551
@@ -394,10 +398,10 @@ vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py,sha256=zt9Q
394
398
  vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py,sha256=usIaDWBsS-zTQc4IIWec9-bAQKI_57LcKABZGV8cGlA,1248
395
399
  vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py,sha256=P0zRtzh7ekun8pcEH2EFTB6p4Kq54cE955Vff4q6-dE,1405
396
400
  vellum/types/test_suite_run_workflow_release_tag_exec_config_type_enum.py,sha256=JMN3-aK8SWJzTli6c-j9xmHSYVwGND1PaZgGzwwkMjo,170
397
- vellum/types/test_suite_test_case.py,sha256=Zi4uLAXIgZnecVdrG0BTKA4I8Ri_Qrt83OuClyQkzIc,1086
401
+ vellum/types/test_suite_test_case.py,sha256=cD9k7hn3e8XT6-JLbJKo_EYROE4dXAm2n7-0ZtKsfJs,1131
398
402
  vellum/types/test_suite_test_case_bulk_operation_request.py,sha256=eDAZV9NwbvH_dhaTmzUaHC5858B47Dqz7Dq6_kIXtu0,1528
399
403
  vellum/types/test_suite_test_case_bulk_result.py,sha256=Cu3zBu6PFltkTsQRcdzA5dcVAyESK6U3jMcMfe28K44,1798
400
- vellum/types/test_suite_test_case_create_bulk_operation_request.py,sha256=W8-aXODDF5oWjshwJdBagajEzukN2lC-2_9XY27Bmoo,1283
404
+ vellum/types/test_suite_test_case_create_bulk_operation_request.py,sha256=mCTw56KoJa2KbgHdhbq283AELwcINpt1-pk1CDfmkcA,1257
401
405
  vellum/types/test_suite_test_case_created_bulk_result.py,sha256=hUH8duBtZsrWXp7p0kZeCoP5W48Ioui-9fjoXycCnSA,1094
402
406
  vellum/types/test_suite_test_case_created_bulk_result_data.py,sha256=7_3ZxGLWHxP0Ggft7LeunDjY0ZaMgJ3yMpgFJRKw1_k,944
403
407
  vellum/types/test_suite_test_case_delete_bulk_operation_data_request.py,sha256=JUON1LJ8pBIzpsICjk6qIMSzg4Ctjrf2DYCNAzhPwCY,882
@@ -405,7 +409,7 @@ vellum/types/test_suite_test_case_delete_bulk_operation_request.py,sha256=UWtptA
405
409
  vellum/types/test_suite_test_case_deleted_bulk_result.py,sha256=1CsSapclH45R6Jje8D5fPDvzajUsaMtNbfMIYu0FZuU,1261
406
410
  vellum/types/test_suite_test_case_deleted_bulk_result_data.py,sha256=ua_wuUfrrXSYbG-m17Hdw1lEJBQnzn8s6M6W2t0RvHA,943
407
411
  vellum/types/test_suite_test_case_rejected_bulk_result.py,sha256=gvBqlLu-vxRVJIweNaTOS_LSm_JMfLlzPxMUTgYwS0c,1247
408
- vellum/types/test_suite_test_case_replace_bulk_operation_request.py,sha256=ZwmyWyYDQlEaAC6bGQMeHVMQxIucA4hKvMvx4FgAll4,1288
412
+ vellum/types/test_suite_test_case_replace_bulk_operation_request.py,sha256=QY3QE2dOBuFt8uy_G7wUaMSZTWEh5610-yO9m89XnnA,1262
409
413
  vellum/types/test_suite_test_case_replaced_bulk_result.py,sha256=36m3raleko_4VQXCIGexVlHZ8CiIJ9Fg73vv3Bivuck,1266
410
414
  vellum/types/test_suite_test_case_replaced_bulk_result_data.py,sha256=fbH0CsKTE-bhEqzCa_ZFR2X3aX7JhungfEfueuIQkP4,945
411
415
  vellum/types/text_embedding_3_large_enum.py,sha256=mniEbUgFr40fnVAGnlL_aNaFET3PhrQ8flune0mm2H4,147
@@ -434,7 +438,7 @@ vellum/types/workflow_execution_event_error_code.py,sha256=Vf-MTOx0KclZp35aajWDH
434
438
  vellum/types/workflow_execution_event_type.py,sha256=ESKqV3ItoAlqBooruf-i0AnmEh_GvCySZ0Co3r9Bvt0,170
435
439
  vellum/types/workflow_execution_node_result_event.py,sha256=qIjztqor0UcBTxbq7w7Is98Mqu0IgggUKY24qOHal4s,1139
436
440
  vellum/types/workflow_execution_workflow_result_event.py,sha256=PyMUdEwRMd8vjdimdcOXSvzPNd3PoacfDKuEmdrzpTU,1134
437
- vellum/types/workflow_node_result_data.py,sha256=Mo8g_HQylDahWy7K80AW8kD8090vbJrS3oqloZz5eWM,3625
441
+ vellum/types/workflow_node_result_data.py,sha256=OsGHVua3RRKrZvKZuWDcjyepXGGjmikrWosz7LNWKSY,3937
438
442
  vellum/types/workflow_node_result_event.py,sha256=0tSTva8wAxMKSGWrbSRADqGcbR_A6FMSR7xkYLP9rZg,1745
439
443
  vellum/types/workflow_node_result_event_state.py,sha256=cC3CdfmXR8bPzSG4W6vDnndA9HAnfF3v4UzmyeVwxog,209
440
444
  vellum/types/workflow_output.py,sha256=iSz1VQAm0e4gJcJlB_HG6jI9P4gRx4nQhMzoTgzG4lM,3212
@@ -466,7 +470,7 @@ vellum/types/workflow_result_event_output_data_search_results.py,sha256=gazaUrC5
466
470
  vellum/types/workflow_result_event_output_data_string.py,sha256=aVWIIGbLj4TJJhTTj6WzhbYXQkcZatKuhhNy8UYwXbw,1482
467
471
  vellum/types/workflow_stream_event.py,sha256=KA6Bkk_XA6AIPWR-1vKnwF1A8l_Bm5y0arQCWWWRpsk,911
468
472
  vellum/version.py,sha256=neLt8HBHHUtDF9M5fsyUzHT-pKooEPvceaLDqqIGb0s,77
469
- vellum_ai-0.6.6.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
470
- vellum_ai-0.6.6.dist-info/METADATA,sha256=GDu8VFYeIr-72DPo2M5V-BSnSiWrMyGCziUD7axX-3o,3872
471
- vellum_ai-0.6.6.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
472
- vellum_ai-0.6.6.dist-info/RECORD,,
473
+ vellum_ai-0.6.8.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
474
+ vellum_ai-0.6.8.dist-info/METADATA,sha256=nJyQBLYfdBqx3TaaTf8QLuLHWsALydR2wN7U1Twez1o,3872
475
+ vellum_ai-0.6.8.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
476
+ vellum_ai-0.6.8.dist-info/RECORD,,