vellum-ai 0.8.23__py3-none-any.whl → 0.8.26__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 (36) hide show
  1. vellum/__init__.py +34 -0
  2. vellum/client.py +4 -0
  3. vellum/core/client_wrapper.py +1 -1
  4. vellum/lib/test_suites/resources.py +27 -8
  5. vellum/lib/utils/typing.py +10 -0
  6. vellum/lib/utils/uuid.py +10 -0
  7. vellum/resources/__init__.py +4 -0
  8. vellum/resources/ad_hoc/client.py +21 -0
  9. vellum/resources/folder_entities/__init__.py +3 -0
  10. vellum/resources/folder_entities/client.py +200 -3
  11. vellum/resources/folder_entities/types/__init__.py +5 -0
  12. vellum/resources/folder_entities/types/folder_entities_list_request_entity_status.py +5 -0
  13. vellum/resources/workspace_secrets/__init__.py +2 -0
  14. vellum/resources/workspace_secrets/client.py +127 -0
  15. vellum/types/__init__.py +30 -0
  16. vellum/types/api_node_result_data.py +4 -4
  17. vellum/types/folder_entity.py +16 -0
  18. vellum/types/folder_entity_document_index.py +26 -0
  19. vellum/types/folder_entity_document_index_data.py +25 -0
  20. vellum/types/folder_entity_folder.py +26 -0
  21. vellum/types/folder_entity_folder_data.py +24 -0
  22. vellum/types/folder_entity_prompt_sandbox.py +26 -0
  23. vellum/types/folder_entity_prompt_sandbox_data.py +26 -0
  24. vellum/types/folder_entity_test_suite.py +26 -0
  25. vellum/types/folder_entity_test_suite_data.py +25 -0
  26. vellum/types/folder_entity_workflow_sandbox.py +26 -0
  27. vellum/types/folder_entity_workflow_sandbox_data.py +26 -0
  28. vellum/types/paginated_folder_entity_list.py +23 -0
  29. vellum/types/prompt_settings_request.py +19 -0
  30. vellum/types/secret_type_enum.py +5 -0
  31. vellum/types/vellum_error_code_enum.py +4 -1
  32. vellum/types/workspace_secret_read.py +25 -0
  33. {vellum_ai-0.8.23.dist-info → vellum_ai-0.8.26.dist-info}/METADATA +1 -1
  34. {vellum_ai-0.8.23.dist-info → vellum_ai-0.8.26.dist-info}/RECORD +36 -15
  35. {vellum_ai-0.8.23.dist-info → vellum_ai-0.8.26.dist-info}/LICENSE +0 -0
  36. {vellum_ai-0.8.23.dist-info → vellum_ai-0.8.26.dist-info}/WHEEL +0 -0
@@ -0,0 +1,127 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ...core.client_wrapper import SyncClientWrapper
4
+ import typing
5
+ from ...core.request_options import RequestOptions
6
+ from ...types.workspace_secret_read import WorkspaceSecretRead
7
+ from ...core.jsonable_encoder import jsonable_encoder
8
+ from ...core.pydantic_utilities import parse_obj_as
9
+ from json.decoder import JSONDecodeError
10
+ from ...core.api_error import ApiError
11
+ from ...core.client_wrapper import AsyncClientWrapper
12
+
13
+
14
+ class WorkspaceSecretsClient:
15
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
16
+ self._client_wrapper = client_wrapper
17
+
18
+ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> WorkspaceSecretRead:
19
+ """
20
+ Used to retrieve a Workspace Secret given its ID or name.
21
+
22
+ Parameters
23
+ ----------
24
+ id : str
25
+ Either the Workspace Secret's ID or its unique name
26
+
27
+ request_options : typing.Optional[RequestOptions]
28
+ Request-specific configuration.
29
+
30
+ Returns
31
+ -------
32
+ WorkspaceSecretRead
33
+
34
+
35
+ Examples
36
+ --------
37
+ from vellum import Vellum
38
+
39
+ client = Vellum(
40
+ api_key="YOUR_API_KEY",
41
+ )
42
+ client.workspace_secrets.retrieve(
43
+ id="id",
44
+ )
45
+ """
46
+ _response = self._client_wrapper.httpx_client.request(
47
+ f"v1/workspace-secrets/{jsonable_encoder(id)}",
48
+ base_url=self._client_wrapper.get_environment().default,
49
+ method="GET",
50
+ request_options=request_options,
51
+ )
52
+ try:
53
+ if 200 <= _response.status_code < 300:
54
+ return typing.cast(
55
+ WorkspaceSecretRead,
56
+ parse_obj_as(
57
+ type_=WorkspaceSecretRead, # type: ignore
58
+ object_=_response.json(),
59
+ ),
60
+ )
61
+ _response_json = _response.json()
62
+ except JSONDecodeError:
63
+ raise ApiError(status_code=_response.status_code, body=_response.text)
64
+ raise ApiError(status_code=_response.status_code, body=_response_json)
65
+
66
+
67
+ class AsyncWorkspaceSecretsClient:
68
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
69
+ self._client_wrapper = client_wrapper
70
+
71
+ async def retrieve(
72
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
73
+ ) -> WorkspaceSecretRead:
74
+ """
75
+ Used to retrieve a Workspace Secret given its ID or name.
76
+
77
+ Parameters
78
+ ----------
79
+ id : str
80
+ Either the Workspace Secret's ID or its unique name
81
+
82
+ request_options : typing.Optional[RequestOptions]
83
+ Request-specific configuration.
84
+
85
+ Returns
86
+ -------
87
+ WorkspaceSecretRead
88
+
89
+
90
+ Examples
91
+ --------
92
+ import asyncio
93
+
94
+ from vellum import AsyncVellum
95
+
96
+ client = AsyncVellum(
97
+ api_key="YOUR_API_KEY",
98
+ )
99
+
100
+
101
+ async def main() -> None:
102
+ await client.workspace_secrets.retrieve(
103
+ id="id",
104
+ )
105
+
106
+
107
+ asyncio.run(main())
108
+ """
109
+ _response = await self._client_wrapper.httpx_client.request(
110
+ f"v1/workspace-secrets/{jsonable_encoder(id)}",
111
+ base_url=self._client_wrapper.get_environment().default,
112
+ method="GET",
113
+ request_options=request_options,
114
+ )
115
+ try:
116
+ if 200 <= _response.status_code < 300:
117
+ return typing.cast(
118
+ WorkspaceSecretRead,
119
+ parse_obj_as(
120
+ type_=WorkspaceSecretRead, # type: ignore
121
+ object_=_response.json(),
122
+ ),
123
+ )
124
+ _response_json = _response.json()
125
+ except JSONDecodeError:
126
+ raise ApiError(status_code=_response.status_code, body=_response.text)
127
+ raise ApiError(status_code=_response.status_code, body=_response_json)
vellum/types/__init__.py CHANGED
@@ -106,6 +106,17 @@ from .execution_vellum_value import ExecutionVellumValue
106
106
  from .external_test_case_execution import ExternalTestCaseExecution
107
107
  from .external_test_case_execution_request import ExternalTestCaseExecutionRequest
108
108
  from .finish_reason_enum import FinishReasonEnum
109
+ from .folder_entity import FolderEntity
110
+ from .folder_entity_document_index import FolderEntityDocumentIndex
111
+ from .folder_entity_document_index_data import FolderEntityDocumentIndexData
112
+ from .folder_entity_folder import FolderEntityFolder
113
+ from .folder_entity_folder_data import FolderEntityFolderData
114
+ from .folder_entity_prompt_sandbox import FolderEntityPromptSandbox
115
+ from .folder_entity_prompt_sandbox_data import FolderEntityPromptSandboxData
116
+ from .folder_entity_test_suite import FolderEntityTestSuite
117
+ from .folder_entity_test_suite_data import FolderEntityTestSuiteData
118
+ from .folder_entity_workflow_sandbox import FolderEntityWorkflowSandbox
119
+ from .folder_entity_workflow_sandbox_data import FolderEntityWorkflowSandboxData
109
120
  from .fulfilled_ad_hoc_execute_prompt_event import FulfilledAdHocExecutePromptEvent
110
121
  from .fulfilled_enum import FulfilledEnum
111
122
  from .fulfilled_execute_prompt_event import FulfilledExecutePromptEvent
@@ -236,6 +247,7 @@ from .open_ai_vectorizer_text_embedding_3_small_request import OpenAiVectorizerT
236
247
  from .open_ai_vectorizer_text_embedding_ada_002 import OpenAiVectorizerTextEmbeddingAda002
237
248
  from .open_ai_vectorizer_text_embedding_ada_002_request import OpenAiVectorizerTextEmbeddingAda002Request
238
249
  from .paginated_document_index_read_list import PaginatedDocumentIndexReadList
250
+ from .paginated_folder_entity_list import PaginatedFolderEntityList
239
251
  from .paginated_slim_deployment_read_list import PaginatedSlimDeploymentReadList
240
252
  from .paginated_slim_document_list import PaginatedSlimDocumentList
241
253
  from .paginated_slim_workflow_deployment_list import PaginatedSlimWorkflowDeploymentList
@@ -261,6 +273,7 @@ from .prompt_request_chat_history_input_request import PromptRequestChatHistoryI
261
273
  from .prompt_request_input_request import PromptRequestInputRequest
262
274
  from .prompt_request_json_input_request import PromptRequestJsonInputRequest
263
275
  from .prompt_request_string_input_request import PromptRequestStringInputRequest
276
+ from .prompt_settings_request import PromptSettingsRequest
264
277
  from .raw_prompt_execution_overrides_request import RawPromptExecutionOverridesRequest
265
278
  from .reducto_chunker_config import ReductoChunkerConfig
266
279
  from .reducto_chunker_config_request import ReductoChunkerConfigRequest
@@ -298,6 +311,7 @@ from .search_results_variable_value import SearchResultsVariableValue
298
311
  from .search_results_vellum_value import SearchResultsVellumValue
299
312
  from .search_results_vellum_value_request import SearchResultsVellumValueRequest
300
313
  from .search_weights_request import SearchWeightsRequest
314
+ from .secret_type_enum import SecretTypeEnum
301
315
  from .sentence_chunker_config import SentenceChunkerConfig
302
316
  from .sentence_chunker_config_request import SentenceChunkerConfigRequest
303
317
  from .sentence_chunking import SentenceChunking
@@ -467,6 +481,7 @@ from .workflow_result_event_output_data_number import WorkflowResultEventOutputD
467
481
  from .workflow_result_event_output_data_search_results import WorkflowResultEventOutputDataSearchResults
468
482
  from .workflow_result_event_output_data_string import WorkflowResultEventOutputDataString
469
483
  from .workflow_stream_event import WorkflowStreamEvent
484
+ from .workspace_secret_read import WorkspaceSecretRead
470
485
 
471
486
  __all__ = [
472
487
  "AdHocExecutePromptEvent",
@@ -567,6 +582,17 @@ __all__ = [
567
582
  "ExternalTestCaseExecution",
568
583
  "ExternalTestCaseExecutionRequest",
569
584
  "FinishReasonEnum",
585
+ "FolderEntity",
586
+ "FolderEntityDocumentIndex",
587
+ "FolderEntityDocumentIndexData",
588
+ "FolderEntityFolder",
589
+ "FolderEntityFolderData",
590
+ "FolderEntityPromptSandbox",
591
+ "FolderEntityPromptSandboxData",
592
+ "FolderEntityTestSuite",
593
+ "FolderEntityTestSuiteData",
594
+ "FolderEntityWorkflowSandbox",
595
+ "FolderEntityWorkflowSandboxData",
570
596
  "FulfilledAdHocExecutePromptEvent",
571
597
  "FulfilledEnum",
572
598
  "FulfilledExecutePromptEvent",
@@ -693,6 +719,7 @@ __all__ = [
693
719
  "OpenAiVectorizerTextEmbeddingAda002",
694
720
  "OpenAiVectorizerTextEmbeddingAda002Request",
695
721
  "PaginatedDocumentIndexReadList",
722
+ "PaginatedFolderEntityList",
696
723
  "PaginatedSlimDeploymentReadList",
697
724
  "PaginatedSlimDocumentList",
698
725
  "PaginatedSlimWorkflowDeploymentList",
@@ -718,6 +745,7 @@ __all__ = [
718
745
  "PromptRequestInputRequest",
719
746
  "PromptRequestJsonInputRequest",
720
747
  "PromptRequestStringInputRequest",
748
+ "PromptSettingsRequest",
721
749
  "RawPromptExecutionOverridesRequest",
722
750
  "ReductoChunkerConfig",
723
751
  "ReductoChunkerConfigRequest",
@@ -755,6 +783,7 @@ __all__ = [
755
783
  "SearchResultsVellumValue",
756
784
  "SearchResultsVellumValueRequest",
757
785
  "SearchWeightsRequest",
786
+ "SecretTypeEnum",
758
787
  "SentenceChunkerConfig",
759
788
  "SentenceChunkerConfigRequest",
760
789
  "SentenceChunking",
@@ -920,4 +949,5 @@ __all__ = [
920
949
  "WorkflowResultEventOutputDataSearchResults",
921
950
  "WorkflowResultEventOutputDataString",
922
951
  "WorkflowStreamEvent",
952
+ "WorkspaceSecretRead",
923
953
  ]
@@ -1,20 +1,20 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.pydantic_utilities import UniversalBaseModel
4
- import typing
5
4
  import typing_extensions
5
+ import typing
6
6
  from ..core.serialization import FieldMetadata
7
7
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
  import pydantic
9
9
 
10
10
 
11
11
  class ApiNodeResultData(UniversalBaseModel):
12
- text_output_id: str
13
- text: typing.Optional[str] = None
14
- json_output_id: str
15
12
  json_: typing_extensions.Annotated[
16
13
  typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]], FieldMetadata(alias="json")
17
14
  ] = None
15
+ text_output_id: str
16
+ text: typing.Optional[str] = None
17
+ json_output_id: str
18
18
  status_code_output_id: str
19
19
  status_code: int
20
20
 
@@ -0,0 +1,16 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from .folder_entity_folder import FolderEntityFolder
5
+ from .folder_entity_prompt_sandbox import FolderEntityPromptSandbox
6
+ from .folder_entity_workflow_sandbox import FolderEntityWorkflowSandbox
7
+ from .folder_entity_document_index import FolderEntityDocumentIndex
8
+ from .folder_entity_test_suite import FolderEntityTestSuite
9
+
10
+ FolderEntity = typing.Union[
11
+ FolderEntityFolder,
12
+ FolderEntityPromptSandbox,
13
+ FolderEntityWorkflowSandbox,
14
+ FolderEntityDocumentIndex,
15
+ FolderEntityTestSuite,
16
+ ]
@@ -0,0 +1,26 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .folder_entity_document_index_data import FolderEntityDocumentIndexData
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class FolderEntityDocumentIndex(UniversalBaseModel):
11
+ """
12
+ A slim representation of a Document Index, as it exists within a Folder.
13
+ """
14
+
15
+ id: str
16
+ type: typing.Literal["DOCUMENT_INDEX"] = "DOCUMENT_INDEX"
17
+ data: FolderEntityDocumentIndexData
18
+
19
+ if IS_PYDANTIC_V2:
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
21
+ else:
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic.Extra.allow
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import datetime as dt
5
+ from .entity_status import EntityStatus
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import typing
8
+ import pydantic
9
+
10
+
11
+ class FolderEntityDocumentIndexData(UniversalBaseModel):
12
+ id: str
13
+ label: str
14
+ created: dt.datetime
15
+ modified: dt.datetime
16
+ status: EntityStatus
17
+
18
+ if IS_PYDANTIC_V2:
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
20
+ else:
21
+
22
+ class Config:
23
+ frozen = True
24
+ smart_union = True
25
+ extra = pydantic.Extra.allow
@@ -0,0 +1,26 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .folder_entity_folder_data import FolderEntityFolderData
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class FolderEntityFolder(UniversalBaseModel):
11
+ """
12
+ A slim representation of a Folder, as it exists within another Folder.
13
+ """
14
+
15
+ id: str
16
+ type: typing.Literal["FOLDER"] = "FOLDER"
17
+ data: FolderEntityFolderData
18
+
19
+ if IS_PYDANTIC_V2:
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
21
+ else:
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic.Extra.allow
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import datetime as dt
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import typing
7
+ import pydantic
8
+
9
+
10
+ class FolderEntityFolderData(UniversalBaseModel):
11
+ id: str
12
+ label: str
13
+ created: dt.datetime
14
+ modified: dt.datetime
15
+ has_contents: bool
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,26 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .folder_entity_prompt_sandbox_data import FolderEntityPromptSandboxData
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class FolderEntityPromptSandbox(UniversalBaseModel):
11
+ """
12
+ A slim representation of a Prompt Sandbox, as it exists within a Folder.
13
+ """
14
+
15
+ id: str
16
+ type: typing.Literal["PROMPT_SANDBOX"] = "PROMPT_SANDBOX"
17
+ data: FolderEntityPromptSandboxData
18
+
19
+ if IS_PYDANTIC_V2:
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
21
+ else:
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic.Extra.allow
@@ -0,0 +1,26 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import datetime as dt
5
+ from .entity_status import EntityStatus
6
+ import typing
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+ import pydantic
9
+
10
+
11
+ class FolderEntityPromptSandboxData(UniversalBaseModel):
12
+ id: str
13
+ label: str
14
+ created: dt.datetime
15
+ modified: dt.datetime
16
+ status: EntityStatus
17
+ last_deployed_on: typing.Optional[dt.datetime] = None
18
+
19
+ if IS_PYDANTIC_V2:
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
21
+ else:
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic.Extra.allow
@@ -0,0 +1,26 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .folder_entity_test_suite_data import FolderEntityTestSuiteData
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class FolderEntityTestSuite(UniversalBaseModel):
11
+ """
12
+ A slim representation of a Test Suite, as it exists within a Folder.
13
+ """
14
+
15
+ id: str
16
+ type: typing.Literal["TEST_SUITE"] = "TEST_SUITE"
17
+ data: FolderEntityTestSuiteData
18
+
19
+ if IS_PYDANTIC_V2:
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
21
+ else:
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic.Extra.allow
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import datetime as dt
5
+ from .entity_status import EntityStatus
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import typing
8
+ import pydantic
9
+
10
+
11
+ class FolderEntityTestSuiteData(UniversalBaseModel):
12
+ id: str
13
+ label: str
14
+ created: dt.datetime
15
+ modified: dt.datetime
16
+ status: EntityStatus
17
+
18
+ if IS_PYDANTIC_V2:
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
20
+ else:
21
+
22
+ class Config:
23
+ frozen = True
24
+ smart_union = True
25
+ extra = pydantic.Extra.allow
@@ -0,0 +1,26 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .folder_entity_workflow_sandbox_data import FolderEntityWorkflowSandboxData
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class FolderEntityWorkflowSandbox(UniversalBaseModel):
11
+ """
12
+ A slim representation of a Workflow Sandbox, as it exists within a Folder.
13
+ """
14
+
15
+ id: str
16
+ type: typing.Literal["WORKFLOW_SANDBOX"] = "WORKFLOW_SANDBOX"
17
+ data: FolderEntityWorkflowSandboxData
18
+
19
+ if IS_PYDANTIC_V2:
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
21
+ else:
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic.Extra.allow
@@ -0,0 +1,26 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import datetime as dt
5
+ from .entity_status import EntityStatus
6
+ import typing
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+ import pydantic
9
+
10
+
11
+ class FolderEntityWorkflowSandboxData(UniversalBaseModel):
12
+ id: str
13
+ label: str
14
+ created: dt.datetime
15
+ modified: dt.datetime
16
+ status: EntityStatus
17
+ last_deployed_on: typing.Optional[dt.datetime] = None
18
+
19
+ if IS_PYDANTIC_V2:
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
21
+ else:
22
+
23
+ class Config:
24
+ frozen = True
25
+ smart_union = True
26
+ extra = pydantic.Extra.allow
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .folder_entity import FolderEntity
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class PaginatedFolderEntityList(UniversalBaseModel):
11
+ count: typing.Optional[int] = None
12
+ next: typing.Optional[str] = None
13
+ previous: typing.Optional[str] = None
14
+ results: typing.Optional[typing.List[FolderEntity]] = None
15
+
16
+ if IS_PYDANTIC_V2:
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
@@ -0,0 +1,19 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class PromptSettingsRequest(UniversalBaseModel):
10
+ timeout: typing.Optional[float] = None
11
+
12
+ if IS_PYDANTIC_V2:
13
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
14
+ else:
15
+
16
+ class Config:
17
+ frozen = True
18
+ smart_union = True
19
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ SecretTypeEnum = typing.Union[typing.Literal["USER_DEFINED", "HMAC", "INTERNAL_API_KEY"], typing.Any]
@@ -3,5 +3,8 @@
3
3
  import typing
4
4
 
5
5
  VellumErrorCodeEnum = typing.Union[
6
- typing.Literal["INVALID_REQUEST", "PROVIDER_ERROR", "INTERNAL_SERVER_ERROR", "USER_DEFINED_ERROR"], typing.Any
6
+ typing.Literal[
7
+ "INVALID_REQUEST", "PROVIDER_ERROR", "REQUEST_TIMEOUT", "INTERNAL_SERVER_ERROR", "USER_DEFINED_ERROR"
8
+ ],
9
+ typing.Any,
7
10
  ]
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import datetime as dt
5
+ from .secret_type_enum import SecretTypeEnum
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import typing
8
+ import pydantic
9
+
10
+
11
+ class WorkspaceSecretRead(UniversalBaseModel):
12
+ id: str
13
+ modified: dt.datetime
14
+ name: str
15
+ label: str
16
+ secret_type: SecretTypeEnum
17
+
18
+ if IS_PYDANTIC_V2:
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
20
+ else:
21
+
22
+ class Config:
23
+ frozen = True
24
+ smart_union = True
25
+ extra = pydantic.Extra.allow
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.8.23
3
+ Version: 0.8.26
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.8,<4.0