vellum-ai 0.3.21__py3-none-any.whl → 0.3.23__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 (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}