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.
- vellum/__init__.py +34 -0
- vellum/client.py +4 -0
- vellum/core/client_wrapper.py +1 -1
- vellum/lib/test_suites/resources.py +27 -8
- vellum/lib/utils/typing.py +10 -0
- vellum/lib/utils/uuid.py +10 -0
- vellum/resources/__init__.py +4 -0
- vellum/resources/ad_hoc/client.py +21 -0
- vellum/resources/folder_entities/__init__.py +3 -0
- vellum/resources/folder_entities/client.py +200 -3
- vellum/resources/folder_entities/types/__init__.py +5 -0
- vellum/resources/folder_entities/types/folder_entities_list_request_entity_status.py +5 -0
- vellum/resources/workspace_secrets/__init__.py +2 -0
- vellum/resources/workspace_secrets/client.py +127 -0
- vellum/types/__init__.py +30 -0
- vellum/types/api_node_result_data.py +4 -4
- vellum/types/folder_entity.py +16 -0
- vellum/types/folder_entity_document_index.py +26 -0
- vellum/types/folder_entity_document_index_data.py +25 -0
- vellum/types/folder_entity_folder.py +26 -0
- vellum/types/folder_entity_folder_data.py +24 -0
- vellum/types/folder_entity_prompt_sandbox.py +26 -0
- vellum/types/folder_entity_prompt_sandbox_data.py +26 -0
- vellum/types/folder_entity_test_suite.py +26 -0
- vellum/types/folder_entity_test_suite_data.py +25 -0
- vellum/types/folder_entity_workflow_sandbox.py +26 -0
- vellum/types/folder_entity_workflow_sandbox_data.py +26 -0
- vellum/types/paginated_folder_entity_list.py +23 -0
- vellum/types/prompt_settings_request.py +19 -0
- vellum/types/secret_type_enum.py +5 -0
- vellum/types/vellum_error_code_enum.py +4 -1
- vellum/types/workspace_secret_read.py +25 -0
- {vellum_ai-0.8.23.dist-info → vellum_ai-0.8.26.dist-info}/METADATA +1 -1
- {vellum_ai-0.8.23.dist-info → vellum_ai-0.8.26.dist-info}/RECORD +36 -15
- {vellum_ai-0.8.23.dist-info → vellum_ai-0.8.26.dist-info}/LICENSE +0 -0
- {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
         | 
| @@ -3,5 +3,8 @@ | |
| 3 3 | 
             
            import typing
         | 
| 4 4 |  | 
| 5 5 | 
             
            VellumErrorCodeEnum = typing.Union[
         | 
| 6 | 
            -
                typing.Literal[ | 
| 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
         |