vellum-ai 0.3.21__py3-none-any.whl → 0.3.23__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. vellum/__init__.py +48 -0
  2. vellum/core/client_wrapper.py +1 -1
  3. vellum/resources/test_suite_runs/client.py +14 -0
  4. vellum/terraform/__init__.py +26 -0
  5. vellum/terraform/_jsii/__init__.py +27 -0
  6. vellum/terraform/_jsii/vellum-ai_vellum@0.0.0.jsii.tgz +0 -0
  7. vellum/terraform/constraints.json +4 -0
  8. vellum/terraform/data_vellum_document_index/__init__.py +409 -0
  9. vellum/terraform/document_index/__init__.py +490 -0
  10. vellum/terraform/provider/__init__.py +237 -0
  11. vellum/terraform/py.typed +1 -0
  12. vellum/terraform/versions.json +3 -0
  13. vellum/types/__init__.py +50 -0
  14. vellum/types/external_test_case_execution.py +35 -0
  15. vellum/types/external_test_case_execution_request.py +35 -0
  16. vellum/types/fulfilled_workflow_node_result_event.py +1 -1
  17. vellum/types/named_test_case_chat_history_variable_value.py +35 -0
  18. vellum/types/named_test_case_chat_history_variable_value_request.py +5 -1
  19. vellum/types/named_test_case_error_variable_value.py +35 -0
  20. vellum/types/named_test_case_error_variable_value_request.py +5 -1
  21. vellum/types/named_test_case_json_variable_value.py +34 -0
  22. vellum/types/named_test_case_json_variable_value_request.py +5 -1
  23. vellum/types/named_test_case_number_variable_value.py +34 -0
  24. vellum/types/named_test_case_number_variable_value_request.py +5 -1
  25. vellum/types/named_test_case_search_results_variable_value.py +35 -0
  26. vellum/types/named_test_case_search_results_variable_value_request.py +5 -1
  27. vellum/types/named_test_case_string_variable_value.py +34 -0
  28. vellum/types/named_test_case_string_variable_value_request.py +5 -1
  29. vellum/types/named_test_case_variable_value.py +82 -0
  30. vellum/types/prompt_template_block.py +2 -0
  31. vellum/types/prompt_template_block_request.py +2 -0
  32. vellum/types/prompt_template_block_state.py +22 -0
  33. vellum/types/sandbox_scenario.py +4 -0
  34. vellum/types/test_case_chat_history_variable_value.py +5 -0
  35. vellum/types/test_case_error_variable_value.py +5 -0
  36. vellum/types/test_case_json_variable_value.py +5 -0
  37. vellum/types/test_case_number_variable_value.py +5 -0
  38. vellum/types/test_case_search_results_variable_value.py +5 -0
  39. vellum/types/test_case_string_variable_value.py +5 -0
  40. vellum/types/test_suite_run_exec_config.py +14 -1
  41. vellum/types/test_suite_run_exec_config_request.py +14 -1
  42. vellum/types/test_suite_run_execution_chat_history_output.py +6 -1
  43. vellum/types/test_suite_run_execution_error_output.py +6 -1
  44. vellum/types/test_suite_run_execution_json_output.py +6 -1
  45. vellum/types/test_suite_run_execution_metric_definition.py +31 -0
  46. vellum/types/test_suite_run_execution_metric_result.py +3 -0
  47. vellum/types/test_suite_run_execution_number_output.py +6 -1
  48. vellum/types/test_suite_run_execution_search_results_output.py +6 -1
  49. vellum/types/test_suite_run_execution_string_output.py +6 -1
  50. vellum/types/test_suite_run_external_exec_config.py +38 -0
  51. vellum/types/test_suite_run_external_exec_config_data.py +33 -0
  52. vellum/types/test_suite_run_external_exec_config_data_request.py +33 -0
  53. vellum/types/test_suite_run_external_exec_config_request.py +38 -0
  54. vellum/types/test_suite_run_external_exec_config_type_enum.py +5 -0
  55. {vellum_ai-0.3.21.dist-info → vellum_ai-0.3.23.dist-info}/METADATA +2 -1
  56. {vellum_ai-0.3.21.dist-info → vellum_ai-0.3.23.dist-info}/RECORD +58 -33
  57. {vellum_ai-0.3.21.dist-info → vellum_ai-0.3.23.dist-info}/LICENSE +0 -0
  58. {vellum_ai-0.3.21.dist-info → vellum_ai-0.3.23.dist-info}/WHEEL +0 -0
@@ -12,8 +12,12 @@ except ImportError:
12
12
 
13
13
 
14
14
  class NamedTestCaseNumberVariableValueRequest(pydantic.BaseModel):
15
- name: str
15
+ """
16
+ Named Test Case value that is of type NUMBER
17
+ """
18
+
16
19
  value: typing.Optional[float] = None
20
+ name: str
17
21
 
18
22
  def json(self, **kwargs: typing.Any) -> str:
19
23
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -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 .search_result import SearchResult
8
+
9
+ try:
10
+ import pydantic.v1 as pydantic # type: ignore
11
+ except ImportError:
12
+ import pydantic # type: ignore
13
+
14
+
15
+ class NamedTestCaseSearchResultsVariableValue(pydantic.BaseModel):
16
+ """
17
+ Named Test Case value that is of type SEARCH_RESULTS
18
+ """
19
+
20
+ value: typing.Optional[typing.List[SearchResult]] = None
21
+ name: str
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.Extra.allow
35
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -13,8 +13,12 @@ except ImportError:
13
13
 
14
14
 
15
15
  class NamedTestCaseSearchResultsVariableValueRequest(pydantic.BaseModel):
16
- name: str
16
+ """
17
+ Named Test Case value that is of type SEARCH_RESULTS
18
+ """
19
+
17
20
  value: typing.Optional[typing.List[SearchResultRequest]] = None
21
+ name: str
18
22
 
19
23
  def json(self, **kwargs: typing.Any) -> str:
20
24
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -0,0 +1,34 @@
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
+
8
+ try:
9
+ import pydantic.v1 as pydantic # type: ignore
10
+ except ImportError:
11
+ import pydantic # type: ignore
12
+
13
+
14
+ class NamedTestCaseStringVariableValue(pydantic.BaseModel):
15
+ """
16
+ Named Test Case value that is of type STRING
17
+ """
18
+
19
+ value: typing.Optional[str] = None
20
+ name: str
21
+
22
+ def json(self, **kwargs: typing.Any) -> str:
23
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
24
+ return super().json(**kwargs_with_defaults)
25
+
26
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
27
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
28
+ return super().dict(**kwargs_with_defaults)
29
+
30
+ class Config:
31
+ frozen = True
32
+ smart_union = True
33
+ extra = pydantic.Extra.allow
34
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -12,8 +12,12 @@ except ImportError:
12
12
 
13
13
 
14
14
  class NamedTestCaseStringVariableValueRequest(pydantic.BaseModel):
15
- name: str
15
+ """
16
+ Named Test Case value that is of type STRING
17
+ """
18
+
16
19
  value: typing.Optional[str] = None
20
+ name: str
17
21
 
18
22
  def json(self, **kwargs: typing.Any) -> str:
19
23
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -0,0 +1,82 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+
5
+ import typing
6
+
7
+ from .named_test_case_chat_history_variable_value import NamedTestCaseChatHistoryVariableValue
8
+ from .named_test_case_error_variable_value import NamedTestCaseErrorVariableValue
9
+ from .named_test_case_json_variable_value import NamedTestCaseJsonVariableValue
10
+ from .named_test_case_number_variable_value import NamedTestCaseNumberVariableValue
11
+ from .named_test_case_search_results_variable_value import NamedTestCaseSearchResultsVariableValue
12
+ from .named_test_case_string_variable_value import NamedTestCaseStringVariableValue
13
+
14
+
15
+ class NamedTestCaseVariableValue_String(NamedTestCaseStringVariableValue):
16
+ type: typing.Literal["STRING"] = "STRING"
17
+
18
+ class Config:
19
+ frozen = True
20
+ smart_union = True
21
+ allow_population_by_field_name = True
22
+ populate_by_name = True
23
+
24
+
25
+ class NamedTestCaseVariableValue_Number(NamedTestCaseNumberVariableValue):
26
+ type: typing.Literal["NUMBER"] = "NUMBER"
27
+
28
+ class Config:
29
+ frozen = True
30
+ smart_union = True
31
+ allow_population_by_field_name = True
32
+ populate_by_name = True
33
+
34
+
35
+ class NamedTestCaseVariableValue_Json(NamedTestCaseJsonVariableValue):
36
+ type: typing.Literal["JSON"] = "JSON"
37
+
38
+ class Config:
39
+ frozen = True
40
+ smart_union = True
41
+ allow_population_by_field_name = True
42
+ populate_by_name = True
43
+
44
+
45
+ class NamedTestCaseVariableValue_ChatHistory(NamedTestCaseChatHistoryVariableValue):
46
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
47
+
48
+ class Config:
49
+ frozen = True
50
+ smart_union = True
51
+ allow_population_by_field_name = True
52
+ populate_by_name = True
53
+
54
+
55
+ class NamedTestCaseVariableValue_SearchResults(NamedTestCaseSearchResultsVariableValue):
56
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
57
+
58
+ class Config:
59
+ frozen = True
60
+ smart_union = True
61
+ allow_population_by_field_name = True
62
+ populate_by_name = True
63
+
64
+
65
+ class NamedTestCaseVariableValue_Error(NamedTestCaseErrorVariableValue):
66
+ type: typing.Literal["ERROR"] = "ERROR"
67
+
68
+ class Config:
69
+ frozen = True
70
+ smart_union = True
71
+ allow_population_by_field_name = True
72
+ populate_by_name = True
73
+
74
+
75
+ NamedTestCaseVariableValue = typing.Union[
76
+ NamedTestCaseVariableValue_String,
77
+ NamedTestCaseVariableValue_Number,
78
+ NamedTestCaseVariableValue_Json,
79
+ NamedTestCaseVariableValue_ChatHistory,
80
+ NamedTestCaseVariableValue_SearchResults,
81
+ NamedTestCaseVariableValue_Error,
82
+ ]
@@ -7,6 +7,7 @@ import typing
7
7
 
8
8
  from ..core.datetime_utils import serialize_datetime
9
9
  from .block_type_enum import BlockTypeEnum
10
+ from .prompt_template_block_state import PromptTemplateBlockState
10
11
 
11
12
  try:
12
13
  import pydantic.v1 as pydantic # type: ignore
@@ -18,6 +19,7 @@ class PromptTemplateBlock(pydantic.BaseModel):
18
19
  id: str
19
20
  block_type: BlockTypeEnum
20
21
  properties: PromptTemplateBlockProperties
22
+ state: typing.Optional[PromptTemplateBlockState] = None
21
23
 
22
24
  def json(self, **kwargs: typing.Any) -> str:
23
25
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -7,6 +7,7 @@ import typing
7
7
 
8
8
  from ..core.datetime_utils import serialize_datetime
9
9
  from .block_type_enum import BlockTypeEnum
10
+ from .prompt_template_block_state import PromptTemplateBlockState
10
11
 
11
12
  try:
12
13
  import pydantic.v1 as pydantic # type: ignore
@@ -18,6 +19,7 @@ class PromptTemplateBlockRequest(pydantic.BaseModel):
18
19
  id: str
19
20
  block_type: BlockTypeEnum
20
21
  properties: PromptTemplateBlockPropertiesRequest
22
+ state: typing.Optional[PromptTemplateBlockState] = None
21
23
 
22
24
  def json(self, **kwargs: typing.Any) -> str:
23
25
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import enum
4
+ import typing
5
+
6
+ T_Result = typing.TypeVar("T_Result")
7
+
8
+
9
+ class PromptTemplateBlockState(str, enum.Enum):
10
+ """
11
+ - `ENABLED` - ENABLED
12
+ - `DISABLED` - DISABLED
13
+ """
14
+
15
+ ENABLED = "ENABLED"
16
+ DISABLED = "DISABLED"
17
+
18
+ def visit(self, enabled: typing.Callable[[], T_Result], disabled: typing.Callable[[], T_Result]) -> T_Result:
19
+ if self is PromptTemplateBlockState.ENABLED:
20
+ return enabled()
21
+ if self is PromptTemplateBlockState.DISABLED:
22
+ return disabled()
@@ -13,6 +13,10 @@ except ImportError:
13
13
 
14
14
 
15
15
  class SandboxScenario(pydantic.BaseModel):
16
+ """
17
+ Sandbox Scenario
18
+ """
19
+
16
20
  label: typing.Optional[str] = None
17
21
  inputs: typing.List[ScenarioInput] = pydantic.Field()
18
22
  """
@@ -13,7 +13,12 @@ except ImportError:
13
13
 
14
14
 
15
15
  class TestCaseChatHistoryVariableValue(pydantic.BaseModel):
16
+ """
17
+ A chat history value for a variable in a Test Case.
18
+ """
19
+
16
20
  variable_id: str
21
+ name: str
17
22
  value: typing.Optional[typing.List[ChatMessage]] = None
18
23
 
19
24
  def json(self, **kwargs: typing.Any) -> str:
@@ -13,7 +13,12 @@ except ImportError:
13
13
 
14
14
 
15
15
  class TestCaseErrorVariableValue(pydantic.BaseModel):
16
+ """
17
+ An error value for a variable in a Test Case.
18
+ """
19
+
16
20
  variable_id: str
21
+ name: str
17
22
  value: typing.Optional[VellumError] = None
18
23
 
19
24
  def json(self, **kwargs: typing.Any) -> str:
@@ -12,7 +12,12 @@ except ImportError:
12
12
 
13
13
 
14
14
  class TestCaseJsonVariableValue(pydantic.BaseModel):
15
+ """
16
+ A JSON value for a variable in a Test Case.
17
+ """
18
+
15
19
  variable_id: str
20
+ name: str
16
21
  value: typing.Optional[typing.Dict[str, typing.Any]] = None
17
22
 
18
23
  def json(self, **kwargs: typing.Any) -> str:
@@ -12,7 +12,12 @@ except ImportError:
12
12
 
13
13
 
14
14
  class TestCaseNumberVariableValue(pydantic.BaseModel):
15
+ """
16
+ A numerical value for a variable in a Test Case.
17
+ """
18
+
15
19
  variable_id: str
20
+ name: str
16
21
  value: typing.Optional[float] = None
17
22
 
18
23
  def json(self, **kwargs: typing.Any) -> str:
@@ -13,7 +13,12 @@ except ImportError:
13
13
 
14
14
 
15
15
  class TestCaseSearchResultsVariableValue(pydantic.BaseModel):
16
+ """
17
+ A search results value for a variable in a Test Case.
18
+ """
19
+
16
20
  variable_id: str
21
+ name: str
17
22
  value: typing.Optional[typing.List[SearchResult]] = None
18
23
 
19
24
  def json(self, **kwargs: typing.Any) -> str:
@@ -12,7 +12,12 @@ except ImportError:
12
12
 
13
13
 
14
14
  class TestCaseStringVariableValue(pydantic.BaseModel):
15
+ """
16
+ A string value for a variable in a Test Case.
17
+ """
18
+
15
19
  variable_id: str
20
+ name: str
16
21
  value: typing.Optional[str] = None
17
22
 
18
23
  def json(self, **kwargs: typing.Any) -> str:
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  import typing
6
6
 
7
7
  from .test_suite_run_deployment_release_tag_exec_config import TestSuiteRunDeploymentReleaseTagExecConfig
8
+ from .test_suite_run_external_exec_config import TestSuiteRunExternalExecConfig
8
9
  from .test_suite_run_workflow_release_tag_exec_config import TestSuiteRunWorkflowReleaseTagExecConfig
9
10
 
10
11
 
@@ -28,6 +29,18 @@ class TestSuiteRunExecConfig_WorkflowReleaseTag(TestSuiteRunWorkflowReleaseTagEx
28
29
  populate_by_name = True
29
30
 
30
31
 
32
+ class TestSuiteRunExecConfig_External(TestSuiteRunExternalExecConfig):
33
+ type: typing.Literal["EXTERNAL"] = "EXTERNAL"
34
+
35
+ class Config:
36
+ frozen = True
37
+ smart_union = True
38
+ allow_population_by_field_name = True
39
+ populate_by_name = True
40
+
41
+
31
42
  TestSuiteRunExecConfig = typing.Union[
32
- TestSuiteRunExecConfig_DeploymentReleaseTag, TestSuiteRunExecConfig_WorkflowReleaseTag
43
+ TestSuiteRunExecConfig_DeploymentReleaseTag,
44
+ TestSuiteRunExecConfig_WorkflowReleaseTag,
45
+ TestSuiteRunExecConfig_External,
33
46
  ]
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  import typing
6
6
 
7
7
  from .test_suite_run_deployment_release_tag_exec_config_request import TestSuiteRunDeploymentReleaseTagExecConfigRequest
8
+ from .test_suite_run_external_exec_config_request import TestSuiteRunExternalExecConfigRequest
8
9
  from .test_suite_run_workflow_release_tag_exec_config_request import TestSuiteRunWorkflowReleaseTagExecConfigRequest
9
10
 
10
11
 
@@ -28,6 +29,18 @@ class TestSuiteRunExecConfigRequest_WorkflowReleaseTag(TestSuiteRunWorkflowRelea
28
29
  populate_by_name = True
29
30
 
30
31
 
32
+ class TestSuiteRunExecConfigRequest_External(TestSuiteRunExternalExecConfigRequest):
33
+ type: typing.Literal["EXTERNAL"] = "EXTERNAL"
34
+
35
+ class Config:
36
+ frozen = True
37
+ smart_union = True
38
+ allow_population_by_field_name = True
39
+ populate_by_name = True
40
+
41
+
31
42
  TestSuiteRunExecConfigRequest = typing.Union[
32
- TestSuiteRunExecConfigRequest_DeploymentReleaseTag, TestSuiteRunExecConfigRequest_WorkflowReleaseTag
43
+ TestSuiteRunExecConfigRequest_DeploymentReleaseTag,
44
+ TestSuiteRunExecConfigRequest_WorkflowReleaseTag,
45
+ TestSuiteRunExecConfigRequest_External,
33
46
  ]
@@ -13,8 +13,13 @@ except ImportError:
13
13
 
14
14
 
15
15
  class TestSuiteRunExecutionChatHistoryOutput(pydantic.BaseModel):
16
- output_variable_id: str
16
+ """
17
+ Execution output of an entity evaluated during a Test Suite Run that is of type CHAT_HISTORY
18
+ """
19
+
20
+ name: str
17
21
  value: typing.Optional[typing.List[ChatMessage]] = None
22
+ output_variable_id: str
18
23
 
19
24
  def json(self, **kwargs: typing.Any) -> str:
20
25
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -13,8 +13,13 @@ except ImportError:
13
13
 
14
14
 
15
15
  class TestSuiteRunExecutionErrorOutput(pydantic.BaseModel):
16
- output_variable_id: str
16
+ """
17
+ Execution output of an entity evaluated during a Test Suite Run that is of type ERROR
18
+ """
19
+
20
+ name: str
17
21
  value: typing.Optional[VellumError] = None
22
+ output_variable_id: str
18
23
 
19
24
  def json(self, **kwargs: typing.Any) -> str:
20
25
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -12,8 +12,13 @@ except ImportError:
12
12
 
13
13
 
14
14
  class TestSuiteRunExecutionJsonOutput(pydantic.BaseModel):
15
- output_variable_id: str
15
+ """
16
+ Execution output of an entity evaluated during a Test Suite Run that is of type JSON
17
+ """
18
+
19
+ name: str
16
20
  value: typing.Optional[typing.Dict[str, typing.Any]] = None
21
+ output_variable_id: str
17
22
 
18
23
  def json(self, **kwargs: typing.Any) -> str:
19
24
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -0,0 +1,31 @@
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
+
8
+ try:
9
+ import pydantic.v1 as pydantic # type: ignore
10
+ except ImportError:
11
+ import pydantic # type: ignore
12
+
13
+
14
+ class TestSuiteRunExecutionMetricDefinition(pydantic.BaseModel):
15
+ id: typing.Optional[str] = None
16
+ label: typing.Optional[str] = None
17
+ name: typing.Optional[str] = None
18
+
19
+ def json(self, **kwargs: typing.Any) -> str:
20
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
21
+ return super().json(**kwargs_with_defaults)
22
+
23
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
24
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
25
+ return super().dict(**kwargs_with_defaults)
26
+
27
+ class Config:
28
+ frozen = True
29
+ smart_union = True
30
+ extra = pydantic.Extra.allow
31
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -4,6 +4,7 @@ import datetime as dt
4
4
  import typing
5
5
 
6
6
  from ..core.datetime_utils import serialize_datetime
7
+ from .test_suite_run_execution_metric_definition import TestSuiteRunExecutionMetricDefinition
7
8
  from .test_suite_run_metric_output import TestSuiteRunMetricOutput
8
9
 
9
10
  try:
@@ -15,6 +16,8 @@ except ImportError:
15
16
  class TestSuiteRunExecutionMetricResult(pydantic.BaseModel):
16
17
  metric_id: str
17
18
  outputs: typing.List[TestSuiteRunMetricOutput]
19
+ metric_label: typing.Optional[str] = None
20
+ metric_definition: typing.Optional[TestSuiteRunExecutionMetricDefinition] = None
18
21
 
19
22
  def json(self, **kwargs: typing.Any) -> str:
20
23
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -12,8 +12,13 @@ except ImportError:
12
12
 
13
13
 
14
14
  class TestSuiteRunExecutionNumberOutput(pydantic.BaseModel):
15
- output_variable_id: str
15
+ """
16
+ Execution output of an entity evaluated during a Test Suite Run that is of type NUMBER
17
+ """
18
+
19
+ name: str
16
20
  value: typing.Optional[float] = None
21
+ output_variable_id: str
17
22
 
18
23
  def json(self, **kwargs: typing.Any) -> str:
19
24
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -13,8 +13,13 @@ except ImportError:
13
13
 
14
14
 
15
15
  class TestSuiteRunExecutionSearchResultsOutput(pydantic.BaseModel):
16
- output_variable_id: str
16
+ """
17
+ Execution output of an entity evaluated during a Test Suite Run that is of type SEARCH_RESULTS
18
+ """
19
+
20
+ name: str
17
21
  value: typing.Optional[typing.List[SearchResult]] = None
22
+ output_variable_id: str
18
23
 
19
24
  def json(self, **kwargs: typing.Any) -> str:
20
25
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -12,8 +12,13 @@ except ImportError:
12
12
 
13
13
 
14
14
  class TestSuiteRunExecutionStringOutput(pydantic.BaseModel):
15
- output_variable_id: str
15
+ """
16
+ Execution output of an entity evaluated during a Test Suite Run that is of type STRING
17
+ """
18
+
19
+ name: str
16
20
  value: typing.Optional[str] = None
21
+ output_variable_id: str
17
22
 
18
23
  def json(self, **kwargs: typing.Any) -> str:
19
24
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
@@ -0,0 +1,38 @@
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 .test_suite_run_external_exec_config_data import TestSuiteRunExternalExecConfigData
8
+
9
+ try:
10
+ import pydantic.v1 as pydantic # type: ignore
11
+ except ImportError:
12
+ import pydantic # type: ignore
13
+
14
+
15
+ class TestSuiteRunExternalExecConfig(pydantic.BaseModel):
16
+ """
17
+ Execution configuration for running a Vellum Test Suite against an external callable
18
+ """
19
+
20
+ data: TestSuiteRunExternalExecConfigData
21
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
22
+ """
23
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
24
+ """
25
+
26
+ def json(self, **kwargs: typing.Any) -> str:
27
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
28
+ return super().json(**kwargs_with_defaults)
29
+
30
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
31
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
32
+ return super().dict(**kwargs_with_defaults)
33
+
34
+ class Config:
35
+ frozen = True
36
+ smart_union = True
37
+ extra = pydantic.Extra.allow
38
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,33 @@
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 .external_test_case_execution import ExternalTestCaseExecution
8
+
9
+ try:
10
+ import pydantic.v1 as pydantic # type: ignore
11
+ except ImportError:
12
+ import pydantic # type: ignore
13
+
14
+
15
+ class TestSuiteRunExternalExecConfigData(pydantic.BaseModel):
16
+ executions: typing.List[ExternalTestCaseExecution] = pydantic.Field()
17
+ """
18
+ The executions of some callable external to Vellum whose outputs you would like to evaluate.
19
+ """
20
+
21
+ def json(self, **kwargs: typing.Any) -> str:
22
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
23
+ return super().json(**kwargs_with_defaults)
24
+
25
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
26
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
27
+ return super().dict(**kwargs_with_defaults)
28
+
29
+ class Config:
30
+ frozen = True
31
+ smart_union = True
32
+ extra = pydantic.Extra.allow
33
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,33 @@
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 .external_test_case_execution_request import ExternalTestCaseExecutionRequest
8
+
9
+ try:
10
+ import pydantic.v1 as pydantic # type: ignore
11
+ except ImportError:
12
+ import pydantic # type: ignore
13
+
14
+
15
+ class TestSuiteRunExternalExecConfigDataRequest(pydantic.BaseModel):
16
+ executions: typing.List[ExternalTestCaseExecutionRequest] = pydantic.Field()
17
+ """
18
+ The executions of some callable external to Vellum whose outputs you would like to evaluate.
19
+ """
20
+
21
+ def json(self, **kwargs: typing.Any) -> str:
22
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
23
+ return super().json(**kwargs_with_defaults)
24
+
25
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
26
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
27
+ return super().dict(**kwargs_with_defaults)
28
+
29
+ class Config:
30
+ frozen = True
31
+ smart_union = True
32
+ extra = pydantic.Extra.allow
33
+ json_encoders = {dt.datetime: serialize_datetime}