vellum-ai 1.2.4__py3-none-any.whl → 1.3.0__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 (105) hide show
  1. vellum/__init__.py +56 -0
  2. vellum/client/README.md +1 -1
  3. vellum/client/core/client_wrapper.py +2 -2
  4. vellum/client/reference.md +0 -9
  5. vellum/client/resources/workflow_sandboxes/client.py +0 -12
  6. vellum/client/resources/workflow_sandboxes/raw_client.py +2 -10
  7. vellum/client/resources/workflows/client.py +20 -0
  8. vellum/client/resources/workflows/raw_client.py +20 -0
  9. vellum/client/types/__init__.py +56 -0
  10. vellum/client/types/audio_input.py +30 -0
  11. vellum/client/types/code_executor_input.py +8 -0
  12. vellum/client/types/deployment_read.py +5 -5
  13. vellum/client/types/document_input.py +30 -0
  14. vellum/client/types/image_input.py +30 -0
  15. vellum/client/types/named_scenario_input_audio_variable_value_request.py +22 -0
  16. vellum/client/types/named_scenario_input_document_variable_value_request.py +22 -0
  17. vellum/client/types/named_scenario_input_image_variable_value_request.py +22 -0
  18. vellum/client/types/named_scenario_input_request.py +8 -0
  19. vellum/client/types/named_scenario_input_video_variable_value_request.py +22 -0
  20. vellum/client/types/named_test_case_audio_variable_value.py +26 -0
  21. vellum/client/types/named_test_case_audio_variable_value_request.py +26 -0
  22. vellum/client/types/named_test_case_document_variable_value.py +22 -0
  23. vellum/client/types/named_test_case_document_variable_value_request.py +22 -0
  24. vellum/client/types/named_test_case_image_variable_value.py +22 -0
  25. vellum/client/types/named_test_case_image_variable_value_request.py +22 -0
  26. vellum/client/types/named_test_case_variable_value.py +8 -0
  27. vellum/client/types/named_test_case_variable_value_request.py +8 -0
  28. vellum/client/types/named_test_case_video_variable_value.py +22 -0
  29. vellum/client/types/named_test_case_video_variable_value_request.py +22 -0
  30. vellum/client/types/node_execution_span_attributes.py +1 -0
  31. vellum/client/types/scenario_input.py +11 -1
  32. vellum/client/types/scenario_input_audio_variable_value.py +22 -0
  33. vellum/client/types/scenario_input_document_variable_value.py +22 -0
  34. vellum/client/types/scenario_input_image_variable_value.py +22 -0
  35. vellum/client/types/scenario_input_video_variable_value.py +22 -0
  36. vellum/client/types/slim_deployment_read.py +5 -5
  37. vellum/client/types/slim_workflow_deployment.py +5 -5
  38. vellum/client/types/span_link.py +1 -1
  39. vellum/client/types/span_link_type_enum.py +1 -1
  40. vellum/client/types/test_case_audio_variable_value.py +27 -0
  41. vellum/client/types/test_case_document_variable_value.py +27 -0
  42. vellum/client/types/test_case_image_variable_value.py +27 -0
  43. vellum/client/types/test_case_variable_value.py +8 -0
  44. vellum/client/types/test_case_video_variable_value.py +27 -0
  45. vellum/client/types/video_input.py +30 -0
  46. vellum/client/types/workflow_deployment_read.py +5 -5
  47. vellum/client/types/workflow_push_deployment_config_request.py +1 -0
  48. vellum/client/types/workflow_request_audio_input_request.py +30 -0
  49. vellum/client/types/workflow_request_document_input_request.py +30 -0
  50. vellum/client/types/workflow_request_image_input_request.py +30 -0
  51. vellum/client/types/workflow_request_input_request.py +8 -0
  52. vellum/client/types/workflow_request_video_input_request.py +30 -0
  53. vellum/types/audio_input.py +3 -0
  54. vellum/types/document_input.py +3 -0
  55. vellum/types/image_input.py +3 -0
  56. vellum/types/named_scenario_input_audio_variable_value_request.py +3 -0
  57. vellum/types/named_scenario_input_document_variable_value_request.py +3 -0
  58. vellum/types/named_scenario_input_image_variable_value_request.py +3 -0
  59. vellum/types/named_scenario_input_video_variable_value_request.py +3 -0
  60. vellum/types/named_test_case_audio_variable_value.py +3 -0
  61. vellum/types/named_test_case_audio_variable_value_request.py +3 -0
  62. vellum/types/named_test_case_document_variable_value.py +3 -0
  63. vellum/types/named_test_case_document_variable_value_request.py +3 -0
  64. vellum/types/named_test_case_image_variable_value.py +3 -0
  65. vellum/types/named_test_case_image_variable_value_request.py +3 -0
  66. vellum/types/named_test_case_video_variable_value.py +3 -0
  67. vellum/types/named_test_case_video_variable_value_request.py +3 -0
  68. vellum/types/scenario_input_audio_variable_value.py +3 -0
  69. vellum/types/scenario_input_document_variable_value.py +3 -0
  70. vellum/types/scenario_input_image_variable_value.py +3 -0
  71. vellum/types/scenario_input_video_variable_value.py +3 -0
  72. vellum/types/test_case_audio_variable_value.py +3 -0
  73. vellum/types/test_case_document_variable_value.py +3 -0
  74. vellum/types/test_case_image_variable_value.py +3 -0
  75. vellum/types/test_case_video_variable_value.py +3 -0
  76. vellum/types/video_input.py +3 -0
  77. vellum/types/workflow_request_audio_input_request.py +3 -0
  78. vellum/types/workflow_request_document_input_request.py +3 -0
  79. vellum/types/workflow_request_image_input_request.py +3 -0
  80. vellum/types/workflow_request_video_input_request.py +3 -0
  81. vellum/workflows/events/types.py +6 -1
  82. vellum/workflows/integrations/tests/test_mcp_service.py +106 -1
  83. vellum/workflows/nodes/__init__.py +2 -0
  84. vellum/workflows/nodes/displayable/__init__.py +2 -0
  85. vellum/workflows/nodes/displayable/web_search_node/__init__.py +3 -0
  86. vellum/workflows/nodes/displayable/web_search_node/node.py +133 -0
  87. vellum/workflows/resolvers/base.py +19 -1
  88. vellum/workflows/resolvers/resolver.py +97 -0
  89. vellum/workflows/resolvers/tests/test_resolver.py +131 -0
  90. vellum/workflows/resolvers/types.py +11 -0
  91. vellum/workflows/runner/runner.py +49 -1
  92. vellum/workflows/state/context.py +41 -7
  93. vellum/workflows/utils/zip.py +46 -0
  94. vellum/workflows/workflows/base.py +13 -0
  95. {vellum_ai-1.2.4.dist-info → vellum_ai-1.3.0.dist-info}/METADATA +1 -1
  96. {vellum_ai-1.2.4.dist-info → vellum_ai-1.3.0.dist-info}/RECORD +105 -43
  97. vellum_cli/tests/test_init.py +7 -24
  98. vellum_cli/tests/test_pull.py +27 -52
  99. vellum_ee/workflows/display/tests/workflow_serialization/generic_nodes/test_attributes_serialization.py +7 -33
  100. vellum_ee/workflows/display/utils/events.py +19 -1
  101. vellum_ee/workflows/display/utils/tests/test_events.py +42 -0
  102. vellum_ee/workflows/tests/test_server.py +115 -0
  103. {vellum_ai-1.2.4.dist-info → vellum_ai-1.3.0.dist-info}/LICENSE +0 -0
  104. {vellum_ai-1.2.4.dist-info → vellum_ai-1.3.0.dist-info}/WHEEL +0 -0
  105. {vellum_ai-1.2.4.dist-info → vellum_ai-1.3.0.dist-info}/entry_points.txt +0 -0
@@ -3,13 +3,17 @@
3
3
  import typing
4
4
 
5
5
  from .named_test_case_array_variable_value_request import NamedTestCaseArrayVariableValueRequest
6
+ from .named_test_case_audio_variable_value_request import NamedTestCaseAudioVariableValueRequest
6
7
  from .named_test_case_chat_history_variable_value_request import NamedTestCaseChatHistoryVariableValueRequest
8
+ from .named_test_case_document_variable_value_request import NamedTestCaseDocumentVariableValueRequest
7
9
  from .named_test_case_error_variable_value_request import NamedTestCaseErrorVariableValueRequest
8
10
  from .named_test_case_function_call_variable_value_request import NamedTestCaseFunctionCallVariableValueRequest
11
+ from .named_test_case_image_variable_value_request import NamedTestCaseImageVariableValueRequest
9
12
  from .named_test_case_json_variable_value_request import NamedTestCaseJsonVariableValueRequest
10
13
  from .named_test_case_number_variable_value_request import NamedTestCaseNumberVariableValueRequest
11
14
  from .named_test_case_search_results_variable_value_request import NamedTestCaseSearchResultsVariableValueRequest
12
15
  from .named_test_case_string_variable_value_request import NamedTestCaseStringVariableValueRequest
16
+ from .named_test_case_video_variable_value_request import NamedTestCaseVideoVariableValueRequest
13
17
 
14
18
  NamedTestCaseVariableValueRequest = typing.Union[
15
19
  NamedTestCaseStringVariableValueRequest,
@@ -20,4 +24,8 @@ NamedTestCaseVariableValueRequest = typing.Union[
20
24
  NamedTestCaseErrorVariableValueRequest,
21
25
  NamedTestCaseFunctionCallVariableValueRequest,
22
26
  NamedTestCaseArrayVariableValueRequest,
27
+ NamedTestCaseAudioVariableValueRequest,
28
+ NamedTestCaseVideoVariableValueRequest,
29
+ NamedTestCaseImageVariableValueRequest,
30
+ NamedTestCaseDocumentVariableValueRequest,
23
31
  ]
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_video import VellumVideo
8
+
9
+
10
+ class NamedTestCaseVideoVariableValue(UniversalBaseModel):
11
+ type: typing.Literal["VIDEO"] = "VIDEO"
12
+ value: VellumVideo
13
+ name: str
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_video_request import VellumVideoRequest
8
+
9
+
10
+ class NamedTestCaseVideoVariableValueRequest(UniversalBaseModel):
11
+ type: typing.Literal["VIDEO"] = "VIDEO"
12
+ value: VellumVideoRequest
13
+ name: str
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -8,6 +8,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
8
 
9
9
  class NodeExecutionSpanAttributes(UniversalBaseModel):
10
10
  label: str
11
+ filepath: typing.Optional[str] = None
11
12
  node_id: str
12
13
 
13
14
  if IS_PYDANTIC_V2:
@@ -2,10 +2,20 @@
2
2
 
3
3
  import typing
4
4
 
5
+ from .scenario_input_audio_variable_value import ScenarioInputAudioVariableValue
5
6
  from .scenario_input_chat_history_variable_value import ScenarioInputChatHistoryVariableValue
7
+ from .scenario_input_document_variable_value import ScenarioInputDocumentVariableValue
8
+ from .scenario_input_image_variable_value import ScenarioInputImageVariableValue
6
9
  from .scenario_input_json_variable_value import ScenarioInputJsonVariableValue
7
10
  from .scenario_input_string_variable_value import ScenarioInputStringVariableValue
11
+ from .scenario_input_video_variable_value import ScenarioInputVideoVariableValue
8
12
 
9
13
  ScenarioInput = typing.Union[
10
- ScenarioInputStringVariableValue, ScenarioInputJsonVariableValue, ScenarioInputChatHistoryVariableValue
14
+ ScenarioInputStringVariableValue,
15
+ ScenarioInputJsonVariableValue,
16
+ ScenarioInputChatHistoryVariableValue,
17
+ ScenarioInputAudioVariableValue,
18
+ ScenarioInputVideoVariableValue,
19
+ ScenarioInputImageVariableValue,
20
+ ScenarioInputDocumentVariableValue,
11
21
  ]
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_audio import VellumAudio
8
+
9
+
10
+ class ScenarioInputAudioVariableValue(UniversalBaseModel):
11
+ type: typing.Literal["AUDIO"] = "AUDIO"
12
+ value: VellumAudio
13
+ input_variable_id: str
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_document import VellumDocument
8
+
9
+
10
+ class ScenarioInputDocumentVariableValue(UniversalBaseModel):
11
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
12
+ value: VellumDocument
13
+ input_variable_id: str
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_image import VellumImage
8
+
9
+
10
+ class ScenarioInputImageVariableValue(UniversalBaseModel):
11
+ type: typing.Literal["IMAGE"] = "IMAGE"
12
+ value: VellumImage
13
+ input_variable_id: str
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_video import VellumVideo
8
+
9
+
10
+ class ScenarioInputVideoVariableValue(UniversalBaseModel):
11
+ type: typing.Literal["VIDEO"] = "VIDEO"
12
+ value: VellumVideo
13
+ input_variable_id: str
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -13,6 +13,10 @@ from .vellum_variable import VellumVariable
13
13
 
14
14
 
15
15
  class SlimDeploymentRead(UniversalBaseModel):
16
+ """
17
+ A subset of a Prompt Deployment's full details.
18
+ """
19
+
16
20
  id: str
17
21
  created: dt.datetime
18
22
  label: str = pydantic.Field()
@@ -35,11 +39,7 @@ class SlimDeploymentRead(UniversalBaseModel):
35
39
 
36
40
  environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
37
41
  """
38
- The environment this deployment is used in
39
-
40
- * `DEVELOPMENT` - Development
41
- * `STAGING` - Staging
42
- * `PRODUCTION` - Production
42
+ Deprecated. The value returned will always be 'PRODUCTION'.
43
43
  """
44
44
 
45
45
  last_deployed_on: dt.datetime
@@ -13,6 +13,10 @@ from .vellum_variable import VellumVariable
13
13
 
14
14
 
15
15
  class SlimWorkflowDeployment(UniversalBaseModel):
16
+ """
17
+ A subset of a Workflow Deployment's full details.
18
+ """
19
+
16
20
  id: str
17
21
  name: str = pydantic.Field()
18
22
  """
@@ -34,11 +38,7 @@ class SlimWorkflowDeployment(UniversalBaseModel):
34
38
 
35
39
  environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
36
40
  """
37
- The environment this workflow deployment is used in
38
-
39
- * `DEVELOPMENT` - Development
40
- * `STAGING` - Staging
41
- * `PRODUCTION` - Production
41
+ Deprecated. The value returned will always be 'PRODUCTION'.
42
42
  """
43
43
 
44
44
  created: dt.datetime
@@ -11,7 +11,7 @@ from .span_link_type_enum import SpanLinkTypeEnum
11
11
 
12
12
  class SpanLink(UniversalBaseModel):
13
13
  trace_id: str
14
- type: SpanLinkTypeEnum = "TRIGGERED_BY"
14
+ type: SpanLinkTypeEnum
15
15
  span_context: "ParentContext"
16
16
 
17
17
  if IS_PYDANTIC_V2:
@@ -2,4 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- SpanLinkTypeEnum = typing.Literal["TRIGGERED_BY"]
5
+ SpanLinkTypeEnum = typing.Union[typing.Literal["TRIGGERED_BY", "PREVIOUS_SPAN", "ROOT_SPAN"], typing.Any]
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_audio import VellumAudio
8
+
9
+
10
+ class TestCaseAudioVariableValue(UniversalBaseModel):
11
+ """
12
+ An audio value for a variable in a Test Case.
13
+ """
14
+
15
+ variable_id: str
16
+ name: typing.Optional[str] = None
17
+ type: typing.Literal["AUDIO"] = "AUDIO"
18
+ value: VellumAudio
19
+
20
+ if IS_PYDANTIC_V2:
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
+ else:
23
+
24
+ class Config:
25
+ frozen = True
26
+ smart_union = True
27
+ extra = pydantic.Extra.allow
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_document import VellumDocument
8
+
9
+
10
+ class TestCaseDocumentVariableValue(UniversalBaseModel):
11
+ """
12
+ A document value for a variable in a Test Case.
13
+ """
14
+
15
+ variable_id: str
16
+ name: typing.Optional[str] = None
17
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
18
+ value: VellumDocument
19
+
20
+ if IS_PYDANTIC_V2:
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
+ else:
23
+
24
+ class Config:
25
+ frozen = True
26
+ smart_union = True
27
+ extra = pydantic.Extra.allow
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_image import VellumImage
8
+
9
+
10
+ class TestCaseImageVariableValue(UniversalBaseModel):
11
+ """
12
+ An image value for a variable in a Test Case.
13
+ """
14
+
15
+ variable_id: str
16
+ name: typing.Optional[str] = None
17
+ type: typing.Literal["IMAGE"] = "IMAGE"
18
+ value: VellumImage
19
+
20
+ if IS_PYDANTIC_V2:
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
+ else:
23
+
24
+ class Config:
25
+ frozen = True
26
+ smart_union = True
27
+ extra = pydantic.Extra.allow
@@ -3,13 +3,17 @@
3
3
  import typing
4
4
 
5
5
  from .test_case_array_variable_value import TestCaseArrayVariableValue
6
+ from .test_case_audio_variable_value import TestCaseAudioVariableValue
6
7
  from .test_case_chat_history_variable_value import TestCaseChatHistoryVariableValue
8
+ from .test_case_document_variable_value import TestCaseDocumentVariableValue
7
9
  from .test_case_error_variable_value import TestCaseErrorVariableValue
8
10
  from .test_case_function_call_variable_value import TestCaseFunctionCallVariableValue
11
+ from .test_case_image_variable_value import TestCaseImageVariableValue
9
12
  from .test_case_json_variable_value import TestCaseJsonVariableValue
10
13
  from .test_case_number_variable_value import TestCaseNumberVariableValue
11
14
  from .test_case_search_results_variable_value import TestCaseSearchResultsVariableValue
12
15
  from .test_case_string_variable_value import TestCaseStringVariableValue
16
+ from .test_case_video_variable_value import TestCaseVideoVariableValue
13
17
 
14
18
  TestCaseVariableValue = typing.Union[
15
19
  TestCaseStringVariableValue,
@@ -20,4 +24,8 @@ TestCaseVariableValue = typing.Union[
20
24
  TestCaseErrorVariableValue,
21
25
  TestCaseFunctionCallVariableValue,
22
26
  TestCaseArrayVariableValue,
27
+ TestCaseAudioVariableValue,
28
+ TestCaseImageVariableValue,
29
+ TestCaseVideoVariableValue,
30
+ TestCaseDocumentVariableValue,
23
31
  ]
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_video import VellumVideo
8
+
9
+
10
+ class TestCaseVideoVariableValue(UniversalBaseModel):
11
+ """
12
+ A video value for a variable in a Test Case.
13
+ """
14
+
15
+ variable_id: str
16
+ name: typing.Optional[str] = None
17
+ type: typing.Literal["VIDEO"] = "VIDEO"
18
+ value: VellumVideo
19
+
20
+ if IS_PYDANTIC_V2:
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
+ else:
23
+
24
+ class Config:
25
+ frozen = True
26
+ smart_union = True
27
+ extra = pydantic.Extra.allow
@@ -0,0 +1,30 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_video import VellumVideo
8
+
9
+
10
+ class VideoInput(UniversalBaseModel):
11
+ """
12
+ A user input representing a Vellum Video value
13
+ """
14
+
15
+ name: str = pydantic.Field()
16
+ """
17
+ The variable's name
18
+ """
19
+
20
+ type: typing.Literal["VIDEO"] = "VIDEO"
21
+ value: VellumVideo
22
+
23
+ if IS_PYDANTIC_V2:
24
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
25
+ else:
26
+
27
+ class Config:
28
+ frozen = True
29
+ smart_union = True
30
+ extra = pydantic.Extra.allow
@@ -13,6 +13,10 @@ from .vellum_variable import VellumVariable
13
13
 
14
14
 
15
15
  class WorkflowDeploymentRead(UniversalBaseModel):
16
+ """
17
+ A Workflow Deployment's full details.
18
+ """
19
+
16
20
  id: str
17
21
  name: str = pydantic.Field()
18
22
  """
@@ -34,11 +38,7 @@ class WorkflowDeploymentRead(UniversalBaseModel):
34
38
 
35
39
  environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
36
40
  """
37
- The environment this workflow deployment is used in
38
-
39
- * `DEVELOPMENT` - Development
40
- * `STAGING` - Staging
41
- * `PRODUCTION` - Production
41
+ Deprecated. The value returned will always be 'PRODUCTION'.
42
42
  """
43
43
 
44
44
  created: dt.datetime
@@ -11,6 +11,7 @@ class WorkflowPushDeploymentConfigRequest(UniversalBaseModel):
11
11
  name: typing.Optional[str] = None
12
12
  description: typing.Optional[str] = None
13
13
  release_tags: typing.Optional[typing.List[str]] = None
14
+ release_description: typing.Optional[str] = None
14
15
 
15
16
  if IS_PYDANTIC_V2:
16
17
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,30 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_audio_request import VellumAudioRequest
8
+
9
+
10
+ class WorkflowRequestAudioInputRequest(UniversalBaseModel):
11
+ """
12
+ The input for an audio variable in a Workflow.
13
+ """
14
+
15
+ name: str = pydantic.Field()
16
+ """
17
+ The variable's name, as defined in the Workflow.
18
+ """
19
+
20
+ type: typing.Literal["AUDIO"] = "AUDIO"
21
+ value: VellumAudioRequest
22
+
23
+ if IS_PYDANTIC_V2:
24
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
25
+ else:
26
+
27
+ class Config:
28
+ frozen = True
29
+ smart_union = True
30
+ extra = pydantic.Extra.allow
@@ -0,0 +1,30 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_document_request import VellumDocumentRequest
8
+
9
+
10
+ class WorkflowRequestDocumentInputRequest(UniversalBaseModel):
11
+ """
12
+ The input for a document variable in a Workflow.
13
+ """
14
+
15
+ name: str = pydantic.Field()
16
+ """
17
+ The variable's name, as defined in the Workflow.
18
+ """
19
+
20
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
21
+ value: VellumDocumentRequest
22
+
23
+ if IS_PYDANTIC_V2:
24
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
25
+ else:
26
+
27
+ class Config:
28
+ frozen = True
29
+ smart_union = True
30
+ extra = pydantic.Extra.allow
@@ -0,0 +1,30 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_image_request import VellumImageRequest
8
+
9
+
10
+ class WorkflowRequestImageInputRequest(UniversalBaseModel):
11
+ """
12
+ The input for an image variable in a Workflow.
13
+ """
14
+
15
+ name: str = pydantic.Field()
16
+ """
17
+ The variable's name, as defined in the Workflow.
18
+ """
19
+
20
+ type: typing.Literal["IMAGE"] = "IMAGE"
21
+ value: VellumImageRequest
22
+
23
+ if IS_PYDANTIC_V2:
24
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
25
+ else:
26
+
27
+ class Config:
28
+ frozen = True
29
+ smart_union = True
30
+ extra = pydantic.Extra.allow
@@ -2,14 +2,22 @@
2
2
 
3
3
  import typing
4
4
 
5
+ from .workflow_request_audio_input_request import WorkflowRequestAudioInputRequest
5
6
  from .workflow_request_chat_history_input_request import WorkflowRequestChatHistoryInputRequest
7
+ from .workflow_request_document_input_request import WorkflowRequestDocumentInputRequest
8
+ from .workflow_request_image_input_request import WorkflowRequestImageInputRequest
6
9
  from .workflow_request_json_input_request import WorkflowRequestJsonInputRequest
7
10
  from .workflow_request_number_input_request import WorkflowRequestNumberInputRequest
8
11
  from .workflow_request_string_input_request import WorkflowRequestStringInputRequest
12
+ from .workflow_request_video_input_request import WorkflowRequestVideoInputRequest
9
13
 
10
14
  WorkflowRequestInputRequest = typing.Union[
11
15
  WorkflowRequestStringInputRequest,
12
16
  WorkflowRequestJsonInputRequest,
13
17
  WorkflowRequestChatHistoryInputRequest,
14
18
  WorkflowRequestNumberInputRequest,
19
+ WorkflowRequestAudioInputRequest,
20
+ WorkflowRequestVideoInputRequest,
21
+ WorkflowRequestImageInputRequest,
22
+ WorkflowRequestDocumentInputRequest,
15
23
  ]
@@ -0,0 +1,30 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
+ from .vellum_video_request import VellumVideoRequest
8
+
9
+
10
+ class WorkflowRequestVideoInputRequest(UniversalBaseModel):
11
+ """
12
+ The input for a video variable in a Workflow.
13
+ """
14
+
15
+ name: str = pydantic.Field()
16
+ """
17
+ The variable's name, as defined in the Workflow.
18
+ """
19
+
20
+ type: typing.Literal["VIDEO"] = "VIDEO"
21
+ value: VellumVideoRequest
22
+
23
+ if IS_PYDANTIC_V2:
24
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
25
+ else:
26
+
27
+ class Config:
28
+ frozen = True
29
+ smart_union = True
30
+ extra = pydantic.Extra.allow
@@ -0,0 +1,3 @@
1
+ # WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
2
+
3
+ from vellum.client.types.audio_input import *
@@ -0,0 +1,3 @@
1
+ # WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
2
+
3
+ from vellum.client.types.document_input import *
@@ -0,0 +1,3 @@
1
+ # WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
2
+
3
+ from vellum.client.types.image_input import *
@@ -0,0 +1,3 @@
1
+ # WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
2
+
3
+ from vellum.client.types.named_scenario_input_audio_variable_value_request import *
@@ -0,0 +1,3 @@
1
+ # WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
2
+
3
+ from vellum.client.types.named_scenario_input_document_variable_value_request import *
@@ -0,0 +1,3 @@
1
+ # WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
2
+
3
+ from vellum.client.types.named_scenario_input_image_variable_value_request import *
@@ -0,0 +1,3 @@
1
+ # WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
2
+
3
+ from vellum.client.types.named_scenario_input_video_variable_value_request import *
@@ -0,0 +1,3 @@
1
+ # WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
2
+
3
+ from vellum.client.types.named_test_case_audio_variable_value import *