vellum-ai 0.6.8__py3-none-any.whl → 0.7.1__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- vellum/__init__.py +16 -0
- vellum/client.py +28 -28
- vellum/core/client_wrapper.py +1 -1
- vellum/lib/test_suites/resources.py +5 -5
- vellum/resources/document_indexes/client.py +114 -0
- vellum/resources/test_suites/client.py +19 -51
- vellum/types/__init__.py +16 -0
- vellum/types/code_execution_node_json_result.py +1 -1
- vellum/types/execution_json_vellum_value.py +1 -1
- vellum/types/iteration_state_enum.py +5 -0
- vellum/types/json_variable_value.py +1 -1
- vellum/types/json_vellum_value.py +1 -1
- vellum/types/map_node_result_data.py +2 -0
- vellum/types/merge_node_result.py +3 -0
- vellum/types/merge_node_result_data.py +25 -0
- vellum/types/named_test_case_json_variable_value.py +1 -1
- vellum/types/named_test_case_json_variable_value_request.py +1 -1
- vellum/types/node_input_compiled_json_value.py +1 -1
- vellum/types/node_output_compiled_json_value.py +1 -1
- vellum/types/prompt_node_result_data.py +1 -0
- vellum/types/templating_node_json_result.py +1 -1
- vellum/types/terminal_node_json_result.py +1 -1
- vellum/types/test_suite_run_execution_array_output.py +32 -0
- vellum/types/test_suite_run_execution_json_output.py +1 -1
- vellum/types/test_suite_run_execution_output.py +12 -0
- vellum/types/test_suite_run_metric_number_output.py +1 -1
- vellum/types/test_suite_run_metric_string_output.py +1 -1
- vellum/types/test_suite_test_case_bulk_operation_request.py +12 -0
- vellum/types/test_suite_test_case_rejected_bulk_result.py +1 -1
- vellum/types/test_suite_test_case_upsert_bulk_operation_request.py +35 -0
- vellum/types/upsert_enum.py +5 -0
- vellum/types/upsert_test_suite_test_case_request.py +49 -0
- vellum/types/workflow_output_json.py +1 -1
- vellum/types/workflow_request_json_input_request.py +1 -1
- vellum/types/workflow_result_event_output_data_json.py +1 -1
- {vellum_ai-0.6.8.dist-info → vellum_ai-0.7.1.dist-info}/METADATA +1 -1
- {vellum_ai-0.6.8.dist-info → vellum_ai-0.7.1.dist-info}/RECORD +39 -33
- {vellum_ai-0.6.8.dist-info → vellum_ai-0.7.1.dist-info}/LICENSE +0 -0
- {vellum_ai-0.6.8.dist-info → vellum_ai-0.7.1.dist-info}/WHEEL +0 -0
vellum/types/__init__.py
CHANGED
@@ -230,6 +230,7 @@ from .initiated_workflow_node_result_event import InitiatedWorkflowNodeResultEve
|
|
230
230
|
from .instructor_vectorizer_config import InstructorVectorizerConfig
|
231
231
|
from .instructor_vectorizer_config_request import InstructorVectorizerConfigRequest
|
232
232
|
from .intfloat_multilingual_e_5_large_enum import IntfloatMultilingualE5LargeEnum
|
233
|
+
from .iteration_state_enum import IterationStateEnum
|
233
234
|
from .json_enum import JsonEnum
|
234
235
|
from .json_input_request import JsonInputRequest
|
235
236
|
from .json_variable_value import JsonVariableValue
|
@@ -241,6 +242,7 @@ from .map_node_result import MapNodeResult
|
|
241
242
|
from .map_node_result_data import MapNodeResultData
|
242
243
|
from .merge_enum import MergeEnum
|
243
244
|
from .merge_node_result import MergeNodeResult
|
245
|
+
from .merge_node_result_data import MergeNodeResultData
|
244
246
|
from .metadata_filter_config_request import MetadataFilterConfigRequest
|
245
247
|
from .metadata_filter_rule_combinator import MetadataFilterRuleCombinator
|
246
248
|
from .metadata_filter_rule_request import MetadataFilterRuleRequest
|
@@ -516,6 +518,7 @@ from .test_suite_run_exec_config_request import (
|
|
516
518
|
TestSuiteRunExecConfigRequest_WorkflowReleaseTag,
|
517
519
|
)
|
518
520
|
from .test_suite_run_execution import TestSuiteRunExecution
|
521
|
+
from .test_suite_run_execution_array_output import TestSuiteRunExecutionArrayOutput
|
519
522
|
from .test_suite_run_execution_chat_history_output import TestSuiteRunExecutionChatHistoryOutput
|
520
523
|
from .test_suite_run_execution_error_output import TestSuiteRunExecutionErrorOutput
|
521
524
|
from .test_suite_run_execution_function_call_output import TestSuiteRunExecutionFunctionCallOutput
|
@@ -525,6 +528,7 @@ from .test_suite_run_execution_metric_result import TestSuiteRunExecutionMetricR
|
|
525
528
|
from .test_suite_run_execution_number_output import TestSuiteRunExecutionNumberOutput
|
526
529
|
from .test_suite_run_execution_output import (
|
527
530
|
TestSuiteRunExecutionOutput,
|
531
|
+
TestSuiteRunExecutionOutput_Array,
|
528
532
|
TestSuiteRunExecutionOutput_ChatHistory,
|
529
533
|
TestSuiteRunExecutionOutput_Error,
|
530
534
|
TestSuiteRunExecutionOutput_FunctionCall,
|
@@ -568,6 +572,7 @@ from .test_suite_test_case_bulk_operation_request import (
|
|
568
572
|
TestSuiteTestCaseBulkOperationRequest_Create,
|
569
573
|
TestSuiteTestCaseBulkOperationRequest_Delete,
|
570
574
|
TestSuiteTestCaseBulkOperationRequest_Replace,
|
575
|
+
TestSuiteTestCaseBulkOperationRequest_Upsert,
|
571
576
|
)
|
572
577
|
from .test_suite_test_case_bulk_result import (
|
573
578
|
TestSuiteTestCaseBulkResult,
|
@@ -587,6 +592,7 @@ from .test_suite_test_case_rejected_bulk_result import TestSuiteTestCaseRejected
|
|
587
592
|
from .test_suite_test_case_replace_bulk_operation_request import TestSuiteTestCaseReplaceBulkOperationRequest
|
588
593
|
from .test_suite_test_case_replaced_bulk_result import TestSuiteTestCaseReplacedBulkResult
|
589
594
|
from .test_suite_test_case_replaced_bulk_result_data import TestSuiteTestCaseReplacedBulkResultData
|
595
|
+
from .test_suite_test_case_upsert_bulk_operation_request import TestSuiteTestCaseUpsertBulkOperationRequest
|
590
596
|
from .text_embedding_3_large_enum import TextEmbedding3LargeEnum
|
591
597
|
from .text_embedding_3_small_enum import TextEmbedding3SmallEnum
|
592
598
|
from .text_embedding_ada_002_enum import TextEmbeddingAda002Enum
|
@@ -597,6 +603,8 @@ from .token_overlapping_window_chunking import TokenOverlappingWindowChunking
|
|
597
603
|
from .token_overlapping_window_chunking_request import TokenOverlappingWindowChunkingRequest
|
598
604
|
from .upload_document_error_response import UploadDocumentErrorResponse
|
599
605
|
from .upload_document_response import UploadDocumentResponse
|
606
|
+
from .upsert_enum import UpsertEnum
|
607
|
+
from .upsert_test_suite_test_case_request import UpsertTestSuiteTestCaseRequest
|
600
608
|
from .vellum_error import VellumError
|
601
609
|
from .vellum_error_code_enum import VellumErrorCodeEnum
|
602
610
|
from .vellum_error_request import VellumErrorRequest
|
@@ -884,6 +892,7 @@ __all__ = [
|
|
884
892
|
"InstructorVectorizerConfig",
|
885
893
|
"InstructorVectorizerConfigRequest",
|
886
894
|
"IntfloatMultilingualE5LargeEnum",
|
895
|
+
"IterationStateEnum",
|
887
896
|
"JsonEnum",
|
888
897
|
"JsonInputRequest",
|
889
898
|
"JsonVariableValue",
|
@@ -895,6 +904,7 @@ __all__ = [
|
|
895
904
|
"MapNodeResultData",
|
896
905
|
"MergeEnum",
|
897
906
|
"MergeNodeResult",
|
907
|
+
"MergeNodeResultData",
|
898
908
|
"MetadataFilterConfigRequest",
|
899
909
|
"MetadataFilterRuleCombinator",
|
900
910
|
"MetadataFilterRuleRequest",
|
@@ -1144,6 +1154,7 @@ __all__ = [
|
|
1144
1154
|
"TestSuiteRunExecConfig_External",
|
1145
1155
|
"TestSuiteRunExecConfig_WorkflowReleaseTag",
|
1146
1156
|
"TestSuiteRunExecution",
|
1157
|
+
"TestSuiteRunExecutionArrayOutput",
|
1147
1158
|
"TestSuiteRunExecutionChatHistoryOutput",
|
1148
1159
|
"TestSuiteRunExecutionErrorOutput",
|
1149
1160
|
"TestSuiteRunExecutionFunctionCallOutput",
|
@@ -1152,6 +1163,7 @@ __all__ = [
|
|
1152
1163
|
"TestSuiteRunExecutionMetricResult",
|
1153
1164
|
"TestSuiteRunExecutionNumberOutput",
|
1154
1165
|
"TestSuiteRunExecutionOutput",
|
1166
|
+
"TestSuiteRunExecutionOutput_Array",
|
1155
1167
|
"TestSuiteRunExecutionOutput_ChatHistory",
|
1156
1168
|
"TestSuiteRunExecutionOutput_Error",
|
1157
1169
|
"TestSuiteRunExecutionOutput_FunctionCall",
|
@@ -1189,6 +1201,7 @@ __all__ = [
|
|
1189
1201
|
"TestSuiteTestCaseBulkOperationRequest_Create",
|
1190
1202
|
"TestSuiteTestCaseBulkOperationRequest_Delete",
|
1191
1203
|
"TestSuiteTestCaseBulkOperationRequest_Replace",
|
1204
|
+
"TestSuiteTestCaseBulkOperationRequest_Upsert",
|
1192
1205
|
"TestSuiteTestCaseBulkResult",
|
1193
1206
|
"TestSuiteTestCaseBulkResult_Created",
|
1194
1207
|
"TestSuiteTestCaseBulkResult_Deleted",
|
@@ -1205,6 +1218,7 @@ __all__ = [
|
|
1205
1218
|
"TestSuiteTestCaseReplaceBulkOperationRequest",
|
1206
1219
|
"TestSuiteTestCaseReplacedBulkResult",
|
1207
1220
|
"TestSuiteTestCaseReplacedBulkResultData",
|
1221
|
+
"TestSuiteTestCaseUpsertBulkOperationRequest",
|
1208
1222
|
"TextEmbedding3LargeEnum",
|
1209
1223
|
"TextEmbedding3SmallEnum",
|
1210
1224
|
"TextEmbeddingAda002Enum",
|
@@ -1215,6 +1229,8 @@ __all__ = [
|
|
1215
1229
|
"TokenOverlappingWindowChunkingRequest",
|
1216
1230
|
"UploadDocumentErrorResponse",
|
1217
1231
|
"UploadDocumentResponse",
|
1232
|
+
"UpsertEnum",
|
1233
|
+
"UpsertTestSuiteTestCaseRequest",
|
1218
1234
|
"VellumError",
|
1219
1235
|
"VellumErrorCodeEnum",
|
1220
1236
|
"VellumErrorRequest",
|
@@ -9,7 +9,7 @@ from ..core.pydantic_utilities import pydantic_v1
|
|
9
9
|
|
10
10
|
class CodeExecutionNodeJsonResult(pydantic_v1.BaseModel):
|
11
11
|
id: str
|
12
|
-
value: typing.
|
12
|
+
value: typing.Any
|
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}
|
@@ -18,7 +18,7 @@ class ExecutionJsonVellumValue(pydantic_v1.BaseModel):
|
|
18
18
|
"""
|
19
19
|
|
20
20
|
name: str
|
21
|
-
value: typing.
|
21
|
+
value: typing.Any
|
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}
|
@@ -8,7 +8,7 @@ from ..core.pydantic_utilities import pydantic_v1
|
|
8
8
|
|
9
9
|
|
10
10
|
class JsonVariableValue(pydantic_v1.BaseModel):
|
11
|
-
value: typing.
|
11
|
+
value: typing.Any
|
12
12
|
|
13
13
|
def json(self, **kwargs: typing.Any) -> str:
|
14
14
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
@@ -12,7 +12,7 @@ class JsonVellumValue(pydantic_v1.BaseModel):
|
|
12
12
|
A value representing a JSON object.
|
13
13
|
"""
|
14
14
|
|
15
|
-
value: typing.
|
15
|
+
value: typing.Any
|
16
16
|
|
17
17
|
def json(self, **kwargs: typing.Any) -> str:
|
18
18
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
@@ -5,10 +5,12 @@ import typing
|
|
5
5
|
|
6
6
|
from ..core.datetime_utils import serialize_datetime
|
7
7
|
from ..core.pydantic_utilities import pydantic_v1
|
8
|
+
from .iteration_state_enum import IterationStateEnum
|
8
9
|
|
9
10
|
|
10
11
|
class MapNodeResultData(pydantic_v1.BaseModel):
|
11
12
|
execution_ids: typing.List[str]
|
13
|
+
iteration_state: typing.Optional[IterationStateEnum] = None
|
12
14
|
|
13
15
|
def json(self, **kwargs: typing.Any) -> str:
|
14
16
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
@@ -5,6 +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 .merge_node_result_data import MergeNodeResultData
|
8
9
|
|
9
10
|
|
10
11
|
class MergeNodeResult(pydantic_v1.BaseModel):
|
@@ -12,6 +13,8 @@ class MergeNodeResult(pydantic_v1.BaseModel):
|
|
12
13
|
A Node Result Event emitted from a Merge Node.
|
13
14
|
"""
|
14
15
|
|
16
|
+
data: MergeNodeResultData
|
17
|
+
|
15
18
|
def json(self, **kwargs: typing.Any) -> str:
|
16
19
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
17
20
|
return super().json(**kwargs_with_defaults)
|
@@ -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 MergeNodeResultData(pydantic_v1.BaseModel):
|
11
|
+
paused_node_data: typing.Optional[typing.Dict[str, typing.Any]] = None
|
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}
|
@@ -12,7 +12,7 @@ class NamedTestCaseJsonVariableValue(pydantic_v1.BaseModel):
|
|
12
12
|
Named Test Case value that is of type JSON
|
13
13
|
"""
|
14
14
|
|
15
|
-
value: typing.
|
15
|
+
value: typing.Any
|
16
16
|
name: str
|
17
17
|
|
18
18
|
def json(self, **kwargs: typing.Any) -> str:
|
@@ -12,7 +12,7 @@ class NamedTestCaseJsonVariableValueRequest(pydantic_v1.BaseModel):
|
|
12
12
|
Named Test Case value that is of type JSON
|
13
13
|
"""
|
14
14
|
|
15
|
-
value: typing.
|
15
|
+
value: typing.Any
|
16
16
|
name: str
|
17
17
|
|
18
18
|
def json(self, **kwargs: typing.Any) -> str:
|
@@ -10,7 +10,7 @@ from ..core.pydantic_utilities import pydantic_v1
|
|
10
10
|
class NodeInputCompiledJsonValue(pydantic_v1.BaseModel):
|
11
11
|
node_input_id: str
|
12
12
|
key: str
|
13
|
-
value: typing.
|
13
|
+
value: typing.Any
|
14
14
|
|
15
15
|
def json(self, **kwargs: typing.Any) -> str:
|
16
16
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
@@ -13,7 +13,7 @@ class NodeOutputCompiledJsonValue(pydantic_v1.BaseModel):
|
|
13
13
|
An output returned by a node that is of type JSON.
|
14
14
|
"""
|
15
15
|
|
16
|
-
value: typing.
|
16
|
+
value: typing.Any
|
17
17
|
node_output_id: str
|
18
18
|
state: typing.Optional[WorkflowNodeResultEventState] = None
|
19
19
|
|
@@ -10,6 +10,7 @@ from ..core.pydantic_utilities import pydantic_v1
|
|
10
10
|
class PromptNodeResultData(pydantic_v1.BaseModel):
|
11
11
|
output_id: str
|
12
12
|
array_output_id: typing.Optional[str] = None
|
13
|
+
execution_id: typing.Optional[str] = None
|
13
14
|
text: typing.Optional[str] = None
|
14
15
|
delta: typing.Optional[str] = None
|
15
16
|
|
@@ -9,7 +9,7 @@ from ..core.pydantic_utilities import pydantic_v1
|
|
9
9
|
|
10
10
|
class TemplatingNodeJsonResult(pydantic_v1.BaseModel):
|
11
11
|
id: str
|
12
|
-
value: typing.
|
12
|
+
value: typing.Any
|
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}
|
@@ -14,7 +14,7 @@ class TerminalNodeJsonResult(pydantic_v1.BaseModel):
|
|
14
14
|
The unique name given to the terminal node that produced this output.
|
15
15
|
"""
|
16
16
|
|
17
|
-
value: typing.
|
17
|
+
value: typing.Any
|
18
18
|
|
19
19
|
def json(self, **kwargs: typing.Any) -> str:
|
20
20
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
@@ -0,0 +1,32 @@
|
|
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 .array_vellum_value_item import ArrayVellumValueItem
|
9
|
+
|
10
|
+
|
11
|
+
class TestSuiteRunExecutionArrayOutput(pydantic_v1.BaseModel):
|
12
|
+
"""
|
13
|
+
Execution output of an entity evaluated during a Test Suite Run that is of type ARRAY
|
14
|
+
"""
|
15
|
+
|
16
|
+
name: str
|
17
|
+
value: typing.Optional[typing.List[ArrayVellumValueItem]] = None
|
18
|
+
output_variable_id: str
|
19
|
+
|
20
|
+
def json(self, **kwargs: typing.Any) -> str:
|
21
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
22
|
+
return super().json(**kwargs_with_defaults)
|
23
|
+
|
24
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
25
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
26
|
+
return super().dict(**kwargs_with_defaults)
|
27
|
+
|
28
|
+
class Config:
|
29
|
+
frozen = True
|
30
|
+
smart_union = True
|
31
|
+
extra = pydantic_v1.Extra.allow
|
32
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
4
4
|
|
5
5
|
import typing
|
6
6
|
|
7
|
+
from .test_suite_run_execution_array_output import TestSuiteRunExecutionArrayOutput
|
7
8
|
from .test_suite_run_execution_chat_history_output import TestSuiteRunExecutionChatHistoryOutput
|
8
9
|
from .test_suite_run_execution_error_output import TestSuiteRunExecutionErrorOutput
|
9
10
|
from .test_suite_run_execution_function_call_output import TestSuiteRunExecutionFunctionCallOutput
|
@@ -83,6 +84,16 @@ class TestSuiteRunExecutionOutput_FunctionCall(TestSuiteRunExecutionFunctionCall
|
|
83
84
|
populate_by_name = True
|
84
85
|
|
85
86
|
|
87
|
+
class TestSuiteRunExecutionOutput_Array(TestSuiteRunExecutionArrayOutput):
|
88
|
+
type: typing.Literal["ARRAY"] = "ARRAY"
|
89
|
+
|
90
|
+
class Config:
|
91
|
+
frozen = True
|
92
|
+
smart_union = True
|
93
|
+
allow_population_by_field_name = True
|
94
|
+
populate_by_name = True
|
95
|
+
|
96
|
+
|
86
97
|
TestSuiteRunExecutionOutput = typing.Union[
|
87
98
|
TestSuiteRunExecutionOutput_String,
|
88
99
|
TestSuiteRunExecutionOutput_Number,
|
@@ -91,4 +102,5 @@ TestSuiteRunExecutionOutput = typing.Union[
|
|
91
102
|
TestSuiteRunExecutionOutput_SearchResults,
|
92
103
|
TestSuiteRunExecutionOutput_Error,
|
93
104
|
TestSuiteRunExecutionOutput_FunctionCall,
|
105
|
+
TestSuiteRunExecutionOutput_Array,
|
94
106
|
]
|
@@ -7,6 +7,7 @@ import typing
|
|
7
7
|
from .test_suite_test_case_create_bulk_operation_request import TestSuiteTestCaseCreateBulkOperationRequest
|
8
8
|
from .test_suite_test_case_delete_bulk_operation_request import TestSuiteTestCaseDeleteBulkOperationRequest
|
9
9
|
from .test_suite_test_case_replace_bulk_operation_request import TestSuiteTestCaseReplaceBulkOperationRequest
|
10
|
+
from .test_suite_test_case_upsert_bulk_operation_request import TestSuiteTestCaseUpsertBulkOperationRequest
|
10
11
|
|
11
12
|
|
12
13
|
class TestSuiteTestCaseBulkOperationRequest_Create(TestSuiteTestCaseCreateBulkOperationRequest):
|
@@ -29,6 +30,16 @@ class TestSuiteTestCaseBulkOperationRequest_Replace(TestSuiteTestCaseReplaceBulk
|
|
29
30
|
populate_by_name = True
|
30
31
|
|
31
32
|
|
33
|
+
class TestSuiteTestCaseBulkOperationRequest_Upsert(TestSuiteTestCaseUpsertBulkOperationRequest):
|
34
|
+
type: typing.Literal["UPSERT"] = "UPSERT"
|
35
|
+
|
36
|
+
class Config:
|
37
|
+
frozen = True
|
38
|
+
smart_union = True
|
39
|
+
allow_population_by_field_name = True
|
40
|
+
populate_by_name = True
|
41
|
+
|
42
|
+
|
32
43
|
class TestSuiteTestCaseBulkOperationRequest_Delete(TestSuiteTestCaseDeleteBulkOperationRequest):
|
33
44
|
type: typing.Literal["DELETE"] = "DELETE"
|
34
45
|
|
@@ -42,5 +53,6 @@ class TestSuiteTestCaseBulkOperationRequest_Delete(TestSuiteTestCaseDeleteBulkOp
|
|
42
53
|
TestSuiteTestCaseBulkOperationRequest = typing.Union[
|
43
54
|
TestSuiteTestCaseBulkOperationRequest_Create,
|
44
55
|
TestSuiteTestCaseBulkOperationRequest_Replace,
|
56
|
+
TestSuiteTestCaseBulkOperationRequest_Upsert,
|
45
57
|
TestSuiteTestCaseBulkOperationRequest_Delete,
|
46
58
|
]
|
@@ -12,7 +12,7 @@ class TestSuiteTestCaseRejectedBulkResult(pydantic_v1.BaseModel):
|
|
12
12
|
The result of a bulk operation that failed to operate on a Test Case.
|
13
13
|
"""
|
14
14
|
|
15
|
-
id: str = pydantic_v1.Field()
|
15
|
+
id: typing.Optional[str] = pydantic_v1.Field(default=None)
|
16
16
|
"""
|
17
17
|
An ID that maps back to one of the initially supplied operations. Can be used to determine the result of a given operation.
|
18
18
|
"""
|
@@ -0,0 +1,35 @@
|
|
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 .upsert_test_suite_test_case_request import UpsertTestSuiteTestCaseRequest
|
9
|
+
|
10
|
+
|
11
|
+
class TestSuiteTestCaseUpsertBulkOperationRequest(pydantic_v1.BaseModel):
|
12
|
+
"""
|
13
|
+
A bulk operation that represents the upserting of a Test Case.
|
14
|
+
"""
|
15
|
+
|
16
|
+
id: str = pydantic_v1.Field()
|
17
|
+
"""
|
18
|
+
An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
|
19
|
+
"""
|
20
|
+
|
21
|
+
data: UpsertTestSuiteTestCaseRequest
|
22
|
+
|
23
|
+
def json(self, **kwargs: typing.Any) -> str:
|
24
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
25
|
+
return super().json(**kwargs_with_defaults)
|
26
|
+
|
27
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
28
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
29
|
+
return super().dict(**kwargs_with_defaults)
|
30
|
+
|
31
|
+
class Config:
|
32
|
+
frozen = True
|
33
|
+
smart_union = True
|
34
|
+
extra = pydantic_v1.Extra.allow
|
35
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
@@ -0,0 +1,49 @@
|
|
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 .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
|
9
|
+
|
10
|
+
|
11
|
+
class UpsertTestSuiteTestCaseRequest(pydantic_v1.BaseModel):
|
12
|
+
id: typing.Optional[str] = pydantic_v1.Field(default=None)
|
13
|
+
"""
|
14
|
+
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.
|
15
|
+
"""
|
16
|
+
|
17
|
+
external_id: typing.Optional[str] = pydantic_v1.Field(default=None)
|
18
|
+
"""
|
19
|
+
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.
|
20
|
+
"""
|
21
|
+
|
22
|
+
label: typing.Optional[str] = pydantic_v1.Field(default=None)
|
23
|
+
"""
|
24
|
+
A human-readable label used to convey the intention of this Test Case
|
25
|
+
"""
|
26
|
+
|
27
|
+
input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic_v1.Field()
|
28
|
+
"""
|
29
|
+
Values for each of the Test Case's input variables
|
30
|
+
"""
|
31
|
+
|
32
|
+
evaluation_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic_v1.Field()
|
33
|
+
"""
|
34
|
+
Values for each of the Test Case's evaluation variables
|
35
|
+
"""
|
36
|
+
|
37
|
+
def json(self, **kwargs: typing.Any) -> str:
|
38
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
39
|
+
return super().json(**kwargs_with_defaults)
|
40
|
+
|
41
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
42
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
43
|
+
return super().dict(**kwargs_with_defaults)
|
44
|
+
|
45
|
+
class Config:
|
46
|
+
frozen = True
|
47
|
+
smart_union = True
|
48
|
+
extra = pydantic_v1.Extra.allow
|
49
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
@@ -18,7 +18,7 @@ class WorkflowOutputJson(pydantic_v1.BaseModel):
|
|
18
18
|
The output's name, as defined in the workflow
|
19
19
|
"""
|
20
20
|
|
21
|
-
value: typing.
|
21
|
+
value: typing.Any
|
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}
|
@@ -17,7 +17,7 @@ class WorkflowRequestJsonInputRequest(pydantic_v1.BaseModel):
|
|
17
17
|
The variable's name, as defined in the Workflow.
|
18
18
|
"""
|
19
19
|
|
20
|
-
value: typing.
|
20
|
+
value: typing.Any
|
21
21
|
|
22
22
|
def json(self, **kwargs: typing.Any) -> str:
|
23
23
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
@@ -22,7 +22,7 @@ class WorkflowResultEventOutputDataJson(pydantic_v1.BaseModel):
|
|
22
22
|
The newly output string value. Only relevant for string outputs with a state of STREAMING.
|
23
23
|
"""
|
24
24
|
|
25
|
-
value: typing.
|
25
|
+
value: typing.Any
|
26
26
|
|
27
27
|
def json(self, **kwargs: typing.Any) -> str:
|
28
28
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|