vellum-ai 0.8.23__py3-none-any.whl → 0.8.26__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
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