diff --git a/.github/workflows/auto-merge-release.yml b/.github/workflows/auto-merge-release.yml
deleted file mode 100644
index a5ed738bc4..0000000000
--- a/.github/workflows/auto-merge-release.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-# This GitHub Action is managed by the Vellum SDK Generator Repo and copied into each SDK repository.
-name: Auto-merge Release PRs
-
-on:
- pull_request:
- types: [labeled, synchronize]
- branches:
- - main
-
-jobs:
- auto-merge:
- runs-on: ubuntu-latest
- if: contains(github.event.pull_request.labels.*.name, 'release')
- steps:
- - name: Checkout repo
- uses: actions/checkout@v4
-
- - name: Set up Node.js
- uses: actions/setup-node@v3
- with:
- node-version: "18.18.0"
-
- - name: Install dependencies
- run: npm install
- working-directory: ee/automation
-
- - name: Wait for checks and auto-merge
- env:
- VELLUM_AUTOMATION_APP_ID: ${{ secrets.VELLUM_AUTOMATION_APP_ID }}
- VELLUM_AUTOMATION_PRIVATE_KEY: ${{ secrets.VELLUM_AUTOMATION_PRIVATE_KEY }}
- VELLUM_AUTOMATION_INSTALLATION_ID: ${{ secrets.VELLUM_AUTOMATION_INSTALLATION_ID }}
- PR_NUMBER: ${{ github.event.pull_request.number }}
- HEAD_SHA: ${{ github.event.pull_request.head.sha }}
- run: npm run auto-merge
- working-directory: ee/automation
diff --git a/.github/workflows/ci-workflow-server.yaml b/.github/workflows/ci-workflow-server.yaml
deleted file mode 100644
index 9d7476afdb..0000000000
--- a/.github/workflows/ci-workflow-server.yaml
+++ /dev/null
@@ -1,46 +0,0 @@
-name: ci-workflow-server
-
-on:
- push:
- branches:
- - main
- tags:
- - "*"
-
-jobs:
- publish:
- permissions:
- contents: "read"
- id-token: "write"
-
- if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
- runs-on: ubuntu-latest
- steps:
- - name: Checkout repo
- uses: actions/checkout@v4
-
- - name: Set up Node.js
- uses: actions/setup-node@v3
- with:
- node-version: "18.18.0"
-
- - name: Install dependencies
- run: npm install
- working-directory: ee/automation
-
- - id: auth
- uses: google-github-actions/auth@v2
- with:
- token_format: "access_token"
- create_credentials_file: true
- workload_identity_provider: "projects/585775334980/locations/global/workloadIdentityPools/github-pool/providers/github-actions-provider"
- service_account: "github-gcr-service-account@vocify-prod.iam.gserviceaccount.com"
- access_token_lifetime: "1200s"
-
- - name: Bump Workflow Server
- env:
- VELLUM_AUTOMATION_APP_ID: ${{ secrets.VELLUM_AUTOMATION_APP_ID }}
- VELLUM_AUTOMATION_PRIVATE_KEY: ${{ secrets.VELLUM_AUTOMATION_PRIVATE_KEY }}
- VELLUM_AUTOMATION_INSTALLATION_ID: ${{ secrets.VELLUM_AUTOMATION_INSTALLATION_ID }}
- run: npm run upgrade-workflow-server
- working-directory: ee/automation
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 95d3adb996..9818c03826 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,18 +1,6 @@
name: ci
-on:
- push:
- branches:
- - main
- tags:
- - "*"
-
- pull_request:
- types:
- - opened
- - reopened
- - synchronize
-
+on: [push]
jobs:
compile:
runs-on: ubuntu-latest
@@ -22,17 +10,12 @@ jobs:
- name: Set up python
uses: actions/setup-python@v4
with:
- python-version: 3.9
+ python-version: 3.8
- name: Bootstrap poetry
- run: make setup-poetry
+ run: |
+ curl -sSL https://install.python-poetry.org | python - -y --version 1.5.1
- name: Install dependencies
run: poetry install
- - name: Format
- run: poetry run black --check .
- - name: Order Imports
- run: poetry run isort --check .
- - name: Lint
- run: poetry run flake8
- name: Compile
run: poetry run mypy .
test:
@@ -43,14 +26,15 @@ jobs:
- name: Set up python
uses: actions/setup-python@v4
with:
- python-version: 3.9
+ python-version: 3.8
- name: Bootstrap poetry
- run: make setup-poetry
+ run: |
+ curl -sSL https://install.python-poetry.org | python - -y --version 1.5.1
- name: Install dependencies
run: poetry install
- name: Test
- run: make test-ci
+ run: poetry run pytest -rP .
publish:
needs: [compile, test]
@@ -62,9 +46,10 @@ jobs:
- name: Set up python
uses: actions/setup-python@v4
with:
- python-version: 3.9
+ python-version: 3.8
- name: Bootstrap poetry
- run: make setup-poetry
+ run: |
+ curl -sSL https://install.python-poetry.org | python - -y --version 1.5.1
- name: Install dependencies
run: poetry install
- name: Publish to pypi
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
deleted file mode 100644
index 5de4db201a..0000000000
--- a/.github/workflows/release.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-# This GitHub Action is managed by the Vellum SDK Generator Repo and copied into each SDK repository.
-name: Release
-
-on:
- pull_request:
- types: [closed]
- branches:
- - main
- workflow_dispatch:
-
-jobs:
- create-release:
- runs-on: ubuntu-latest
- if: (github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'release')) || github.event_name == 'workflow_dispatch'
- steps:
- - name: Checkout repo
- uses: actions/checkout@v4
-
- - name: Set up Node.js
- uses: actions/setup-node@v3
- with:
- node-version: "18.18.0"
-
- - name: Install dependencies
- run: npm install
- working-directory: ee/automation
-
- - name: Create release
- env:
- VELLUM_AUTOMATION_APP_ID: ${{ secrets.VELLUM_AUTOMATION_APP_ID }}
- VELLUM_AUTOMATION_PRIVATE_KEY: ${{ secrets.VELLUM_AUTOMATION_PRIVATE_KEY }}
- VELLUM_AUTOMATION_INSTALLATION_ID: ${{ secrets.VELLUM_AUTOMATION_INSTALLATION_ID }}
- run: npm run create-release
- working-directory: ee/automation
diff --git a/.gitignore b/.gitignore
index a4c3c9f074..d2e4ca808d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,15 +3,3 @@
__pycache__/
dist/
poetry.toml
-
-.env
-.npmrc
-ee/codegen/lib/
-ee/codegen/src/assets/node-definitions.json
-examples/.ipynb_checkpoints/
-node_modules/
-tsconfig.tsbuildinfo
-.idea
-.DS_Store
-htmlcov/
-CLAUDE.md
diff --git a/LICENSE b/LICENSE
index aad43c6f16..ccbcbf8f6b 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,14 +1,6 @@
-Copyright (c) 2023-present Vocify Inc. dba Velum
+MIT License
-Portions of this software are licensed as follows:
-
-* All content that resides under the "ee/" directory of this repository, if
-that directory exists, is licensed under the license defined in "ee/LICENSE".
-* All third party components incorporated into the Vellum Software are
-licensed under the original license provided by the owner of the applicable
-component.
-* Content outside of the above mentioned directories or restrictions above is
-available under the "MIT Expat" license as defined below.
+Copyright (c) 2025 Vellum.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -26,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+SOFTWARE.
\ No newline at end of file
diff --git a/README.md b/README.md
index 5100a01198..34766ea16b 100644
--- a/README.md
+++ b/README.md
@@ -1,42 +1,30 @@
-
-
-
-
-
-
-
- Learn more
- ยท
- Talk to us
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Introduction
-
-[Vellum](https://www.vellum.ai/) is the end-to-end development platform for building production-grade AI applications.
-
-### Core Features
-
-- **Orchestration:** A powerful SDK and IDE for defining and debugging the control flow of your AI applications
-- **Prompting:** A best-in-class prompt playground for iterating on and refining prompts between models from any provider
-- **Evaluations**: An evaluations framework that makes it easy to measure the quality of your AI systems at scale
-- **Retrieval:** A ready-to-go service for turning unstructured content into intelligent, context-aware solutions
- optimized for AI systems
-- **Deployment:** Decouple updates to your AI systems from your application code with an easy integration +
- one-click deploy
-- **Observability:** Monitor and debug your AI systems in real-time with detailed logs, metrics, and end-user feedback
+# Vellum Python Library
+
+[](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2Fvellum-ai%2Fvellum-python-sdks)
+[](https://pypi.python.org/pypi/vellum-ai)
+
+The Vellum Python library provides convenient access to the Vellum APIs from Python.
+
+## Table of Contents
+
+- [Table of Contents](#table-of-contents)
+- [Get Started](#get-started)
+- [Client Sdk](#client-sdk)
+- [Workflows Sdk](#workflows-sdk)
+- [Documentation](#documentation)
+- [Installation](#installation)
+- [Reference](#reference)
+- [Usage](#usage)
+- [Async Client](#async-client)
+- [Exception Handling](#exception-handling)
+- [Streaming](#streaming)
+- [Advanced](#advanced)
+ - [Access Raw Response Data](#access-raw-response-data)
+ - [Retries](#retries)
+ - [Timeouts](#timeouts)
+ - [Custom Client](#custom-client)
+- [Contributing](#contributing)
+- [Open Source Vs Paid](#open-source-vs-paid)
## Table of Contents
@@ -70,13 +58,243 @@ and debugging via a UI.
To learn more and get started, visit the [Vellum Workflows SDK README](/src/vellum/workflows/README.md).
+## Documentation
+
+API reference documentation is available [here](https://docs.vellum.ai/api-reference/overview/getting-started).
+
+## Installation
+
+```sh
+pip install vellum-ai
+```
+
+## Reference
+
+A full reference for this library is available [here](https://github.com/vellum-ai/vellum-python-sdks/blob/HEAD/./reference.md).
+
+## Usage
+
+Instantiate and use the client with the following:
+
+```python
+from vellum import StringInputRequest, Vellum
+
+client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+)
+client.execute_prompt(
+ inputs=[
+ StringInputRequest(
+ name="x",
+ value="value",
+ ),
+ StringInputRequest(
+ name="x",
+ value="value",
+ ),
+ ],
+)
+```
+
+## Async Client
+
+The SDK also exports an `async` client so that you can make non-blocking calls to our API.
+
+```python
+import asyncio
+
+from vellum import AsyncVellum, StringInputRequest
+
+client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+)
+
+
+async def main() -> None:
+ await client.execute_prompt(
+ inputs=[
+ StringInputRequest(
+ name="x",
+ value="value",
+ ),
+ StringInputRequest(
+ name="x",
+ value="value",
+ ),
+ ],
+ )
+
+
+asyncio.run(main())
+```
+
+## Exception Handling
+
+When the API returns a non-success status code (4xx or 5xx response), a subclass of the following error
+will be thrown.
+
+```python
+from vellum.core.api_error import ApiError
+
+try:
+ client.execute_prompt(...)
+except ApiError as e:
+ print(e.status_code)
+ print(e.body)
+```
+
+## Streaming
+
+The SDK supports streaming responses, as well, the response will be a generator that you can loop over.
+
+```python
+from vellum import (
+ JinjaPromptBlock,
+ PromptParameters,
+ StringInput,
+ Vellum,
+ VellumVariable,
+)
+
+client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+)
+response = client.ad_hoc.adhoc_execute_prompt_stream(
+ ml_model="x",
+ input_values=[
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ ],
+ input_variables=[
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ ],
+ parameters=PromptParameters(),
+ blocks=[
+ JinjaPromptBlock(
+ template="template",
+ ),
+ JinjaPromptBlock(
+ template="template",
+ ),
+ ],
+)
+for chunk in response.data:
+ yield chunk
+```
+
+## Advanced
+
+### Access Raw Response Data
+
+The SDK provides access to raw response data, including headers, through the `.with_raw_response` property.
+The `.with_raw_response` property returns a "raw" client that can be used to access the `.headers` and `.data` attributes.
+
+```python
+from vellum import Vellum
+
+client = Vellum(
+ ...,
+)
+response = client.with_raw_response.execute_prompt(...)
+print(response.headers) # access the response headers
+print(response.data) # access the underlying object
+with client.ad_hoc.with_raw_response.adhoc_execute_prompt_stream(
+ ...
+) as response:
+ print(response.headers) # access the response headers
+ for chunk in response.data:
+ print(chunk) # access the underlying object(s)
+```
+
+### Retries
+
+The SDK is instrumented with automatic retries with exponential backoff. A request will be retried as long
+as the request is deemed retryable and the number of retry attempts has not grown larger than the configured
+retry limit (default: 2).
+
+A request is deemed retryable when any of the following HTTP status codes is returned:
+
+- [408](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) (Timeout)
+- [429](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) (Too Many Requests)
+- [5XX](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) (Internal Server Errors)
+
+Use the `max_retries` request option to configure this behavior.
+
+```python
+client.execute_prompt(..., request_options={
+ "max_retries": 1
+})
+```
+
+### Timeouts
+
+The SDK defaults to a 60 second timeout. You can configure this with a timeout option at the client or request level.
+
+```python
+
+from vellum import Vellum
+
+client = Vellum(
+ ...,
+ timeout=20.0,
+)
+
+
+# Override timeout for a specific method
+client.execute_prompt(..., request_options={
+ "timeout_in_seconds": 1
+})
+```
+
+### Custom Client
+
+You can override the `httpx` client to customize it for your use-case. Some common use-cases include support for proxies
+and transports.
+
+```python
+import httpx
+from vellum import Vellum
+
+client = Vellum(
+ ...,
+ httpx_client=httpx.Client(
+ proxies="http://my.test.proxy.example.com",
+ transport=httpx.HTTPTransport(local_address="0.0.0.0"),
+ ),
+)
+```
+
## Contributing
-See the [CONTRIBUTING.md](/CONTRIBUTING.md) for information on how to contribute to the Vellum SDKs.
+While we value open-source contributions to this SDK, this library is generated programmatically.
+Additions made directly to this library would have to be moved over to our generation code,
+otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
+a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
+an issue first to discuss with us!
+On the other hand, contributions to the README are always very welcome!
## Open-Source vs. Paid
This repo is available under the [MIT expat license](https://github.com/vellum-ai/vellum-python-sdks/blob/main/LICENSE), except
for the `ee` directory (which has its [license here](https://github.com/vellum-ai/vellum-python-sdks/blob/main/ee/LICENSE)) if applicable.
To learn more, [book a demo](https://www.vellum.ai/landing-pages/request-demo) or see our [pricing page](https://www.vellum.ai/pricing).
+
diff --git a/pyproject.toml b/pyproject.toml
index 53c6e28e33..ef725551a8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -3,7 +3,7 @@ name = "vellum-ai"
[tool.poetry]
name = "vellum-ai"
-version = "1.10.4"
+version = "1.10.5"
description = ""
readme = "README.md"
authors = []
@@ -27,13 +27,13 @@ classifiers = [
"Typing :: Typed",
"License :: OSI Approved :: MIT License"
]
-urls = { Repository = "https://github.com/vellum-ai/vellum-python-sdks" }
packages = [
- { include = "vellum", from = "src" },
- { include = "vellum_cli", from = "ee" },
- { include = "vellum_ee", from = "ee" },
+ { include = "vellum", from = "src"}
]
+[project.urls]
+Repository = 'https://github.com/vellum-ai/vellum-python-sdks'
+
[tool.poetry.dependencies]
python = "^3.9"
Jinja2 = ">=3.1.0,<4.0.0"
@@ -84,22 +84,10 @@ types-requests = "2.32.0.20240712"
[tool.pytest.ini_options]
testpaths = [ "tests" ]
asyncio_mode = "auto"
-filterwarnings = [
- "ignore::pytest.PytestCollectionWarning"
-]
[tool.mypy]
-plugins = [
- "pydantic.mypy",
- "vellum.plugins.vellum_mypy",
-]
-check_untyped_defs = true
-exclude = ["venv", "examples/workflows", "ee/codegen/python_file_merging/tests/fixtures", "ee/codegen_integration/fixtures/simple_scheduled_trigger"] #TODO: Uncomment trigger test once we fix mypy issue with graph: https://linear.app/vellum/issue/APO-2127/fix-mypy-issue-of-graph-types
-overrides = [
- { module = "deepdiff.*", ignore_missing_imports = true },
- { module = "docker.*", ignore_missing_imports = true },
- { module = "setuptools.*", ignore_missing_imports = true },
-]
+plugins = ["pydantic.mypy"]
+
[tool.ruff]
line-length = 120
@@ -127,61 +115,3 @@ section-order = ["future", "standard-library", "third-party", "first-party"]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
-
-[tool.poetry.scripts]
-vellum = "vellum_cli:main"
-generate_node_definitions = "vellum_ee.scripts.generate_node_definitions:main"
-
-[tool.isort]
-skip = ["src/vellum/client", "tests/client", ".venv", "src/vellum/__init__.py", "examples/workflows", "src/vellum/client/raw_client.py"]
-multi_line_output = 3
-force_grid_wrap = 0
-line_length = 120
-combine_as_imports = true
-force_sort_within_sections = true
-include_trailing_comma = true
-use_parentheses = true
-known_testing = "pytest"
-known_typing = ["typing", "typing_extensions"]
-known_vellum = ["vellum", "vellum_cli", "vellum_ee"]
-default_section = "THIRDPARTY"
-sections = ["FUTURE", "TESTING", "STDLIB", "TYPING", "THIRDPARTY", "VELLUM", "FIRSTPARTY", "LOCALFOLDER"]
-no_lines_before = ["STDLIB", "TYPING"]
-sort_order = "native"
-
-[tool.black]
-line-length = 120
-target-version = [
- "py38",
-]
-include = ".*\\.py$"
-exclude = "(.git|venv|src/vellum/client|tests/client|scripts|examples/workflows|ee/codegen/python_file_merging/tests/fixtures)"
-
-[tool.flake8]
-max-line-length = 120
-exclude = ".git,.venv,ee/codegen/node_modules,ee/codegen_integration/fixtures,scripts,src/vellum/__init__.py,src/vellum/client,src/vellum/core,src/vellum/environment.py,src/vellum/errors,src/vellum/raw_client.py,src/vellum/resources,src/vellum/types,tests/client,examples/workflows,ee/codegen/python_file_merging/tests/fixtures"
-ignore = "E203, W503, E704, U100, U101"
-
-[tool.coverage.run]
-source = ["src/vellum", "ee/vellum_cli", "ee/vellum_ee"]
-omit = [
- "src/vellum/client/*",
- "src/vellum/core/*",
- "src/vellum/environment.py",
- "src/vellum/errors/*",
- "src/vellum/resources/*",
- "src/vellum/types/*",
- "tests/*",
- "examples/*",
- "scripts/*",
- "*/tests/*",
- "*/__pycache__/*",
-]
-
-[tool.coverage.report]
-fail_under = 25
-show_missing = true
-skip_covered = false
-
-[tool.coverage.html]
-directory = "htmlcov"
diff --git a/src/vellum/client/reference.md b/reference.md
similarity index 99%
rename from src/vellum/client/reference.md
rename to reference.md
index bcc7a9e7e5..4ee197ada2 100644
--- a/src/vellum/client/reference.md
+++ b/reference.md
@@ -6160,6 +6160,78 @@ client.test_suites.delete_test_suite_test_case(
+
+
+
+
+## UploadedFiles
+client.uploaded_files.retrieve(...)
+
+-
+
+#### ๐ Description
+
+
+-
+
+
+-
+
+Retrieve a previously uploaded file by its ID
+
+
+
+
+
+#### ๐ Usage
+
+
+-
+
+
+-
+
+```python
+from vellum import Vellum
+
+client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+)
+client.uploaded_files.retrieve(
+ id="id",
+)
+
+```
+
+
+
+
+
+#### โ๏ธ Parameters
+
+
+-
+
+
+-
+
+**id:** `str` โ A UUID string identifying this uploaded file.
+
+
+
+
+
+-
+
+**request_options:** `typing.Optional[RequestOptions]` โ Request-specific configuration.
+
+
+
+
+
+
+
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000..9674cfe0b8
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,16 @@
+Jinja2>=3.1.0,<4.0.0
+click>=8.1.7,<9.0.0
+docker>=7.1.0,<8.0.0
+httpx>=0.21.2
+orderly-set==5.2.2
+publication==0.0.3
+pydantic>= 1.9.2
+pydantic-core>=2.18.2
+pydash>=7.0.0,<8.0.0
+python-dateutil>=2.8.0,<3.0.0
+python-dotenv>=1.0.0,<2.0.0
+pytz>=2022.0,<2026.0
+pyyaml>=6.0.0,<7.0.0
+requests>=2.31.0,<3.0.0
+tomli>=2.0.0,<3.0.0
+typing_extensions>= 4.0.0
diff --git a/src/vellum/__init__.py b/src/vellum/__init__.py
index f5c9ea17bc..20a4dd8e70 100644
--- a/src/vellum/__init__.py
+++ b/src/vellum/__init__.py
@@ -1,11 +1,8 @@
# This file was auto-generated by Fern from our API Definition.
-from .plugins.utils import load_runtime_plugins
-
-load_runtime_plugins()
# isort: skip_file
-from .client.types import (
+from .types import (
AdHocExecutePromptEvent,
AdHocExpandMeta,
AdHocFulfilledPromptExecutionMeta,
@@ -581,6 +578,7 @@
UnitEnum,
UpdateActiveWorkspaceResponse,
UploadDocumentResponse,
+ UploadedFileRead,
UpsertTestSuiteTestCaseRequest,
VariablePromptBlock,
VellumAudio,
@@ -747,6 +745,7 @@
sandboxes,
test_suite_runs,
test_suites,
+ uploaded_files,
workflow_deployments,
workflow_executions,
workflow_sandboxes,
@@ -1348,6 +1347,7 @@
"UnitEnum",
"UpdateActiveWorkspaceResponse",
"UploadDocumentResponse",
+ "UploadedFileRead",
"UpsertTestSuiteTestCaseRequest",
"VariablePromptBlock",
"Vellum",
@@ -1500,6 +1500,7 @@
"sandboxes",
"test_suite_runs",
"test_suites",
+ "uploaded_files",
"workflow_deployments",
"workflow_executions",
"workflow_sandboxes",
diff --git a/src/vellum/client/__init__.py b/src/vellum/client.py
similarity index 99%
rename from src/vellum/client/__init__.py
rename to src/vellum/client.py
index 9e7e97bd82..4877ff1657 100644
--- a/src/vellum/client/__init__.py
+++ b/src/vellum/client.py
@@ -4,7 +4,6 @@
import typing
import httpx
-from .core.api_error import ApiError
from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
from .core.request_options import RequestOptions
from .environment import VellumEnvironment
@@ -27,6 +26,7 @@
from .resources.sandboxes.client import AsyncSandboxesClient, SandboxesClient
from .resources.test_suite_runs.client import AsyncTestSuiteRunsClient, TestSuiteRunsClient
from .resources.test_suites.client import AsyncTestSuitesClient, TestSuitesClient
+from .resources.uploaded_files.client import AsyncUploadedFilesClient, UploadedFilesClient
from .resources.workflow_deployments.client import AsyncWorkflowDeploymentsClient, WorkflowDeploymentsClient
from .resources.workflow_executions.client import AsyncWorkflowExecutionsClient, WorkflowExecutionsClient
from .resources.workflow_sandboxes.client import AsyncWorkflowSandboxesClient, WorkflowSandboxesClient
@@ -110,7 +110,7 @@ def __init__(
self,
*,
environment: VellumEnvironment = VellumEnvironment.PRODUCTION,
- api_version: typing.Optional[ApiVersionEnum] = os.getenv("VELLUM_API_VERSION", "2025-07-30"),
+ api_version: typing.Optional[ApiVersionEnum] = os.getenv("VELLUM_API_VERSION"),
api_key: str,
headers: typing.Optional[typing.Dict[str, str]] = None,
timeout: typing.Optional[float] = None,
@@ -151,6 +151,7 @@ def __init__(
self.sandboxes = SandboxesClient(client_wrapper=self._client_wrapper)
self.test_suite_runs = TestSuiteRunsClient(client_wrapper=self._client_wrapper)
self.test_suites = TestSuitesClient(client_wrapper=self._client_wrapper)
+ self.uploaded_files = UploadedFilesClient(client_wrapper=self._client_wrapper)
self.workflow_deployments = WorkflowDeploymentsClient(client_wrapper=self._client_wrapper)
self.workflow_executions = WorkflowExecutionsClient(client_wrapper=self._client_wrapper)
self.workflow_sandboxes = WorkflowSandboxesClient(client_wrapper=self._client_wrapper)
@@ -988,7 +989,7 @@ def __init__(
self,
*,
environment: VellumEnvironment = VellumEnvironment.PRODUCTION,
- api_version: typing.Optional[ApiVersionEnum] = os.getenv("VELLUM_API_VERSION", "2025-07-30"),
+ api_version: typing.Optional[ApiVersionEnum] = os.getenv("VELLUM_API_VERSION"),
api_key: str,
headers: typing.Optional[typing.Dict[str, str]] = None,
timeout: typing.Optional[float] = None,
@@ -1029,6 +1030,7 @@ def __init__(
self.sandboxes = AsyncSandboxesClient(client_wrapper=self._client_wrapper)
self.test_suite_runs = AsyncTestSuiteRunsClient(client_wrapper=self._client_wrapper)
self.test_suites = AsyncTestSuitesClient(client_wrapper=self._client_wrapper)
+ self.uploaded_files = AsyncUploadedFilesClient(client_wrapper=self._client_wrapper)
self.workflow_deployments = AsyncWorkflowDeploymentsClient(client_wrapper=self._client_wrapper)
self.workflow_executions = AsyncWorkflowExecutionsClient(client_wrapper=self._client_wrapper)
self.workflow_sandboxes = AsyncWorkflowSandboxesClient(client_wrapper=self._client_wrapper)
diff --git a/src/vellum/client/README.md b/src/vellum/client/README.md
deleted file mode 100644
index f0da0934b4..0000000000
--- a/src/vellum/client/README.md
+++ /dev/null
@@ -1,250 +0,0 @@
-# Vellum Python Library
-
-[](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2Fvellum-ai%2Fvellum-python-sdks)
-[](https://pypi.python.org/pypi/vellum-ai)
-
-The Vellum Python library provides convenient access to the Vellum APIs from Python.
-
-## API Docs
-You can find Vellum's complete API docs at [docs.vellum.ai](https://docs.vellum.ai/api-reference/introduction/getting-started).
-
-## Documentation
-
-API reference documentation is available [here](https://docs.vellum.ai/api-reference/overview/getting-started).
-
-## Installation
-
-```sh
-pip install vellum-ai
-```
-
-## Reference
-
-A full reference for this library is available [here](https://github.com/vellum-ai/vellum-python-sdks/blob/HEAD/./reference.md).
-
-## Usage
-
-Instantiate and use the client with the following:
-
-```python
-from vellum import StringInputRequest, Vellum
-
-client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
-)
-client.execute_prompt(
- inputs=[
- StringInputRequest(
- name="x",
- value="value",
- ),
- StringInputRequest(
- name="x",
- value="value",
- ),
- ],
-)
-```
-
-## Async Client
-
-The SDK also exports an `async` client so that you can make non-blocking calls to our API.
-
-```python
-import asyncio
-
-from vellum import AsyncVellum, StringInputRequest
-
-client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
-)
-
-
-async def main() -> None:
- await client.execute_prompt(
- inputs=[
- StringInputRequest(
- name="x",
- value="value",
- ),
- StringInputRequest(
- name="x",
- value="value",
- ),
- ],
- )
-
-
-asyncio.run(main())
-```
-
-## Exception Handling
-
-When the API returns a non-success status code (4xx or 5xx response), a subclass of the following error
-will be thrown.
-
-```python
-from vellum.core.api_error import ApiError
-
-try:
- client.execute_prompt(...)
-except ApiError as e:
- print(e.status_code)
- print(e.body)
-```
-
-## Streaming
-
-The SDK supports streaming responses, as well, the response will be a generator that you can loop over.
-
-```python
-from vellum import (
- JinjaPromptBlock,
- PromptParameters,
- StringInput,
- Vellum,
- VellumVariable,
-)
-
-client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
-)
-response = client.ad_hoc.adhoc_execute_prompt_stream(
- ml_model="x",
- input_values=[
- StringInput(
- name="x",
- value="value",
- ),
- StringInput(
- name="x",
- value="value",
- ),
- ],
- input_variables=[
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- ],
- parameters=PromptParameters(),
- blocks=[
- JinjaPromptBlock(
- template="template",
- ),
- JinjaPromptBlock(
- template="template",
- ),
- ],
-)
-for chunk in response.data:
- yield chunk
-```
-
-## Advanced
-
-### Access Raw Response Data
-
-The SDK provides access to raw response data, including headers, through the `.with_raw_response` property.
-The `.with_raw_response` property returns a "raw" client that can be used to access the `.headers` and `.data` attributes.
-
-```python
-from vellum import Vellum
-
-client = Vellum(
- ...,
-)
-response = client.with_raw_response.execute_prompt(...)
-print(response.headers) # access the response headers
-print(response.data) # access the underlying object
-with client.ad_hoc.with_raw_response.adhoc_execute_prompt_stream(
- ...
-) as response:
- print(response.headers) # access the response headers
- for chunk in response.data:
- print(chunk) # access the underlying object(s)
-```
-
-### Retries
-
-The SDK is instrumented with automatic retries with exponential backoff. A request will be retried as long
-as the request is deemed retryable and the number of retry attempts has not grown larger than the configured
-retry limit (default: 2).
-
-A request is deemed retryable when any of the following HTTP status codes is returned:
-
-- [408](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408) (Timeout)
-- [429](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429) (Too Many Requests)
-- [5XX](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500) (Internal Server Errors)
-
-Use the `max_retries` request option to configure this behavior.
-
-```python
-client.execute_prompt(..., request_options={
- "max_retries": 1
-})
-```
-
-### Timeouts
-
-The SDK defaults to a 60 second timeout. You can configure this with a timeout option at the client or request level.
-
-```python
-
-from vellum import Vellum
-
-client = Vellum(
- ...,
- timeout=20.0,
-)
-
-
-# Override timeout for a specific method
-client.execute_prompt(..., request_options={
- "timeout_in_seconds": 1
-})
-```
-
-### Custom Client
-
-You can override the `httpx` client to customize it for your use-case. Some common use-cases include support for proxies
-and transports.
-
-```python
-import httpx
-from vellum import Vellum
-
-client = Vellum(
- ...,
- httpx_client=httpx.Client(
- proxies="http://my.test.proxy.example.com",
- transport=httpx.HTTPTransport(local_address="0.0.0.0"),
- ),
-)
-```
-
-## Contributing
-
-While we value open-source contributions to this SDK, this library is generated programmatically.
-Additions made directly to this library would have to be moved over to our generation code,
-otherwise they would be overwritten upon the next generated release. Feel free to open a PR as
-a proof of concept, but know that we will not be able to merge it as-is. We suggest opening
-an issue first to discuss with us!
-
-On the other hand, contributions to the README are always very welcome!
-## Open-Source vs. Paid
-
-This repo is available under the [MIT expat license](https://github.com/vellum-ai/vellum-python-sdks/blob/main/LICENSE), except
-for the `ee` directory (which has its [license here](https://github.com/vellum-ai/vellum-python-sdks/blob/main/ee/LICENSE)) if applicable.
-
-To learn more, [book a demo](https://www.vellum.ai/landing-pages/request-demo) or see our [pricing page](https://www.vellum.ai/pricing).
-
diff --git a/src/vellum/client/core/__init__.py b/src/vellum/client/core/__init__.py
deleted file mode 100644
index 31bbb81894..0000000000
--- a/src/vellum/client/core/__init__.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .api_error import ApiError
-from .client_wrapper import AsyncClientWrapper, BaseClientWrapper, SyncClientWrapper
-from .datetime_utils import serialize_datetime
-from .file import File, convert_file_dict_to_httpx_tuples, with_content_type
-from .http_client import AsyncHttpClient, HttpClient
-from .http_response import AsyncHttpResponse, HttpResponse
-from .jsonable_encoder import jsonable_encoder
-from .pydantic_utilities import (
- IS_PYDANTIC_V2,
- UniversalBaseModel,
- UniversalRootModel,
- parse_obj_as,
- universal_field_validator,
- universal_root_validator,
- update_forward_refs,
-)
-from .query_encoder import encode_query
-from .remove_none_from_dict import remove_none_from_dict
-from .request_options import RequestOptions
-from .serialization import FieldMetadata, convert_and_respect_annotation_metadata
-
-__all__ = [
- "ApiError",
- "AsyncClientWrapper",
- "AsyncHttpClient",
- "AsyncHttpResponse",
- "BaseClientWrapper",
- "FieldMetadata",
- "File",
- "HttpClient",
- "HttpResponse",
- "IS_PYDANTIC_V2",
- "RequestOptions",
- "SyncClientWrapper",
- "UniversalBaseModel",
- "UniversalRootModel",
- "convert_and_respect_annotation_metadata",
- "convert_file_dict_to_httpx_tuples",
- "encode_query",
- "jsonable_encoder",
- "parse_obj_as",
- "remove_none_from_dict",
- "serialize_datetime",
- "universal_field_validator",
- "universal_root_validator",
- "update_forward_refs",
- "with_content_type",
-]
diff --git a/src/vellum/client/core/api_error.py b/src/vellum/client/core/api_error.py
deleted file mode 100644
index 6f850a60cb..0000000000
--- a/src/vellum/client/core/api_error.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from typing import Any, Dict, Optional
-
-
-class ApiError(Exception):
- headers: Optional[Dict[str, str]]
- status_code: Optional[int]
- body: Any
-
- def __init__(
- self,
- *,
- headers: Optional[Dict[str, str]] = None,
- status_code: Optional[int] = None,
- body: Any = None,
- ) -> None:
- self.headers = headers
- self.status_code = status_code
- self.body = body
-
- def __str__(self) -> str:
- return f"headers: {self.headers}, status_code: {self.status_code}, body: {self.body}"
diff --git a/src/vellum/client/core/client_wrapper.py b/src/vellum/client/core/client_wrapper.py
deleted file mode 100644
index 72b44b1975..0000000000
--- a/src/vellum/client/core/client_wrapper.py
+++ /dev/null
@@ -1,86 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import httpx
-
-from ..environment import VellumEnvironment
-from ..types.api_version_enum import ApiVersionEnum
-from .http_client import AsyncHttpClient, HttpClient
-
-
-class BaseClientWrapper:
- def __init__(
- self,
- *,
- api_version: typing.Optional[ApiVersionEnum] = None,
- api_key: str,
- headers: typing.Optional[typing.Dict[str, str]] = None,
- environment: VellumEnvironment,
- timeout: typing.Optional[float] = None,
- ):
- self._api_version = api_version
- self.api_key = api_key
- self._headers = headers
- self._environment = environment
- self._timeout = timeout
-
- def get_headers(self) -> typing.Dict[str, str]:
- headers: typing.Dict[str, str] = {
- "User-Agent": "vellum-ai/1.10.4",
- "X-Fern-Language": "Python",
- "X-Fern-SDK-Name": "vellum-ai",
- "X-Fern-SDK-Version": "1.10.4",
- **(self.get_custom_headers() or {}),
- }
- if self._api_version is not None:
- headers["X-API-Version"] = self._api_version
- headers["X-API-KEY"] = self.api_key
- return headers
-
- def get_custom_headers(self) -> typing.Optional[typing.Dict[str, str]]:
- return self._headers
-
- def get_environment(self) -> VellumEnvironment:
- return self._environment
-
- def get_timeout(self) -> typing.Optional[float]:
- return self._timeout
-
-
-class SyncClientWrapper(BaseClientWrapper):
- def __init__(
- self,
- *,
- api_version: typing.Optional[ApiVersionEnum] = None,
- api_key: str,
- headers: typing.Optional[typing.Dict[str, str]] = None,
- environment: VellumEnvironment,
- timeout: typing.Optional[float] = None,
- httpx_client: httpx.Client,
- ):
- super().__init__(
- api_version=api_version, api_key=api_key, headers=headers, environment=environment, timeout=timeout
- )
- self.httpx_client = HttpClient(
- httpx_client=httpx_client, base_headers=self.get_headers, base_timeout=self.get_timeout
- )
-
-
-class AsyncClientWrapper(BaseClientWrapper):
- def __init__(
- self,
- *,
- api_version: typing.Optional[ApiVersionEnum] = None,
- api_key: str,
- headers: typing.Optional[typing.Dict[str, str]] = None,
- environment: VellumEnvironment,
- timeout: typing.Optional[float] = None,
- httpx_client: httpx.AsyncClient,
- ):
- super().__init__(
- api_version=api_version, api_key=api_key, headers=headers, environment=environment, timeout=timeout
- )
- self.httpx_client = AsyncHttpClient(
- httpx_client=httpx_client, base_headers=self.get_headers, base_timeout=self.get_timeout
- )
diff --git a/src/vellum/client/core/datetime_utils.py b/src/vellum/client/core/datetime_utils.py
deleted file mode 100644
index 7c9864a944..0000000000
--- a/src/vellum/client/core/datetime_utils.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-
-
-def serialize_datetime(v: dt.datetime) -> str:
- """
- Serialize a datetime including timezone info.
-
- Uses the timezone info provided if present, otherwise uses the current runtime's timezone info.
-
- UTC datetimes end in "Z" while all other timezones are represented as offset from UTC, e.g. +05:00.
- """
-
- def _serialize_zoned_datetime(v: dt.datetime) -> str:
- if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None):
- # UTC is a special case where we use "Z" at the end instead of "+00:00"
- return v.isoformat().replace("+00:00", "Z")
- else:
- # Delegate to the typical +/- offset format
- return v.isoformat()
-
- if v.tzinfo is not None:
- return _serialize_zoned_datetime(v)
- else:
- local_tz = dt.datetime.now().astimezone().tzinfo
- localized_dt = v.replace(tzinfo=local_tz)
- return _serialize_zoned_datetime(localized_dt)
diff --git a/src/vellum/client/core/file.py b/src/vellum/client/core/file.py
deleted file mode 100644
index 44b0d27c08..0000000000
--- a/src/vellum/client/core/file.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from typing import IO, Dict, List, Mapping, Optional, Tuple, Union, cast
-
-# File typing inspired by the flexibility of types within the httpx library
-# https://github.com/encode/httpx/blob/master/httpx/_types.py
-FileContent = Union[IO[bytes], bytes, str]
-File = Union[
- # file (or bytes)
- FileContent,
- # (filename, file (or bytes))
- Tuple[Optional[str], FileContent],
- # (filename, file (or bytes), content_type)
- Tuple[Optional[str], FileContent, Optional[str]],
- # (filename, file (or bytes), content_type, headers)
- Tuple[
- Optional[str],
- FileContent,
- Optional[str],
- Mapping[str, str],
- ],
-]
-
-
-def convert_file_dict_to_httpx_tuples(
- d: Dict[str, Union[File, List[File]]],
-) -> List[Tuple[str, File]]:
- """
- The format we use is a list of tuples, where the first element is the
- name of the file and the second is the file object. Typically HTTPX wants
- a dict, but to be able to send lists of files, you have to use the list
- approach (which also works for non-lists)
- https://github.com/encode/httpx/pull/1032
- """
-
- httpx_tuples = []
- for key, file_like in d.items():
- if isinstance(file_like, list):
- for file_like_item in file_like:
- httpx_tuples.append((key, file_like_item))
- else:
- httpx_tuples.append((key, file_like))
- return httpx_tuples
-
-
-def with_content_type(*, file: File, default_content_type: str) -> File:
- """
- This function resolves to the file's content type, if provided, and defaults
- to the default_content_type value if not.
- """
- if isinstance(file, tuple):
- if len(file) == 2:
- filename, content = cast(Tuple[Optional[str], FileContent], file) # type: ignore
- return (filename, content, default_content_type)
- elif len(file) == 3:
- filename, content, file_content_type = cast(Tuple[Optional[str], FileContent, Optional[str]], file) # type: ignore
- out_content_type = file_content_type or default_content_type
- return (filename, content, out_content_type)
- elif len(file) == 4:
- filename, content, file_content_type, headers = cast( # type: ignore
- Tuple[Optional[str], FileContent, Optional[str], Mapping[str, str]], file
- )
- out_content_type = file_content_type or default_content_type
- return (filename, content, out_content_type, headers)
- else:
- raise ValueError(f"Unexpected tuple length: {len(file)}")
- return (None, file, default_content_type)
diff --git a/src/vellum/client/core/force_multipart.py b/src/vellum/client/core/force_multipart.py
deleted file mode 100644
index ae24ccff1a..0000000000
--- a/src/vellum/client/core/force_multipart.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-
-class ForceMultipartDict(dict):
- """
- A dictionary subclass that always evaluates to True in boolean contexts.
-
- This is used to force multipart/form-data encoding in HTTP requests even when
- the dictionary is empty, which would normally evaluate to False.
- """
-
- def __bool__(self):
- return True
-
-
-FORCE_MULTIPART = ForceMultipartDict()
diff --git a/src/vellum/client/core/http_client.py b/src/vellum/client/core/http_client.py
deleted file mode 100644
index e4173f990f..0000000000
--- a/src/vellum/client/core/http_client.py
+++ /dev/null
@@ -1,543 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import asyncio
-import email.utils
-import re
-import time
-import typing
-import urllib.parse
-from contextlib import asynccontextmanager, contextmanager
-from random import random
-
-import httpx
-from .file import File, convert_file_dict_to_httpx_tuples
-from .force_multipart import FORCE_MULTIPART
-from .jsonable_encoder import jsonable_encoder
-from .query_encoder import encode_query
-from .remove_none_from_dict import remove_none_from_dict
-from .request_options import RequestOptions
-from httpx._types import RequestFiles
-
-INITIAL_RETRY_DELAY_SECONDS = 0.5
-MAX_RETRY_DELAY_SECONDS = 10
-MAX_RETRY_DELAY_SECONDS_FROM_HEADER = 30
-
-
-def _parse_retry_after(response_headers: httpx.Headers) -> typing.Optional[float]:
- """
- This function parses the `Retry-After` header in a HTTP response and returns the number of seconds to wait.
-
- Inspired by the urllib3 retry implementation.
- """
- retry_after_ms = response_headers.get("retry-after-ms")
- if retry_after_ms is not None:
- try:
- return int(retry_after_ms) / 1000 if retry_after_ms > 0 else 0
- except Exception:
- pass
-
- retry_after = response_headers.get("retry-after")
- if retry_after is None:
- return None
-
- # Attempt to parse the header as an int.
- if re.match(r"^\s*[0-9]+\s*$", retry_after):
- seconds = float(retry_after)
- # Fallback to parsing it as a date.
- else:
- retry_date_tuple = email.utils.parsedate_tz(retry_after)
- if retry_date_tuple is None:
- return None
- if retry_date_tuple[9] is None: # Python 2
- # Assume UTC if no timezone was specified
- # On Python2.7, parsedate_tz returns None for a timezone offset
- # instead of 0 if no timezone is given, where mktime_tz treats
- # a None timezone offset as local time.
- retry_date_tuple = retry_date_tuple[:9] + (0,) + retry_date_tuple[10:]
-
- retry_date = email.utils.mktime_tz(retry_date_tuple)
- seconds = retry_date - time.time()
-
- if seconds < 0:
- seconds = 0
-
- return seconds
-
-
-def _retry_timeout(response: httpx.Response, retries: int) -> float:
- """
- Determine the amount of time to wait before retrying a request.
- This function begins by trying to parse a retry-after header from the response, and then proceeds to use exponential backoff
- with a jitter to determine the number of seconds to wait.
- """
-
- # If the API asks us to wait a certain amount of time (and it's a reasonable amount), just do what it says.
- retry_after = _parse_retry_after(response.headers)
- if retry_after is not None and retry_after <= MAX_RETRY_DELAY_SECONDS_FROM_HEADER:
- return retry_after
-
- # Apply exponential backoff, capped at MAX_RETRY_DELAY_SECONDS.
- retry_delay = min(INITIAL_RETRY_DELAY_SECONDS * pow(2.0, retries), MAX_RETRY_DELAY_SECONDS)
-
- # Add a randomness / jitter to the retry delay to avoid overwhelming the server with retries.
- timeout = retry_delay * (1 - 0.25 * random())
- return timeout if timeout >= 0 else 0
-
-
-def _should_retry(response: httpx.Response) -> bool:
- retryable_400s = [429, 408, 409]
- return response.status_code >= 500 or response.status_code in retryable_400s
-
-
-def remove_omit_from_dict(
- original: typing.Dict[str, typing.Optional[typing.Any]],
- omit: typing.Optional[typing.Any],
-) -> typing.Dict[str, typing.Any]:
- if omit is None:
- return original
- new: typing.Dict[str, typing.Any] = {}
- for key, value in original.items():
- if value is not omit:
- new[key] = value
- return new
-
-
-def maybe_filter_request_body(
- data: typing.Optional[typing.Any],
- request_options: typing.Optional[RequestOptions],
- omit: typing.Optional[typing.Any],
-) -> typing.Optional[typing.Any]:
- if data is None:
- return (
- jsonable_encoder(request_options.get("additional_body_parameters", {})) or {}
- if request_options is not None
- else None
- )
- elif not isinstance(data, typing.Mapping):
- data_content = jsonable_encoder(data)
- else:
- data_content = {
- **(jsonable_encoder(remove_omit_from_dict(data, omit))), # type: ignore
- **(
- jsonable_encoder(request_options.get("additional_body_parameters", {})) or {}
- if request_options is not None
- else {}
- ),
- }
- return data_content
-
-
-# Abstracted out for testing purposes
-def get_request_body(
- *,
- json: typing.Optional[typing.Any],
- data: typing.Optional[typing.Any],
- request_options: typing.Optional[RequestOptions],
- omit: typing.Optional[typing.Any],
-) -> typing.Tuple[typing.Optional[typing.Any], typing.Optional[typing.Any]]:
- json_body = None
- data_body = None
- if data is not None:
- data_body = maybe_filter_request_body(data, request_options, omit)
- else:
- # If both data and json are None, we send json data in the event extra properties are specified
- json_body = maybe_filter_request_body(json, request_options, omit)
-
- # If you have an empty JSON body, you should just send None
- return (json_body if json_body != {} else None), data_body if data_body != {} else None
-
-
-class HttpClient:
- def __init__(
- self,
- *,
- httpx_client: httpx.Client,
- base_timeout: typing.Callable[[], typing.Optional[float]],
- base_headers: typing.Callable[[], typing.Dict[str, str]],
- base_url: typing.Optional[typing.Callable[[], str]] = None,
- ):
- self.base_url = base_url
- self.base_timeout = base_timeout
- self.base_headers = base_headers
- self.httpx_client = httpx_client
-
- def get_base_url(self, maybe_base_url: typing.Optional[str]) -> str:
- base_url = maybe_base_url
- if self.base_url is not None and base_url is None:
- base_url = self.base_url()
-
- if base_url is None:
- raise ValueError("A base_url is required to make this request, please provide one and try again.")
- return base_url
-
- def request(
- self,
- path: typing.Optional[str] = None,
- *,
- method: str,
- base_url: typing.Optional[str] = None,
- params: typing.Optional[typing.Dict[str, typing.Any]] = None,
- json: typing.Optional[typing.Any] = None,
- data: typing.Optional[typing.Any] = None,
- content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
- files: typing.Optional[
- typing.Union[
- typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
- typing.List[typing.Tuple[str, File]],
- ]
- ] = None,
- headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
- request_options: typing.Optional[RequestOptions] = None,
- retries: int = 2,
- omit: typing.Optional[typing.Any] = None,
- force_multipart: typing.Optional[bool] = None,
- ) -> httpx.Response:
- base_url = self.get_base_url(base_url)
- timeout = (
- request_options.get("timeout_in_seconds")
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
- else self.base_timeout()
- )
-
- json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
-
- request_files: typing.Optional[RequestFiles] = (
- convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
- if (files is not None and files is not omit and isinstance(files, dict))
- else None
- )
-
- if (request_files is None or len(request_files) == 0) and force_multipart:
- request_files = FORCE_MULTIPART
-
- response = self.httpx_client.request(
- method=method,
- url=urllib.parse.urljoin(f"{base_url}/", path),
- headers=jsonable_encoder(
- remove_none_from_dict(
- {
- **self.base_headers(),
- **(headers if headers is not None else {}),
- **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}),
- }
- )
- ),
- params=encode_query(
- jsonable_encoder(
- remove_none_from_dict(
- remove_omit_from_dict(
- {
- **(params if params is not None else {}),
- **(
- request_options.get("additional_query_parameters", {}) or {}
- if request_options is not None
- else {}
- ),
- },
- omit,
- )
- )
- )
- ),
- json=json_body,
- data=data_body,
- content=content,
- files=request_files,
- timeout=timeout,
- )
-
- max_retries: int = request_options.get("max_retries", 0) if request_options is not None else 0
- if _should_retry(response=response):
- if max_retries > retries:
- time.sleep(_retry_timeout(response=response, retries=retries))
- return self.request(
- path=path,
- method=method,
- base_url=base_url,
- params=params,
- json=json,
- content=content,
- files=files,
- headers=headers,
- request_options=request_options,
- retries=retries + 1,
- omit=omit,
- )
-
- return response
-
- @contextmanager
- def stream(
- self,
- path: typing.Optional[str] = None,
- *,
- method: str,
- base_url: typing.Optional[str] = None,
- params: typing.Optional[typing.Dict[str, typing.Any]] = None,
- json: typing.Optional[typing.Any] = None,
- data: typing.Optional[typing.Any] = None,
- content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
- files: typing.Optional[
- typing.Union[
- typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
- typing.List[typing.Tuple[str, File]],
- ]
- ] = None,
- headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
- request_options: typing.Optional[RequestOptions] = None,
- retries: int = 2,
- omit: typing.Optional[typing.Any] = None,
- force_multipart: typing.Optional[bool] = None,
- ) -> typing.Iterator[httpx.Response]:
- base_url = self.get_base_url(base_url)
- timeout = (
- request_options.get("timeout_in_seconds")
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
- else self.base_timeout()
- )
-
- request_files: typing.Optional[RequestFiles] = (
- convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
- if (files is not None and files is not omit and isinstance(files, dict))
- else None
- )
-
- if (request_files is None or len(request_files) == 0) and force_multipart:
- request_files = FORCE_MULTIPART
-
- json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
-
- with self.httpx_client.stream(
- method=method,
- url=urllib.parse.urljoin(f"{base_url}/", path),
- headers=jsonable_encoder(
- remove_none_from_dict(
- {
- **self.base_headers(),
- **(headers if headers is not None else {}),
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
- }
- )
- ),
- params=encode_query(
- jsonable_encoder(
- remove_none_from_dict(
- remove_omit_from_dict(
- {
- **(params if params is not None else {}),
- **(
- request_options.get("additional_query_parameters", {})
- if request_options is not None
- else {}
- ),
- },
- omit,
- )
- )
- )
- ),
- json=json_body,
- data=data_body,
- content=content,
- files=request_files,
- timeout=timeout,
- ) as stream:
- yield stream
-
-
-class AsyncHttpClient:
- def __init__(
- self,
- *,
- httpx_client: httpx.AsyncClient,
- base_timeout: typing.Callable[[], typing.Optional[float]],
- base_headers: typing.Callable[[], typing.Dict[str, str]],
- base_url: typing.Optional[typing.Callable[[], str]] = None,
- ):
- self.base_url = base_url
- self.base_timeout = base_timeout
- self.base_headers = base_headers
- self.httpx_client = httpx_client
-
- def get_base_url(self, maybe_base_url: typing.Optional[str]) -> str:
- base_url = maybe_base_url
- if self.base_url is not None and base_url is None:
- base_url = self.base_url()
-
- if base_url is None:
- raise ValueError("A base_url is required to make this request, please provide one and try again.")
- return base_url
-
- async def request(
- self,
- path: typing.Optional[str] = None,
- *,
- method: str,
- base_url: typing.Optional[str] = None,
- params: typing.Optional[typing.Dict[str, typing.Any]] = None,
- json: typing.Optional[typing.Any] = None,
- data: typing.Optional[typing.Any] = None,
- content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
- files: typing.Optional[
- typing.Union[
- typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
- typing.List[typing.Tuple[str, File]],
- ]
- ] = None,
- headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
- request_options: typing.Optional[RequestOptions] = None,
- retries: int = 2,
- omit: typing.Optional[typing.Any] = None,
- force_multipart: typing.Optional[bool] = None,
- ) -> httpx.Response:
- base_url = self.get_base_url(base_url)
- timeout = (
- request_options.get("timeout_in_seconds")
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
- else self.base_timeout()
- )
-
- request_files: typing.Optional[RequestFiles] = (
- convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
- if (files is not None and files is not omit and isinstance(files, dict))
- else None
- )
-
- if (request_files is None or len(request_files) == 0) and force_multipart:
- request_files = FORCE_MULTIPART
-
- json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
-
- # Add the input to each of these and do None-safety checks
- response = await self.httpx_client.request(
- method=method,
- url=urllib.parse.urljoin(f"{base_url}/", path),
- headers=jsonable_encoder(
- remove_none_from_dict(
- {
- **self.base_headers(),
- **(headers if headers is not None else {}),
- **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}),
- }
- )
- ),
- params=encode_query(
- jsonable_encoder(
- remove_none_from_dict(
- remove_omit_from_dict(
- {
- **(params if params is not None else {}),
- **(
- request_options.get("additional_query_parameters", {}) or {}
- if request_options is not None
- else {}
- ),
- },
- omit,
- )
- )
- )
- ),
- json=json_body,
- data=data_body,
- content=content,
- files=request_files,
- timeout=timeout,
- )
-
- max_retries: int = request_options.get("max_retries", 0) if request_options is not None else 0
- if _should_retry(response=response):
- if max_retries > retries:
- await asyncio.sleep(_retry_timeout(response=response, retries=retries))
- return await self.request(
- path=path,
- method=method,
- base_url=base_url,
- params=params,
- json=json,
- content=content,
- files=files,
- headers=headers,
- request_options=request_options,
- retries=retries + 1,
- omit=omit,
- )
- return response
-
- @asynccontextmanager
- async def stream(
- self,
- path: typing.Optional[str] = None,
- *,
- method: str,
- base_url: typing.Optional[str] = None,
- params: typing.Optional[typing.Dict[str, typing.Any]] = None,
- json: typing.Optional[typing.Any] = None,
- data: typing.Optional[typing.Any] = None,
- content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
- files: typing.Optional[
- typing.Union[
- typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
- typing.List[typing.Tuple[str, File]],
- ]
- ] = None,
- headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
- request_options: typing.Optional[RequestOptions] = None,
- retries: int = 2,
- omit: typing.Optional[typing.Any] = None,
- force_multipart: typing.Optional[bool] = None,
- ) -> typing.AsyncIterator[httpx.Response]:
- base_url = self.get_base_url(base_url)
- timeout = (
- request_options.get("timeout_in_seconds")
- if request_options is not None and request_options.get("timeout_in_seconds") is not None
- else self.base_timeout()
- )
-
- request_files: typing.Optional[RequestFiles] = (
- convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
- if (files is not None and files is not omit and isinstance(files, dict))
- else None
- )
-
- if (request_files is None or len(request_files) == 0) and force_multipart:
- request_files = FORCE_MULTIPART
-
- json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
-
- async with self.httpx_client.stream(
- method=method,
- url=urllib.parse.urljoin(f"{base_url}/", path),
- headers=jsonable_encoder(
- remove_none_from_dict(
- {
- **self.base_headers(),
- **(headers if headers is not None else {}),
- **(request_options.get("additional_headers", {}) if request_options is not None else {}),
- }
- )
- ),
- params=encode_query(
- jsonable_encoder(
- remove_none_from_dict(
- remove_omit_from_dict(
- {
- **(params if params is not None else {}),
- **(
- request_options.get("additional_query_parameters", {})
- if request_options is not None
- else {}
- ),
- },
- omit=omit,
- )
- )
- )
- ),
- json=json_body,
- data=data_body,
- content=content,
- files=request_files,
- timeout=timeout,
- ) as stream:
- yield stream
diff --git a/src/vellum/client/core/http_response.py b/src/vellum/client/core/http_response.py
deleted file mode 100644
index 48a1798a56..0000000000
--- a/src/vellum/client/core/http_response.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from typing import Dict, Generic, TypeVar
-
-import httpx
-
-T = TypeVar("T")
-"""Generic to represent the underlying type of the data wrapped by the HTTP response."""
-
-
-class BaseHttpResponse:
- """Minimalist HTTP response wrapper that exposes response headers."""
-
- _response: httpx.Response
-
- def __init__(self, response: httpx.Response):
- self._response = response
-
- @property
- def headers(self) -> Dict[str, str]:
- return dict(self._response.headers)
-
-
-class HttpResponse(Generic[T], BaseHttpResponse):
- """HTTP response wrapper that exposes response headers and data."""
-
- _data: T
-
- def __init__(self, response: httpx.Response, data: T):
- super().__init__(response)
- self._data = data
-
- @property
- def data(self) -> T:
- return self._data
-
- def close(self) -> None:
- self._response.close()
-
-
-class AsyncHttpResponse(Generic[T], BaseHttpResponse):
- """HTTP response wrapper that exposes response headers and data."""
-
- _data: T
-
- def __init__(self, response: httpx.Response, data: T):
- super().__init__(response)
- self._data = data
-
- @property
- def data(self) -> T:
- return self._data
-
- async def close(self) -> None:
- await self._response.aclose()
diff --git a/src/vellum/client/core/jsonable_encoder.py b/src/vellum/client/core/jsonable_encoder.py
deleted file mode 100644
index afee3662d8..0000000000
--- a/src/vellum/client/core/jsonable_encoder.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-"""
-jsonable_encoder converts a Python object to a JSON-friendly dict
-(e.g. datetimes to strings, Pydantic models to dicts).
-
-Taken from FastAPI, and made a bit simpler
-https://github.com/tiangolo/fastapi/blob/master/fastapi/encoders.py
-"""
-
-import base64
-import dataclasses
-import datetime as dt
-from enum import Enum
-from pathlib import PurePath
-from types import GeneratorType
-from typing import Any, Callable, Dict, List, Optional, Set, Union
-
-import pydantic
-from .datetime_utils import serialize_datetime
-from .pydantic_utilities import (
- IS_PYDANTIC_V2,
- encode_by_type,
- to_jsonable_with_fallback,
-)
-
-SetIntStr = Set[Union[int, str]]
-DictIntStrAny = Dict[Union[int, str], Any]
-
-
-def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any:
- custom_encoder = custom_encoder or {}
- if custom_encoder:
- if type(obj) in custom_encoder:
- return custom_encoder[type(obj)](obj)
- else:
- for encoder_type, encoder_instance in custom_encoder.items():
- if isinstance(obj, encoder_type):
- return encoder_instance(obj)
- if isinstance(obj, pydantic.BaseModel):
- if IS_PYDANTIC_V2:
- encoder = getattr(obj.model_config, "json_encoders", {}) # type: ignore # Pydantic v2
- else:
- encoder = getattr(obj.__config__, "json_encoders", {}) # type: ignore # Pydantic v1
- if custom_encoder:
- encoder.update(custom_encoder)
- obj_dict = obj.dict(by_alias=True)
- if "__root__" in obj_dict:
- obj_dict = obj_dict["__root__"]
- if "root" in obj_dict:
- obj_dict = obj_dict["root"]
- return jsonable_encoder(obj_dict, custom_encoder=encoder)
- if dataclasses.is_dataclass(obj):
- obj_dict = dataclasses.asdict(obj) # type: ignore
- return jsonable_encoder(obj_dict, custom_encoder=custom_encoder)
- if isinstance(obj, bytes):
- return base64.b64encode(obj).decode("utf-8")
- if isinstance(obj, Enum):
- return obj.value
- if isinstance(obj, PurePath):
- return str(obj)
- if isinstance(obj, (str, int, float, type(None))):
- return obj
- if isinstance(obj, dt.datetime):
- return serialize_datetime(obj)
- if isinstance(obj, dt.date):
- return str(obj)
- if isinstance(obj, dict):
- encoded_dict = {}
- allowed_keys = set(obj.keys())
- for key, value in obj.items():
- if key in allowed_keys:
- encoded_key = jsonable_encoder(key, custom_encoder=custom_encoder)
- encoded_value = jsonable_encoder(value, custom_encoder=custom_encoder)
- encoded_dict[encoded_key] = encoded_value
- return encoded_dict
- if isinstance(obj, (list, set, frozenset, GeneratorType, tuple)):
- encoded_list = []
- for item in obj:
- encoded_list.append(jsonable_encoder(item, custom_encoder=custom_encoder))
- return encoded_list
-
- def fallback_serializer(o: Any) -> Any:
- attempt_encode = encode_by_type(o)
- if attempt_encode is not None:
- return attempt_encode
-
- try:
- data = dict(o)
- except Exception as e:
- errors: List[Exception] = []
- errors.append(e)
- try:
- data = vars(o)
- except Exception as e:
- errors.append(e)
- raise ValueError(errors) from e
- return jsonable_encoder(data, custom_encoder=custom_encoder)
-
- return to_jsonable_with_fallback(obj, fallback_serializer)
diff --git a/src/vellum/client/core/pydantic_utilities.py b/src/vellum/client/core/pydantic_utilities.py
deleted file mode 100644
index 1d09ed22f4..0000000000
--- a/src/vellum/client/core/pydantic_utilities.py
+++ /dev/null
@@ -1,276 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# nopycln: file
-import datetime as dt
-from collections import defaultdict
-from typing import Any, Callable, ClassVar, Dict, List, Mapping, Optional, Set, Tuple, Type, TypeVar, Union, cast
-
-import pydantic
-from pydantic import SerializationInfo
-import logging
-
-logger = logging.getLogger(__name__)
-
-IS_PYDANTIC_V2 = pydantic.VERSION.startswith("2.")
-
-if IS_PYDANTIC_V2:
- from pydantic.v1.datetime_parse import parse_date as parse_date
- from pydantic.v1.datetime_parse import parse_datetime as parse_datetime
- from pydantic.v1.fields import ModelField as ModelField
- from pydantic.v1.json import ENCODERS_BY_TYPE as encoders_by_type # type: ignore[attr-defined]
- from pydantic.v1.typing import get_args as get_args
- from pydantic.v1.typing import get_origin as get_origin
- from pydantic.v1.typing import is_literal_type as is_literal_type
- from pydantic.v1.typing import is_union as is_union
-else:
- from pydantic.datetime_parse import parse_date as parse_date # type: ignore[no-redef]
- from pydantic.datetime_parse import parse_datetime as parse_datetime # type: ignore[no-redef]
- from pydantic.fields import ModelField as ModelField # type: ignore[attr-defined, no-redef]
- from pydantic.json import ENCODERS_BY_TYPE as encoders_by_type # type: ignore[no-redef]
- from pydantic.typing import get_args as get_args # type: ignore[no-redef]
- from pydantic.typing import get_origin as get_origin # type: ignore[no-redef]
- from pydantic.typing import is_literal_type as is_literal_type # type: ignore[no-redef]
- from pydantic.typing import is_union as is_union # type: ignore[no-redef]
-
-from .datetime_utils import serialize_datetime
-from .serialization import convert_and_respect_annotation_metadata
-from typing_extensions import TypeAlias
-
-T = TypeVar("T")
-Model = TypeVar("Model", bound=pydantic.BaseModel)
-type_adapter_cache: Dict[Type, pydantic.TypeAdapter] = {}
-annotated_types = {"ExecuteApiResponse"}
-
-
-def parse_obj_as(type_: Type[T], object_: Any) -> T:
- if hasattr(type_, "__name__") and type_.__name__ in annotated_types:
- dealiased_object = convert_and_respect_annotation_metadata(object_=object_, annotation=type_, direction="read")
- else:
- dealiased_object = object_
- if IS_PYDANTIC_V2:
- adapter = pydantic.TypeAdapter(type_) if type_ not in type_adapter_cache else type_adapter_cache[type_] # type: ignore[attr-defined]
- if type_ not in type_adapter_cache:
- type_adapter_cache[type_] = adapter
- return adapter.validate_python(dealiased_object)
- return pydantic.parse_obj_as(type_, dealiased_object)
-
-
-def to_jsonable_with_fallback(obj: Any, fallback_serializer: Callable[[Any], Any]) -> Any:
- if IS_PYDANTIC_V2:
- from pydantic_core import to_jsonable_python
-
- return to_jsonable_python(obj, fallback=fallback_serializer)
- return fallback_serializer(obj)
-
-
-class UniversalBaseModel(pydantic.BaseModel):
- if IS_PYDANTIC_V2:
- model_config: ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict( # type: ignore[typeddict-unknown-key]
- # Allow fields beginning with `model_` to be used in the model
- protected_namespaces=(),
- )
-
- @pydantic.model_serializer(mode="plain", when_used="json") # type: ignore[attr-defined]
- def serialize_model(self, info: SerializationInfo) -> Any: # type: ignore[name-defined]
- serialized = self.model_dump(context=info.context)
- data = {k: serialize_datetime(v) if isinstance(v, dt.datetime) else v for k, v in serialized.items()}
- return data
-
- else:
-
- class Config:
- smart_union = True
- json_encoders = {dt.datetime: serialize_datetime}
-
- @classmethod
- def model_construct(cls: Type["Model"], _fields_set: Optional[Set[str]] = None, **values: Any) -> "Model":
- dealiased_object = convert_and_respect_annotation_metadata(object_=values, annotation=cls, direction="read")
- return cls.construct(_fields_set, **dealiased_object)
-
- @classmethod
- def construct(cls: Type["Model"], _fields_set: Optional[Set[str]] = None, **values: Any) -> "Model":
- dealiased_object = convert_and_respect_annotation_metadata(object_=values, annotation=cls, direction="read")
- if IS_PYDANTIC_V2:
- return super().model_construct(_fields_set, **dealiased_object) # type: ignore[misc]
- return super().construct(_fields_set, **dealiased_object)
-
- def json(self, **kwargs: Any) -> str:
- kwargs_with_defaults = {
- "by_alias": True,
- "exclude_unset": True,
- **kwargs,
- }
- if IS_PYDANTIC_V2:
- return super().model_dump_json(**kwargs_with_defaults) # type: ignore[misc]
- return super().json(**kwargs_with_defaults)
-
- def dict(self, **kwargs: Any) -> Dict[str, Any]:
- """
- Override the default dict method to `exclude_unset` by default. This function patches
- `exclude_unset` to work include fields within non-None default values.
- """
- # Note: the logic here is multiplexed given the levers exposed in Pydantic V1 vs V2
- # Pydantic V1's .dict can be extremely slow, so we do not want to call it twice.
- #
- # We'd ideally do the same for Pydantic V2, but it shells out to a library to serialize models
- # that we have less control over, and this is less intrusive than custom serializers for now.
- if IS_PYDANTIC_V2:
- kwargs_with_defaults_exclude_unset = {
- **kwargs,
- "by_alias": True,
- "exclude_unset": True,
- "exclude_none": False,
- }
- kwargs_with_defaults_exclude_none = {
- **kwargs,
- "by_alias": True,
- "exclude_none": True,
- "exclude_unset": False,
- }
- dict_dump = deep_union_pydantic_dicts(
- super().model_dump(**kwargs_with_defaults_exclude_unset), # type: ignore[misc]
- super().model_dump(**kwargs_with_defaults_exclude_none), # type: ignore[misc]
- )
-
- else:
- _fields_set = self.__fields_set__.copy()
-
- fields = _get_model_fields(self.__class__)
- for name, field in fields.items():
- if name not in _fields_set:
- default = _get_field_default(field)
-
- # If the default values are non-null act like they've been set
- # This effectively allows exclude_unset to work like exclude_none where
- # the latter passes through intentionally set none values.
- if default is not None or ("exclude_unset" in kwargs and not kwargs["exclude_unset"]):
- _fields_set.add(name)
-
- if default is not None:
- self.__fields_set__.add(name)
-
- kwargs_with_defaults_exclude_unset_include_fields = {
- "by_alias": True,
- "exclude_unset": True,
- "include": _fields_set,
- **kwargs,
- }
-
- dict_dump = super().dict(**kwargs_with_defaults_exclude_unset_include_fields)
-
- # Skip expensive annotation metadata conversion for types that don't require it.
- # This optimization dramatically improves serialization performance for large nested
- # structures by avoiding repeated typing.get_origin checks on every element.
- if self.__class__.__name__ in annotated_types:
- return convert_and_respect_annotation_metadata(
- object_=dict_dump, annotation=self.__class__, direction="write"
- )
- return dict_dump
-
-
-def _union_list_of_pydantic_dicts(source: List[Any], destination: List[Any]) -> List[Any]:
- converted_list: List[Any] = []
- for i, item in enumerate(source):
- destination_value = destination[i]
- if isinstance(item, dict):
- converted_list.append(deep_union_pydantic_dicts(item, destination_value))
- elif isinstance(item, list):
- converted_list.append(_union_list_of_pydantic_dicts(item, destination_value))
- else:
- converted_list.append(item)
- return converted_list
-
-
-def deep_union_pydantic_dicts(source: Dict[str, Any], destination: Dict[str, Any]) -> Dict[str, Any]:
- for key, value in source.items():
- node = destination.setdefault(key, {})
- if isinstance(value, dict):
- deep_union_pydantic_dicts(value, node)
- # Note: we do not do this same processing for sets given we do not have sets of models
- # and given the sets are unordered, the processing of the set and matching objects would
- # be non-trivial.
- elif isinstance(value, list):
- destination[key] = _union_list_of_pydantic_dicts(value, node)
- else:
- destination[key] = value
-
- return destination
-
-
-if IS_PYDANTIC_V2:
-
- class V2RootModel(UniversalBaseModel, pydantic.RootModel): # type: ignore[misc, name-defined, type-arg]
- pass
-
- UniversalRootModel: TypeAlias = V2RootModel # type: ignore[misc]
-else:
- UniversalRootModel: TypeAlias = UniversalBaseModel # type: ignore[misc, no-redef]
-
-
-def encode_by_type(o: Any) -> Any:
- encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple)
- for type_, encoder in encoders_by_type.items():
- encoders_by_class_tuples[encoder] += (type_,)
-
- if type(o) in encoders_by_type:
- return encoders_by_type[type(o)](o)
- for encoder, classes_tuple in encoders_by_class_tuples.items():
- if isinstance(o, classes_tuple):
- return encoder(o)
-
-
-def update_forward_refs(model: Type["Model"], **localns: Any) -> None:
- if IS_PYDANTIC_V2:
- model.model_rebuild(raise_errors=False) # type: ignore[attr-defined]
- else:
- try:
- model.update_forward_refs(**localns)
- except Exception as e:
- logger.warning("[WARN] Failed to update forward refs for model %s", model.__name__)
-
-
-# Mirrors Pydantic's internal typing
-AnyCallable = Callable[..., Any]
-
-
-def universal_root_validator(
- pre: bool = False,
-) -> Callable[[AnyCallable], AnyCallable]:
- def decorator(func: AnyCallable) -> AnyCallable:
- if IS_PYDANTIC_V2:
- return cast(AnyCallable, pydantic.model_validator(mode="before" if pre else "after")(func)) # type: ignore[attr-defined]
- return cast(AnyCallable, pydantic.root_validator(pre=pre)(func)) # type: ignore[call-overload]
-
- return decorator
-
-
-def universal_field_validator(field_name: str, pre: bool = False) -> Callable[[AnyCallable], AnyCallable]:
- def decorator(func: AnyCallable) -> AnyCallable:
- if IS_PYDANTIC_V2:
- return cast(AnyCallable, pydantic.field_validator(field_name, mode="before" if pre else "after")(func)) # type: ignore[attr-defined]
- return cast(AnyCallable, pydantic.validator(field_name, pre=pre)(func))
-
- return decorator
-
-
-PydanticField = Union[ModelField, pydantic.fields.FieldInfo]
-
-
-def _get_model_fields(model: Type["Model"]) -> Mapping[str, PydanticField]:
- if IS_PYDANTIC_V2:
- return cast(Mapping[str, PydanticField], model.model_fields) # type: ignore[attr-defined]
- return cast(Mapping[str, PydanticField], model.__fields__)
-
-
-def _get_field_default(field: PydanticField) -> Any:
- try:
- value = field.get_default() # type: ignore[union-attr]
- except:
- value = field.default
- if IS_PYDANTIC_V2:
- from pydantic_core import PydanticUndefined
-
- if value == PydanticUndefined:
- return None
- return value
- return value
diff --git a/src/vellum/client/core/query_encoder.py b/src/vellum/client/core/query_encoder.py
deleted file mode 100644
index 3183001d40..0000000000
--- a/src/vellum/client/core/query_encoder.py
+++ /dev/null
@@ -1,58 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from typing import Any, Dict, List, Optional, Tuple
-
-import pydantic
-
-
-# Flattens dicts to be of the form {"key[subkey][subkey2]": value} where value is not a dict
-def traverse_query_dict(dict_flat: Dict[str, Any], key_prefix: Optional[str] = None) -> List[Tuple[str, Any]]:
- result = []
- for k, v in dict_flat.items():
- key = f"{key_prefix}[{k}]" if key_prefix is not None else k
- if isinstance(v, dict):
- result.extend(traverse_query_dict(v, key))
- elif isinstance(v, list):
- for arr_v in v:
- if isinstance(arr_v, dict):
- result.extend(traverse_query_dict(arr_v, key))
- else:
- result.append((key, arr_v))
- else:
- result.append((key, v))
- return result
-
-
-def single_query_encoder(query_key: str, query_value: Any) -> List[Tuple[str, Any]]:
- if isinstance(query_value, pydantic.BaseModel) or isinstance(query_value, dict):
- if isinstance(query_value, pydantic.BaseModel):
- obj_dict = query_value.dict(by_alias=True)
- else:
- obj_dict = query_value
- return traverse_query_dict(obj_dict, query_key)
- elif isinstance(query_value, list):
- encoded_values: List[Tuple[str, Any]] = []
- for value in query_value:
- if isinstance(value, pydantic.BaseModel) or isinstance(value, dict):
- if isinstance(value, pydantic.BaseModel):
- obj_dict = value.dict(by_alias=True)
- elif isinstance(value, dict):
- obj_dict = value
-
- encoded_values.extend(single_query_encoder(query_key, obj_dict))
- else:
- encoded_values.append((query_key, value))
-
- return encoded_values
-
- return [(query_key, query_value)]
-
-
-def encode_query(query: Optional[Dict[str, Any]]) -> Optional[List[Tuple[str, Any]]]:
- if query is None:
- return None
-
- encoded_query = []
- for k, v in query.items():
- encoded_query.extend(single_query_encoder(k, v))
- return encoded_query
diff --git a/src/vellum/client/core/remove_none_from_dict.py b/src/vellum/client/core/remove_none_from_dict.py
deleted file mode 100644
index c2298143f1..0000000000
--- a/src/vellum/client/core/remove_none_from_dict.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from typing import Any, Dict, Mapping, Optional
-
-
-def remove_none_from_dict(original: Mapping[str, Optional[Any]]) -> Dict[str, Any]:
- new: Dict[str, Any] = {}
- for key, value in original.items():
- if value is not None:
- new[key] = value
- return new
diff --git a/src/vellum/client/core/request_options.py b/src/vellum/client/core/request_options.py
deleted file mode 100644
index 1b38804432..0000000000
--- a/src/vellum/client/core/request_options.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-try:
- from typing import NotRequired # type: ignore
-except ImportError:
- from typing_extensions import NotRequired
-
-
-class RequestOptions(typing.TypedDict, total=False):
- """
- Additional options for request-specific configuration when calling APIs via the SDK.
- This is used primarily as an optional final parameter for service functions.
-
- Attributes:
- - timeout_in_seconds: int. The number of seconds to await an API call before timing out.
-
- - max_retries: int. The max number of retries to attempt if the API call fails.
-
- - additional_headers: typing.Dict[str, typing.Any]. A dictionary containing additional parameters to spread into the request's header dict
-
- - additional_query_parameters: typing.Dict[str, typing.Any]. A dictionary containing additional parameters to spread into the request's query parameters dict
-
- - additional_body_parameters: typing.Dict[str, typing.Any]. A dictionary containing additional parameters to spread into the request's body parameters dict
-
- - chunk_size: int. The size, in bytes, to process each chunk of data being streamed back within the response. This equates to leveraging `chunk_size` within `requests` or `httpx`, and is only leveraged for file downloads.
- """
-
- timeout_in_seconds: NotRequired[int]
- max_retries: NotRequired[int]
- additional_headers: NotRequired[typing.Dict[str, typing.Any]]
- additional_query_parameters: NotRequired[typing.Dict[str, typing.Any]]
- additional_body_parameters: NotRequired[typing.Dict[str, typing.Any]]
- chunk_size: NotRequired[int]
diff --git a/src/vellum/client/core/serialization.py b/src/vellum/client/core/serialization.py
deleted file mode 100644
index c36e865cc7..0000000000
--- a/src/vellum/client/core/serialization.py
+++ /dev/null
@@ -1,276 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import collections
-import inspect
-import typing
-
-import pydantic
-import typing_extensions
-
-
-class FieldMetadata:
- """
- Metadata class used to annotate fields to provide additional information.
-
- Example:
- class MyDict(TypedDict):
- field: typing.Annotated[str, FieldMetadata(alias="field_name")]
-
- Will serialize: `{"field": "value"}`
- To: `{"field_name": "value"}`
- """
-
- alias: str
-
- def __init__(self, *, alias: str) -> None:
- self.alias = alias
-
-
-def convert_and_respect_annotation_metadata(
- *,
- object_: typing.Any,
- annotation: typing.Any,
- inner_type: typing.Optional[typing.Any] = None,
- direction: typing.Literal["read", "write"],
-) -> typing.Any:
- """
- Respect the metadata annotations on a field, such as aliasing. This function effectively
- manipulates the dict-form of an object to respect the metadata annotations. This is primarily used for
- TypedDicts, which cannot support aliasing out of the box, and can be extended for additional
- utilities, such as defaults.
-
- Parameters
- ----------
- object_ : typing.Any
-
- annotation : type
- The type we're looking to apply typing annotations from
-
- inner_type : typing.Optional[type]
-
- Returns
- -------
- typing.Any
- """
-
- if object_ is None:
- return None
- if inner_type is None:
- inner_type = annotation
-
- clean_type = _remove_annotations(inner_type)
- # Pydantic models
- if (
- inspect.isclass(clean_type)
- and issubclass(clean_type, pydantic.BaseModel)
- and isinstance(object_, typing.Mapping)
- ):
- return _convert_mapping(object_, clean_type, direction)
- # TypedDicts
- if typing_extensions.is_typeddict(clean_type) and isinstance(object_, typing.Mapping):
- return _convert_mapping(object_, clean_type, direction)
-
- if (
- typing_extensions.get_origin(clean_type) == typing.Dict
- or typing_extensions.get_origin(clean_type) == dict
- or clean_type == typing.Dict
- ) and isinstance(object_, typing.Dict):
- key_type = typing_extensions.get_args(clean_type)[0]
- value_type = typing_extensions.get_args(clean_type)[1]
-
- return {
- key: convert_and_respect_annotation_metadata(
- object_=value,
- annotation=annotation,
- inner_type=value_type,
- direction=direction,
- )
- for key, value in object_.items()
- }
-
- # If you're iterating on a string, do not bother to coerce it to a sequence.
- if not isinstance(object_, str):
- if (
- typing_extensions.get_origin(clean_type) == typing.Set
- or typing_extensions.get_origin(clean_type) == set
- or clean_type == typing.Set
- ) and isinstance(object_, typing.Set):
- inner_type = typing_extensions.get_args(clean_type)[0]
- return {
- convert_and_respect_annotation_metadata(
- object_=item,
- annotation=annotation,
- inner_type=inner_type,
- direction=direction,
- )
- for item in object_
- }
- elif (
- (
- typing_extensions.get_origin(clean_type) == typing.List
- or typing_extensions.get_origin(clean_type) == list
- or clean_type == typing.List
- )
- and isinstance(object_, typing.List)
- ) or (
- (
- typing_extensions.get_origin(clean_type) == typing.Sequence
- or typing_extensions.get_origin(clean_type) == collections.abc.Sequence
- or clean_type == typing.Sequence
- )
- and isinstance(object_, typing.Sequence)
- ):
- inner_type = typing_extensions.get_args(clean_type)[0]
- return [
- convert_and_respect_annotation_metadata(
- object_=item,
- annotation=annotation,
- inner_type=inner_type,
- direction=direction,
- )
- for item in object_
- ]
-
- if typing_extensions.get_origin(clean_type) == typing.Union:
- # We should be able to ~relatively~ safely try to convert keys against all
- # member types in the union, the edge case here is if one member aliases a field
- # of the same name to a different name from another member
- # Or if another member aliases a field of the same name that another member does not.
- for member in typing_extensions.get_args(clean_type):
- object_ = convert_and_respect_annotation_metadata(
- object_=object_,
- annotation=annotation,
- inner_type=member,
- direction=direction,
- )
- return object_
-
- annotated_type = _get_annotation(annotation)
- if annotated_type is None:
- return object_
-
- # If the object is not a TypedDict, a Union, or other container (list, set, sequence, etc.)
- # Then we can safely call it on the recursive conversion.
- return object_
-
-
-def _convert_mapping(
- object_: typing.Mapping[str, object],
- expected_type: typing.Any,
- direction: typing.Literal["read", "write"],
-) -> typing.Mapping[str, object]:
- converted_object: typing.Dict[str, object] = {}
- try:
- annotations = typing_extensions.get_type_hints(expected_type, include_extras=True)
- except NameError:
- # The TypedDict contains a circular reference, so
- # we use the __annotations__ attribute directly.
- annotations = getattr(expected_type, "__annotations__", {})
- aliases_to_field_names = _get_alias_to_field_name(annotations)
- for key, value in object_.items():
- if direction == "read" and key in aliases_to_field_names:
- dealiased_key = aliases_to_field_names.get(key)
- if dealiased_key is not None:
- type_ = annotations.get(dealiased_key)
- else:
- type_ = annotations.get(key)
- # Note you can't get the annotation by the field name if you're in read mode, so you must check the aliases map
- #
- # So this is effectively saying if we're in write mode, and we don't have a type, or if we're in read mode and we don't have an alias
- # then we can just pass the value through as is
- if type_ is None:
- converted_object[key] = value
- elif direction == "read" and key not in aliases_to_field_names:
- converted_object[key] = convert_and_respect_annotation_metadata(
- object_=value, annotation=type_, direction=direction
- )
- else:
- converted_object[_alias_key(key, type_, direction, aliases_to_field_names)] = (
- convert_and_respect_annotation_metadata(object_=value, annotation=type_, direction=direction)
- )
- return converted_object
-
-
-def _get_annotation(type_: typing.Any) -> typing.Optional[typing.Any]:
- maybe_annotated_type = typing_extensions.get_origin(type_)
- if maybe_annotated_type is None:
- return None
-
- if maybe_annotated_type == typing_extensions.NotRequired:
- type_ = typing_extensions.get_args(type_)[0]
- maybe_annotated_type = typing_extensions.get_origin(type_)
-
- if maybe_annotated_type == typing_extensions.Annotated:
- return type_
-
- return None
-
-
-def _remove_annotations(type_: typing.Any) -> typing.Any:
- maybe_annotated_type = typing_extensions.get_origin(type_)
- if maybe_annotated_type is None:
- return type_
-
- if maybe_annotated_type == typing_extensions.NotRequired:
- return _remove_annotations(typing_extensions.get_args(type_)[0])
-
- if maybe_annotated_type == typing_extensions.Annotated:
- return _remove_annotations(typing_extensions.get_args(type_)[0])
-
- return type_
-
-
-def get_alias_to_field_mapping(type_: typing.Any) -> typing.Dict[str, str]:
- annotations = typing_extensions.get_type_hints(type_, include_extras=True)
- return _get_alias_to_field_name(annotations)
-
-
-def get_field_to_alias_mapping(type_: typing.Any) -> typing.Dict[str, str]:
- annotations = typing_extensions.get_type_hints(type_, include_extras=True)
- return _get_field_to_alias_name(annotations)
-
-
-def _get_alias_to_field_name(
- field_to_hint: typing.Dict[str, typing.Any],
-) -> typing.Dict[str, str]:
- aliases = {}
- for field, hint in field_to_hint.items():
- maybe_alias = _get_alias_from_type(hint)
- if maybe_alias is not None:
- aliases[maybe_alias] = field
- return aliases
-
-
-def _get_field_to_alias_name(
- field_to_hint: typing.Dict[str, typing.Any],
-) -> typing.Dict[str, str]:
- aliases = {}
- for field, hint in field_to_hint.items():
- maybe_alias = _get_alias_from_type(hint)
- if maybe_alias is not None:
- aliases[field] = maybe_alias
- return aliases
-
-
-def _get_alias_from_type(type_: typing.Any) -> typing.Optional[str]:
- maybe_annotated_type = _get_annotation(type_)
-
- if maybe_annotated_type is not None:
- # The actual annotations are 1 onward, the first is the annotated type
- annotations = typing_extensions.get_args(maybe_annotated_type)[1:]
-
- for annotation in annotations:
- if isinstance(annotation, FieldMetadata) and annotation.alias is not None:
- return annotation.alias
- return None
-
-
-def _alias_key(
- key: str,
- type_: typing.Any,
- direction: typing.Literal["read", "write"],
- aliases_to_field_names: typing.Dict[str, str],
-) -> str:
- if direction == "read":
- return aliases_to_field_names.get(key, key)
- return _get_alias_from_type(type_=type_) or key
diff --git a/src/vellum/client/environment.py b/src/vellum/client/environment.py
deleted file mode 100644
index 47202e3f12..0000000000
--- a/src/vellum/client/environment.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-
-class VellumEnvironment:
- PRODUCTION: VellumEnvironment
-
- def __init__(self, *, default: str, predict: str, documents: str):
- self.default = default
- self.predict = predict
- self.documents = documents
-
-
-VellumEnvironment.PRODUCTION = VellumEnvironment(
- default="https://api.vellum.ai", predict="https://predict.vellum.ai", documents="https://documents.vellum.ai"
-)
diff --git a/src/vellum/client/errors/__init__.py b/src/vellum/client/errors/__init__.py
deleted file mode 100644
index df09962bda..0000000000
--- a/src/vellum/client/errors/__init__.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .bad_request_error import BadRequestError
-from .forbidden_error import ForbiddenError
-from .internal_server_error import InternalServerError
-from .misdirected_request_error import MisdirectedRequestError
-from .not_found_error import NotFoundError
-from .too_many_requests_error import TooManyRequestsError
-from .unauthorized_error import UnauthorizedError
-
-__all__ = [
- "BadRequestError",
- "ForbiddenError",
- "InternalServerError",
- "MisdirectedRequestError",
- "NotFoundError",
- "TooManyRequestsError",
- "UnauthorizedError",
-]
diff --git a/src/vellum/client/errors/bad_request_error.py b/src/vellum/client/errors/bad_request_error.py
deleted file mode 100644
index baf5be4f75..0000000000
--- a/src/vellum/client/errors/bad_request_error.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ..core.api_error import ApiError
-
-
-class BadRequestError(ApiError):
- def __init__(self, body: typing.Optional[typing.Any], headers: typing.Optional[typing.Dict[str, str]] = None):
- super().__init__(status_code=400, headers=headers, body=body)
diff --git a/src/vellum/client/errors/forbidden_error.py b/src/vellum/client/errors/forbidden_error.py
deleted file mode 100644
index 3e390b0de4..0000000000
--- a/src/vellum/client/errors/forbidden_error.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ..core.api_error import ApiError
-
-
-class ForbiddenError(ApiError):
- def __init__(self, body: typing.Optional[typing.Any], headers: typing.Optional[typing.Dict[str, str]] = None):
- super().__init__(status_code=403, headers=headers, body=body)
diff --git a/src/vellum/client/errors/internal_server_error.py b/src/vellum/client/errors/internal_server_error.py
deleted file mode 100644
index 14313ab416..0000000000
--- a/src/vellum/client/errors/internal_server_error.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ..core.api_error import ApiError
-
-
-class InternalServerError(ApiError):
- def __init__(self, body: typing.Optional[typing.Any], headers: typing.Optional[typing.Dict[str, str]] = None):
- super().__init__(status_code=500, headers=headers, body=body)
diff --git a/src/vellum/client/errors/misdirected_request_error.py b/src/vellum/client/errors/misdirected_request_error.py
deleted file mode 100644
index 8e871c7e54..0000000000
--- a/src/vellum/client/errors/misdirected_request_error.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ..core.api_error import ApiError
-from ..types.update_active_workspace_response import UpdateActiveWorkspaceResponse
-
-
-class MisdirectedRequestError(ApiError):
- def __init__(self, body: UpdateActiveWorkspaceResponse, headers: typing.Optional[typing.Dict[str, str]] = None):
- super().__init__(status_code=421, headers=headers, body=body)
diff --git a/src/vellum/client/errors/not_found_error.py b/src/vellum/client/errors/not_found_error.py
deleted file mode 100644
index dcd60e383e..0000000000
--- a/src/vellum/client/errors/not_found_error.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ..core.api_error import ApiError
-
-
-class NotFoundError(ApiError):
- def __init__(self, body: typing.Optional[typing.Any], headers: typing.Optional[typing.Dict[str, str]] = None):
- super().__init__(status_code=404, headers=headers, body=body)
diff --git a/src/vellum/client/errors/too_many_requests_error.py b/src/vellum/client/errors/too_many_requests_error.py
deleted file mode 100644
index ba568a023f..0000000000
--- a/src/vellum/client/errors/too_many_requests_error.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ..core.api_error import ApiError
-from ..types.error_detail_response import ErrorDetailResponse
-
-
-class TooManyRequestsError(ApiError):
- def __init__(self, body: ErrorDetailResponse, headers: typing.Optional[typing.Dict[str, str]] = None):
- super().__init__(status_code=429, headers=headers, body=body)
diff --git a/src/vellum/client/errors/unauthorized_error.py b/src/vellum/client/errors/unauthorized_error.py
deleted file mode 100644
index d915d58f53..0000000000
--- a/src/vellum/client/errors/unauthorized_error.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ..core.api_error import ApiError
-from ..types.error_detail_response import ErrorDetailResponse
-
-
-class UnauthorizedError(ApiError):
- def __init__(self, body: ErrorDetailResponse, headers: typing.Optional[typing.Dict[str, str]] = None):
- super().__init__(status_code=401, headers=headers, body=body)
diff --git a/src/vellum/client/raw_client.py b/src/vellum/client/raw_client.py
deleted file mode 100644
index 2bb7adaae2..0000000000
--- a/src/vellum/client/raw_client.py
+++ /dev/null
@@ -1,2494 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import contextlib
-import json
-import typing
-from json.decoder import JSONDecodeError
-
-from .core.api_error import ApiError
-from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from .core.http_response import AsyncHttpResponse, HttpResponse
-from .core.pydantic_utilities import parse_obj_as
-from .core.request_options import RequestOptions
-from .core.serialization import convert_and_respect_annotation_metadata
-from .errors.bad_request_error import BadRequestError
-from .errors.forbidden_error import ForbiddenError
-from .errors.internal_server_error import InternalServerError
-from .errors.not_found_error import NotFoundError
-from .types.code_execution_package import CodeExecutionPackage
-from .types.code_execution_runtime import CodeExecutionRuntime
-from .types.code_executor_input import CodeExecutorInput
-from .types.code_executor_response import CodeExecutorResponse
-from .types.execute_api_request_bearer_token import ExecuteApiRequestBearerToken
-from .types.execute_api_request_body import ExecuteApiRequestBody
-from .types.execute_api_request_headers_value import ExecuteApiRequestHeadersValue
-from .types.execute_api_response import ExecuteApiResponse
-from .types.execute_prompt_event import ExecutePromptEvent
-from .types.execute_prompt_response import ExecutePromptResponse
-from .types.execute_workflow_response import ExecuteWorkflowResponse
-from .types.generate_options_request import GenerateOptionsRequest
-from .types.generate_request import GenerateRequest
-from .types.generate_response import GenerateResponse
-from .types.generate_stream_response import GenerateStreamResponse
-from .types.method_enum import MethodEnum
-from .types.prompt_deployment_expand_meta_request import PromptDeploymentExpandMetaRequest
-from .types.prompt_deployment_input_request import PromptDeploymentInputRequest
-from .types.raw_prompt_execution_overrides_request import RawPromptExecutionOverridesRequest
-from .types.search_request_options_request import SearchRequestOptionsRequest
-from .types.search_response import SearchResponse
-from .types.submit_completion_actual_request import SubmitCompletionActualRequest
-from .types.submit_workflow_execution_actual_request import SubmitWorkflowExecutionActualRequest
-from .types.vellum_variable_type import VellumVariableType
-from .types.workflow_execution_event_type import WorkflowExecutionEventType
-from .types.workflow_expand_meta_request import WorkflowExpandMetaRequest
-from .types.workflow_request_input_request import WorkflowRequestInputRequest
-from .types.workflow_stream_event import WorkflowStreamEvent
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawVellum:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def execute_api(
- self,
- *,
- url: str,
- method: typing.Optional[MethodEnum] = OMIT,
- body: typing.Optional[ExecuteApiRequestBody] = OMIT,
- headers: typing.Optional[typing.Dict[str, ExecuteApiRequestHeadersValue]] = OMIT,
- bearer_token: typing.Optional[ExecuteApiRequestBearerToken] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[ExecuteApiResponse]:
- """
- Parameters
- ----------
- url : str
-
- method : typing.Optional[MethodEnum]
-
- body : typing.Optional[ExecuteApiRequestBody]
-
- headers : typing.Optional[typing.Dict[str, ExecuteApiRequestHeadersValue]]
-
- bearer_token : typing.Optional[ExecuteApiRequestBearerToken]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[ExecuteApiResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/execute-api",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "url": url,
- "method": method,
- "body": convert_and_respect_annotation_metadata(
- object_=body, annotation=typing.Optional[ExecuteApiRequestBody], direction="write"
- ),
- "headers": convert_and_respect_annotation_metadata(
- object_=headers, annotation=typing.Dict[str, ExecuteApiRequestHeadersValue], direction="write"
- ),
- "bearer_token": convert_and_respect_annotation_metadata(
- object_=bearer_token, annotation=typing.Optional[ExecuteApiRequestBearerToken], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ExecuteApiResponse,
- parse_obj_as(
- type_=ExecuteApiResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def execute_code(
- self,
- *,
- code: str,
- runtime: CodeExecutionRuntime,
- input_values: typing.Sequence[CodeExecutorInput],
- packages: typing.Sequence[CodeExecutionPackage],
- output_type: VellumVariableType,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[CodeExecutorResponse]:
- """
- Parameters
- ----------
- code : str
-
- runtime : CodeExecutionRuntime
-
- input_values : typing.Sequence[CodeExecutorInput]
-
- packages : typing.Sequence[CodeExecutionPackage]
-
- output_type : VellumVariableType
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[CodeExecutorResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/execute-code",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "code": code,
- "runtime": runtime,
- "input_values": convert_and_respect_annotation_metadata(
- object_=input_values, annotation=typing.Sequence[CodeExecutorInput], direction="write"
- ),
- "packages": convert_and_respect_annotation_metadata(
- object_=packages, annotation=typing.Sequence[CodeExecutionPackage], direction="write"
- ),
- "output_type": output_type,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- CodeExecutorResponse,
- parse_obj_as(
- type_=CodeExecutorResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def execute_prompt(
- self,
- *,
- inputs: typing.Sequence[PromptDeploymentInputRequest],
- prompt_deployment_id: typing.Optional[str] = OMIT,
- prompt_deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- expand_meta: typing.Optional[PromptDeploymentExpandMetaRequest] = OMIT,
- raw_overrides: typing.Optional[RawPromptExecutionOverridesRequest] = OMIT,
- expand_raw: typing.Optional[typing.Sequence[str]] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[ExecutePromptResponse]:
- """
- Executes a deployed Prompt and returns the result.
-
- Parameters
- ----------
- inputs : typing.Sequence[PromptDeploymentInputRequest]
- A list consisting of the Prompt Deployment's input variables and their values.
-
- prompt_deployment_id : typing.Optional[str]
- The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
-
- prompt_deployment_name : typing.Optional[str]
- The unique name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
-
- external_id : typing.Optional[str]
- Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
-
- expand_meta : typing.Optional[PromptDeploymentExpandMetaRequest]
- An optionally specified configuration used to opt in to including additional metadata about this prompt execution in the API response. Corresponding values will be returned under the `meta` key of the API response.
-
- raw_overrides : typing.Optional[RawPromptExecutionOverridesRequest]
- Overrides for the raw API request sent to the model host. Combined with `expand_raw`, it can be used to access new features from models.
-
- expand_raw : typing.Optional[typing.Sequence[str]]
- A list of keys whose values you'd like to directly return from the JSON response of the model provider. Useful if you need lower-level info returned by model providers that Vellum would otherwise omit. Corresponding key/value pairs will be returned under the `raw` key of the API response.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[ExecutePromptResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/execute-prompt",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
- ),
- "prompt_deployment_id": prompt_deployment_id,
- "prompt_deployment_name": prompt_deployment_name,
- "release_tag": release_tag,
- "external_id": external_id,
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta,
- annotation=typing.Optional[PromptDeploymentExpandMetaRequest],
- direction="write",
- ),
- "raw_overrides": convert_and_respect_annotation_metadata(
- object_=raw_overrides,
- annotation=typing.Optional[RawPromptExecutionOverridesRequest],
- direction="write",
- ),
- "expand_raw": expand_raw,
- "metadata": metadata,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ExecutePromptResponse,
- parse_obj_as(
- type_=ExecutePromptResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- @contextlib.contextmanager
- def execute_prompt_stream(
- self,
- *,
- inputs: typing.Sequence[PromptDeploymentInputRequest],
- prompt_deployment_id: typing.Optional[str] = OMIT,
- prompt_deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- expand_meta: typing.Optional[PromptDeploymentExpandMetaRequest] = OMIT,
- raw_overrides: typing.Optional[RawPromptExecutionOverridesRequest] = OMIT,
- expand_raw: typing.Optional[typing.Sequence[str]] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Iterator[HttpResponse[typing.Iterator[ExecutePromptEvent]]]:
- """
- Executes a deployed Prompt and streams back the results.
-
- Parameters
- ----------
- inputs : typing.Sequence[PromptDeploymentInputRequest]
- A list consisting of the Prompt Deployment's input variables and their values.
-
- prompt_deployment_id : typing.Optional[str]
- The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
-
- prompt_deployment_name : typing.Optional[str]
- The unique name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
-
- external_id : typing.Optional[str]
- Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
-
- expand_meta : typing.Optional[PromptDeploymentExpandMetaRequest]
- An optionally specified configuration used to opt in to including additional metadata about this prompt execution in the API response. Corresponding values will be returned under the `meta` key of the API response.
-
- raw_overrides : typing.Optional[RawPromptExecutionOverridesRequest]
- Overrides for the raw API request sent to the model host. Combined with `expand_raw`, it can be used to access new features from models.
-
- expand_raw : typing.Optional[typing.Sequence[str]]
- A list of keys whose values you'd like to directly return from the JSON response of the model provider. Useful if you need lower-level info returned by model providers that Vellum would otherwise omit. Corresponding key/value pairs will be returned under the `raw` key of the API response.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.Iterator[HttpResponse[typing.Iterator[ExecutePromptEvent]]]
-
- """
- with self._client_wrapper.httpx_client.stream(
- "v1/execute-prompt-stream",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
- ),
- "prompt_deployment_id": prompt_deployment_id,
- "prompt_deployment_name": prompt_deployment_name,
- "release_tag": release_tag,
- "external_id": external_id,
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta,
- annotation=typing.Optional[PromptDeploymentExpandMetaRequest],
- direction="write",
- ),
- "raw_overrides": convert_and_respect_annotation_metadata(
- object_=raw_overrides,
- annotation=typing.Optional[RawPromptExecutionOverridesRequest],
- direction="write",
- ),
- "expand_raw": expand_raw,
- "metadata": metadata,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- ) as _response:
-
- def _stream() -> HttpResponse[typing.Iterator[ExecutePromptEvent]]:
- try:
- if 200 <= _response.status_code < 300:
-
- def _iter():
- for _text in _response.iter_lines():
- try:
- if len(_text) == 0:
- continue
- yield typing.cast(
- ExecutePromptEvent,
- parse_obj_as(
- type_=ExecutePromptEvent, # type: ignore
- object_=json.loads(_text),
- ),
- )
- except Exception:
- pass
- return
-
- return HttpResponse(response=_response, data=_iter())
- _response.read()
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield _stream()
-
- def execute_workflow(
- self,
- *,
- inputs: typing.Sequence[WorkflowRequestInputRequest],
- expand_meta: typing.Optional[WorkflowExpandMetaRequest] = OMIT,
- workflow_deployment_id: typing.Optional[str] = OMIT,
- workflow_deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- previous_execution_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[ExecuteWorkflowResponse]:
- """
- Executes a deployed Workflow and returns its outputs.
-
- Parameters
- ----------
- inputs : typing.Sequence[WorkflowRequestInputRequest]
- The list of inputs defined in the Workflow's Deployment with their corresponding values.
-
- expand_meta : typing.Optional[WorkflowExpandMetaRequest]
- An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
-
- workflow_deployment_id : typing.Optional[str]
- The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
-
- workflow_deployment_name : typing.Optional[str]
- The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
-
- external_id : typing.Optional[str]
- Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
-
- previous_execution_id : typing.Optional[str]
- The ID of a previous Workflow Execution to reference for initial State loading.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[ExecuteWorkflowResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/execute-workflow",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
- ),
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta, annotation=typing.Optional[WorkflowExpandMetaRequest], direction="write"
- ),
- "workflow_deployment_id": workflow_deployment_id,
- "workflow_deployment_name": workflow_deployment_name,
- "release_tag": release_tag,
- "external_id": external_id,
- "metadata": metadata,
- "previous_execution_id": previous_execution_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ExecuteWorkflowResponse,
- parse_obj_as(
- type_=ExecuteWorkflowResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- @contextlib.contextmanager
- def execute_workflow_stream(
- self,
- *,
- inputs: typing.Sequence[WorkflowRequestInputRequest],
- expand_meta: typing.Optional[WorkflowExpandMetaRequest] = OMIT,
- workflow_deployment_id: typing.Optional[str] = OMIT,
- workflow_deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- event_types: typing.Optional[typing.Sequence[WorkflowExecutionEventType]] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- previous_execution_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Iterator[HttpResponse[typing.Iterator[WorkflowStreamEvent]]]:
- """
- Executes a deployed Workflow and streams back its results.
-
- Parameters
- ----------
- inputs : typing.Sequence[WorkflowRequestInputRequest]
- The list of inputs defined in the Workflow's Deployment with their corresponding values.
-
- expand_meta : typing.Optional[WorkflowExpandMetaRequest]
- An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
-
- workflow_deployment_id : typing.Optional[str]
- The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
-
- workflow_deployment_name : typing.Optional[str]
- The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
-
- external_id : typing.Optional[str]
- Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
-
- event_types : typing.Optional[typing.Sequence[WorkflowExecutionEventType]]
- Optionally specify which events you want to receive. Defaults to only WORKFLOW events. Note that the schema of non-WORKFLOW events is unstable and should be used with caution.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
-
- previous_execution_id : typing.Optional[str]
- The ID of a previous Workflow Execution to reference for initial State loading.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.Iterator[HttpResponse[typing.Iterator[WorkflowStreamEvent]]]
-
- """
- with self._client_wrapper.httpx_client.stream(
- "v1/execute-workflow-stream",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
- ),
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta, annotation=typing.Optional[WorkflowExpandMetaRequest], direction="write"
- ),
- "workflow_deployment_id": workflow_deployment_id,
- "workflow_deployment_name": workflow_deployment_name,
- "release_tag": release_tag,
- "external_id": external_id,
- "event_types": event_types,
- "metadata": metadata,
- "previous_execution_id": previous_execution_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- ) as _response:
-
- def _stream() -> HttpResponse[typing.Iterator[WorkflowStreamEvent]]:
- try:
- if 200 <= _response.status_code < 300:
-
- def _iter():
- for _text in _response.iter_lines():
- try:
- if len(_text) == 0:
- continue
- yield typing.cast(
- WorkflowStreamEvent,
- parse_obj_as(
- type_=WorkflowStreamEvent, # type: ignore
- object_=json.loads(_text),
- ),
- )
- except Exception:
- pass
- return
-
- return HttpResponse(response=_response, data=_iter())
- _response.read()
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield _stream()
-
- def generate(
- self,
- *,
- requests: typing.Sequence[GenerateRequest],
- deployment_id: typing.Optional[str] = OMIT,
- deployment_name: typing.Optional[str] = OMIT,
- options: typing.Optional[GenerateOptionsRequest] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[GenerateResponse]:
- """
- Generate a completion using a previously defined deployment.
-
- Important: This endpoint is DEPRECATED and has been superseded by
- [execute-prompt](/api-reference/api-reference/execute-prompt).
-
- Parameters
- ----------
- requests : typing.Sequence[GenerateRequest]
- The generation request to make. Bulk requests are no longer supported, this field must be an array of length 1.
-
- deployment_id : typing.Optional[str]
- The ID of the deployment. Must provide either this or deployment_name.
-
- deployment_name : typing.Optional[str]
- The name of the deployment. Must provide either this or deployment_id.
-
- options : typing.Optional[GenerateOptionsRequest]
- Additional configuration that can be used to control what's included in the response.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[GenerateResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/generate",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "deployment_id": deployment_id,
- "deployment_name": deployment_name,
- "requests": convert_and_respect_annotation_metadata(
- object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
- ),
- "options": convert_and_respect_annotation_metadata(
- object_=options, annotation=typing.Optional[GenerateOptionsRequest], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- GenerateResponse,
- parse_obj_as(
- type_=GenerateResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- @contextlib.contextmanager
- def generate_stream(
- self,
- *,
- requests: typing.Sequence[GenerateRequest],
- deployment_id: typing.Optional[str] = OMIT,
- deployment_name: typing.Optional[str] = OMIT,
- options: typing.Optional[GenerateOptionsRequest] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Iterator[HttpResponse[typing.Iterator[GenerateStreamResponse]]]:
- """
- Generate a stream of completions using a previously defined deployment.
-
- Important: This endpoint is DEPRECATED and has been superseded by
- [execute-prompt-stream](/api-reference/api-reference/execute-prompt-stream).
-
- Parameters
- ----------
- requests : typing.Sequence[GenerateRequest]
- The generation request to make. Bulk requests are no longer supported, this field must be an array of length 1.
-
- deployment_id : typing.Optional[str]
- The ID of the deployment. Must provide either this or deployment_name.
-
- deployment_name : typing.Optional[str]
- The name of the deployment. Must provide either this or deployment_id.
-
- options : typing.Optional[GenerateOptionsRequest]
- Additional configuration that can be used to control what's included in the response.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.Iterator[HttpResponse[typing.Iterator[GenerateStreamResponse]]]
-
- """
- with self._client_wrapper.httpx_client.stream(
- "v1/generate-stream",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "deployment_id": deployment_id,
- "deployment_name": deployment_name,
- "requests": convert_and_respect_annotation_metadata(
- object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
- ),
- "options": convert_and_respect_annotation_metadata(
- object_=options, annotation=typing.Optional[GenerateOptionsRequest], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- ) as _response:
-
- def _stream() -> HttpResponse[typing.Iterator[GenerateStreamResponse]]:
- try:
- if 200 <= _response.status_code < 300:
-
- def _iter():
- for _text in _response.iter_lines():
- try:
- if len(_text) == 0:
- continue
- yield typing.cast(
- GenerateStreamResponse,
- parse_obj_as(
- type_=GenerateStreamResponse, # type: ignore
- object_=json.loads(_text),
- ),
- )
- except Exception:
- pass
- return
-
- return HttpResponse(response=_response, data=_iter())
- _response.read()
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield _stream()
-
- def search(
- self,
- *,
- query: str,
- index_id: typing.Optional[str] = OMIT,
- index_name: typing.Optional[str] = OMIT,
- options: typing.Optional[SearchRequestOptionsRequest] = OMIT,
- document_index: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[SearchResponse]:
- """
- Perform a search against a document index.
-
- Parameters
- ----------
- query : str
- The query to search for.
-
- index_id : typing.Optional[str]
- The ID of the index to search against. Must provide either this, index_name or document_index.
-
- index_name : typing.Optional[str]
- The name of the index to search against. Must provide either this, index_id or document_index.
-
- options : typing.Optional[SearchRequestOptionsRequest]
- Configuration options for the search.
-
- document_index : typing.Optional[str]
- Either the index name or index ID to search against. Must provide either this, index_id or index_name.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[SearchResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/search",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "index_id": index_id,
- "index_name": index_name,
- "query": query,
- "options": convert_and_respect_annotation_metadata(
- object_=options, annotation=typing.Optional[SearchRequestOptionsRequest], direction="write"
- ),
- "document_index": document_index,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- SearchResponse,
- parse_obj_as(
- type_=SearchResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def submit_completion_actuals(
- self,
- *,
- actuals: typing.Sequence[SubmitCompletionActualRequest],
- deployment_id: typing.Optional[str] = OMIT,
- deployment_name: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[None]:
- """
- Used to submit feedback regarding the quality of previously generated completions.
-
- Parameters
- ----------
- actuals : typing.Sequence[SubmitCompletionActualRequest]
- Feedback regarding the quality of previously generated completions
-
- deployment_id : typing.Optional[str]
- The ID of the deployment. Must provide either this or deployment_name.
-
- deployment_name : typing.Optional[str]
- The name of the deployment. Must provide either this or deployment_id.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[None]
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/submit-completion-actuals",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "deployment_id": deployment_id,
- "deployment_name": deployment_name,
- "actuals": convert_and_respect_annotation_metadata(
- object_=actuals, annotation=typing.Sequence[SubmitCompletionActualRequest], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- return HttpResponse(response=_response, data=None)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def submit_workflow_execution_actuals(
- self,
- *,
- actuals: typing.Sequence[SubmitWorkflowExecutionActualRequest],
- execution_id: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[None]:
- """
- Used to submit feedback regarding the quality of previous workflow execution and its outputs.
-
- **Note:** Uses a base url of `https://predict.vellum.ai`.
-
- Parameters
- ----------
- actuals : typing.Sequence[SubmitWorkflowExecutionActualRequest]
- Feedback regarding the quality of an output on a previously executed workflow.
-
- execution_id : typing.Optional[str]
- The Vellum-generated ID of a previously executed workflow. Must provide either this or external_id.
-
- external_id : typing.Optional[str]
- The external ID that was originally provided by when executing the workflow, if applicable, that you'd now like to submit actuals for. Must provide either this or execution_id.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[None]
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/submit-workflow-execution-actuals",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "actuals": convert_and_respect_annotation_metadata(
- object_=actuals, annotation=typing.Sequence[SubmitWorkflowExecutionActualRequest], direction="write"
- ),
- "execution_id": execution_id,
- "external_id": external_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- return HttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawVellum:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def execute_api(
- self,
- *,
- url: str,
- method: typing.Optional[MethodEnum] = OMIT,
- body: typing.Optional[ExecuteApiRequestBody] = OMIT,
- headers: typing.Optional[typing.Dict[str, ExecuteApiRequestHeadersValue]] = OMIT,
- bearer_token: typing.Optional[ExecuteApiRequestBearerToken] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[ExecuteApiResponse]:
- """
- Parameters
- ----------
- url : str
-
- method : typing.Optional[MethodEnum]
-
- body : typing.Optional[ExecuteApiRequestBody]
-
- headers : typing.Optional[typing.Dict[str, ExecuteApiRequestHeadersValue]]
-
- bearer_token : typing.Optional[ExecuteApiRequestBearerToken]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[ExecuteApiResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/execute-api",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "url": url,
- "method": method,
- "body": convert_and_respect_annotation_metadata(
- object_=body, annotation=typing.Optional[ExecuteApiRequestBody], direction="write"
- ),
- "headers": convert_and_respect_annotation_metadata(
- object_=headers, annotation=typing.Dict[str, ExecuteApiRequestHeadersValue], direction="write"
- ),
- "bearer_token": convert_and_respect_annotation_metadata(
- object_=bearer_token, annotation=typing.Optional[ExecuteApiRequestBearerToken], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ExecuteApiResponse,
- parse_obj_as(
- type_=ExecuteApiResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def execute_code(
- self,
- *,
- code: str,
- runtime: CodeExecutionRuntime,
- input_values: typing.Sequence[CodeExecutorInput],
- packages: typing.Sequence[CodeExecutionPackage],
- output_type: VellumVariableType,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[CodeExecutorResponse]:
- """
- Parameters
- ----------
- code : str
-
- runtime : CodeExecutionRuntime
-
- input_values : typing.Sequence[CodeExecutorInput]
-
- packages : typing.Sequence[CodeExecutionPackage]
-
- output_type : VellumVariableType
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[CodeExecutorResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/execute-code",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "code": code,
- "runtime": runtime,
- "input_values": convert_and_respect_annotation_metadata(
- object_=input_values, annotation=typing.Sequence[CodeExecutorInput], direction="write"
- ),
- "packages": convert_and_respect_annotation_metadata(
- object_=packages, annotation=typing.Sequence[CodeExecutionPackage], direction="write"
- ),
- "output_type": output_type,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- CodeExecutorResponse,
- parse_obj_as(
- type_=CodeExecutorResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def execute_prompt(
- self,
- *,
- inputs: typing.Sequence[PromptDeploymentInputRequest],
- prompt_deployment_id: typing.Optional[str] = OMIT,
- prompt_deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- expand_meta: typing.Optional[PromptDeploymentExpandMetaRequest] = OMIT,
- raw_overrides: typing.Optional[RawPromptExecutionOverridesRequest] = OMIT,
- expand_raw: typing.Optional[typing.Sequence[str]] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[ExecutePromptResponse]:
- """
- Executes a deployed Prompt and returns the result.
-
- Parameters
- ----------
- inputs : typing.Sequence[PromptDeploymentInputRequest]
- A list consisting of the Prompt Deployment's input variables and their values.
-
- prompt_deployment_id : typing.Optional[str]
- The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
-
- prompt_deployment_name : typing.Optional[str]
- The unique name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
-
- external_id : typing.Optional[str]
- Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
-
- expand_meta : typing.Optional[PromptDeploymentExpandMetaRequest]
- An optionally specified configuration used to opt in to including additional metadata about this prompt execution in the API response. Corresponding values will be returned under the `meta` key of the API response.
-
- raw_overrides : typing.Optional[RawPromptExecutionOverridesRequest]
- Overrides for the raw API request sent to the model host. Combined with `expand_raw`, it can be used to access new features from models.
-
- expand_raw : typing.Optional[typing.Sequence[str]]
- A list of keys whose values you'd like to directly return from the JSON response of the model provider. Useful if you need lower-level info returned by model providers that Vellum would otherwise omit. Corresponding key/value pairs will be returned under the `raw` key of the API response.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[ExecutePromptResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/execute-prompt",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
- ),
- "prompt_deployment_id": prompt_deployment_id,
- "prompt_deployment_name": prompt_deployment_name,
- "release_tag": release_tag,
- "external_id": external_id,
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta,
- annotation=typing.Optional[PromptDeploymentExpandMetaRequest],
- direction="write",
- ),
- "raw_overrides": convert_and_respect_annotation_metadata(
- object_=raw_overrides,
- annotation=typing.Optional[RawPromptExecutionOverridesRequest],
- direction="write",
- ),
- "expand_raw": expand_raw,
- "metadata": metadata,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ExecutePromptResponse,
- parse_obj_as(
- type_=ExecutePromptResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- @contextlib.asynccontextmanager
- async def execute_prompt_stream(
- self,
- *,
- inputs: typing.Sequence[PromptDeploymentInputRequest],
- prompt_deployment_id: typing.Optional[str] = OMIT,
- prompt_deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- expand_meta: typing.Optional[PromptDeploymentExpandMetaRequest] = OMIT,
- raw_overrides: typing.Optional[RawPromptExecutionOverridesRequest] = OMIT,
- expand_raw: typing.Optional[typing.Sequence[str]] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[ExecutePromptEvent]]]:
- """
- Executes a deployed Prompt and streams back the results.
-
- Parameters
- ----------
- inputs : typing.Sequence[PromptDeploymentInputRequest]
- A list consisting of the Prompt Deployment's input variables and their values.
-
- prompt_deployment_id : typing.Optional[str]
- The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
-
- prompt_deployment_name : typing.Optional[str]
- The unique name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
-
- external_id : typing.Optional[str]
- Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
-
- expand_meta : typing.Optional[PromptDeploymentExpandMetaRequest]
- An optionally specified configuration used to opt in to including additional metadata about this prompt execution in the API response. Corresponding values will be returned under the `meta` key of the API response.
-
- raw_overrides : typing.Optional[RawPromptExecutionOverridesRequest]
- Overrides for the raw API request sent to the model host. Combined with `expand_raw`, it can be used to access new features from models.
-
- expand_raw : typing.Optional[typing.Sequence[str]]
- A list of keys whose values you'd like to directly return from the JSON response of the model provider. Useful if you need lower-level info returned by model providers that Vellum would otherwise omit. Corresponding key/value pairs will be returned under the `raw` key of the API response.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[ExecutePromptEvent]]]
-
- """
- async with self._client_wrapper.httpx_client.stream(
- "v1/execute-prompt-stream",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
- ),
- "prompt_deployment_id": prompt_deployment_id,
- "prompt_deployment_name": prompt_deployment_name,
- "release_tag": release_tag,
- "external_id": external_id,
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta,
- annotation=typing.Optional[PromptDeploymentExpandMetaRequest],
- direction="write",
- ),
- "raw_overrides": convert_and_respect_annotation_metadata(
- object_=raw_overrides,
- annotation=typing.Optional[RawPromptExecutionOverridesRequest],
- direction="write",
- ),
- "expand_raw": expand_raw,
- "metadata": metadata,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- ) as _response:
-
- async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[ExecutePromptEvent]]:
- try:
- if 200 <= _response.status_code < 300:
-
- async def _iter():
- async for _text in _response.aiter_lines():
- try:
- if len(_text) == 0:
- continue
- yield typing.cast(
- ExecutePromptEvent,
- parse_obj_as(
- type_=ExecutePromptEvent, # type: ignore
- object_=json.loads(_text),
- ),
- )
- except Exception:
- pass
- return
-
- return AsyncHttpResponse(response=_response, data=_iter())
- await _response.aread()
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield await _stream()
-
- async def execute_workflow(
- self,
- *,
- inputs: typing.Sequence[WorkflowRequestInputRequest],
- expand_meta: typing.Optional[WorkflowExpandMetaRequest] = OMIT,
- workflow_deployment_id: typing.Optional[str] = OMIT,
- workflow_deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- previous_execution_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[ExecuteWorkflowResponse]:
- """
- Executes a deployed Workflow and returns its outputs.
-
- Parameters
- ----------
- inputs : typing.Sequence[WorkflowRequestInputRequest]
- The list of inputs defined in the Workflow's Deployment with their corresponding values.
-
- expand_meta : typing.Optional[WorkflowExpandMetaRequest]
- An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
-
- workflow_deployment_id : typing.Optional[str]
- The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
-
- workflow_deployment_name : typing.Optional[str]
- The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
-
- external_id : typing.Optional[str]
- Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
-
- previous_execution_id : typing.Optional[str]
- The ID of a previous Workflow Execution to reference for initial State loading.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[ExecuteWorkflowResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/execute-workflow",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
- ),
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta, annotation=typing.Optional[WorkflowExpandMetaRequest], direction="write"
- ),
- "workflow_deployment_id": workflow_deployment_id,
- "workflow_deployment_name": workflow_deployment_name,
- "release_tag": release_tag,
- "external_id": external_id,
- "metadata": metadata,
- "previous_execution_id": previous_execution_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ExecuteWorkflowResponse,
- parse_obj_as(
- type_=ExecuteWorkflowResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- @contextlib.asynccontextmanager
- async def execute_workflow_stream(
- self,
- *,
- inputs: typing.Sequence[WorkflowRequestInputRequest],
- expand_meta: typing.Optional[WorkflowExpandMetaRequest] = OMIT,
- workflow_deployment_id: typing.Optional[str] = OMIT,
- workflow_deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- event_types: typing.Optional[typing.Sequence[WorkflowExecutionEventType]] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- previous_execution_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[WorkflowStreamEvent]]]:
- """
- Executes a deployed Workflow and streams back its results.
-
- Parameters
- ----------
- inputs : typing.Sequence[WorkflowRequestInputRequest]
- The list of inputs defined in the Workflow's Deployment with their corresponding values.
-
- expand_meta : typing.Optional[WorkflowExpandMetaRequest]
- An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
-
- workflow_deployment_id : typing.Optional[str]
- The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
-
- workflow_deployment_name : typing.Optional[str]
- The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
-
- external_id : typing.Optional[str]
- Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
-
- event_types : typing.Optional[typing.Sequence[WorkflowExecutionEventType]]
- Optionally specify which events you want to receive. Defaults to only WORKFLOW events. Note that the schema of non-WORKFLOW events is unstable and should be used with caution.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
-
- previous_execution_id : typing.Optional[str]
- The ID of a previous Workflow Execution to reference for initial State loading.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[WorkflowStreamEvent]]]
-
- """
- async with self._client_wrapper.httpx_client.stream(
- "v1/execute-workflow-stream",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
- ),
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta, annotation=typing.Optional[WorkflowExpandMetaRequest], direction="write"
- ),
- "workflow_deployment_id": workflow_deployment_id,
- "workflow_deployment_name": workflow_deployment_name,
- "release_tag": release_tag,
- "external_id": external_id,
- "event_types": event_types,
- "metadata": metadata,
- "previous_execution_id": previous_execution_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- ) as _response:
-
- async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[WorkflowStreamEvent]]:
- try:
- if 200 <= _response.status_code < 300:
-
- async def _iter():
- async for _text in _response.aiter_lines():
- try:
- if len(_text) == 0:
- continue
- yield typing.cast(
- WorkflowStreamEvent,
- parse_obj_as(
- type_=WorkflowStreamEvent, # type: ignore
- object_=json.loads(_text),
- ),
- )
- except Exception:
- pass
- return
-
- return AsyncHttpResponse(response=_response, data=_iter())
- await _response.aread()
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield await _stream()
-
- async def generate(
- self,
- *,
- requests: typing.Sequence[GenerateRequest],
- deployment_id: typing.Optional[str] = OMIT,
- deployment_name: typing.Optional[str] = OMIT,
- options: typing.Optional[GenerateOptionsRequest] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[GenerateResponse]:
- """
- Generate a completion using a previously defined deployment.
-
- Important: This endpoint is DEPRECATED and has been superseded by
- [execute-prompt](/api-reference/api-reference/execute-prompt).
-
- Parameters
- ----------
- requests : typing.Sequence[GenerateRequest]
- The generation request to make. Bulk requests are no longer supported, this field must be an array of length 1.
-
- deployment_id : typing.Optional[str]
- The ID of the deployment. Must provide either this or deployment_name.
-
- deployment_name : typing.Optional[str]
- The name of the deployment. Must provide either this or deployment_id.
-
- options : typing.Optional[GenerateOptionsRequest]
- Additional configuration that can be used to control what's included in the response.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[GenerateResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/generate",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "deployment_id": deployment_id,
- "deployment_name": deployment_name,
- "requests": convert_and_respect_annotation_metadata(
- object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
- ),
- "options": convert_and_respect_annotation_metadata(
- object_=options, annotation=typing.Optional[GenerateOptionsRequest], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- GenerateResponse,
- parse_obj_as(
- type_=GenerateResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- @contextlib.asynccontextmanager
- async def generate_stream(
- self,
- *,
- requests: typing.Sequence[GenerateRequest],
- deployment_id: typing.Optional[str] = OMIT,
- deployment_name: typing.Optional[str] = OMIT,
- options: typing.Optional[GenerateOptionsRequest] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[GenerateStreamResponse]]]:
- """
- Generate a stream of completions using a previously defined deployment.
-
- Important: This endpoint is DEPRECATED and has been superseded by
- [execute-prompt-stream](/api-reference/api-reference/execute-prompt-stream).
-
- Parameters
- ----------
- requests : typing.Sequence[GenerateRequest]
- The generation request to make. Bulk requests are no longer supported, this field must be an array of length 1.
-
- deployment_id : typing.Optional[str]
- The ID of the deployment. Must provide either this or deployment_name.
-
- deployment_name : typing.Optional[str]
- The name of the deployment. Must provide either this or deployment_id.
-
- options : typing.Optional[GenerateOptionsRequest]
- Additional configuration that can be used to control what's included in the response.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[GenerateStreamResponse]]]
-
- """
- async with self._client_wrapper.httpx_client.stream(
- "v1/generate-stream",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "deployment_id": deployment_id,
- "deployment_name": deployment_name,
- "requests": convert_and_respect_annotation_metadata(
- object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
- ),
- "options": convert_and_respect_annotation_metadata(
- object_=options, annotation=typing.Optional[GenerateOptionsRequest], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- ) as _response:
-
- async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[GenerateStreamResponse]]:
- try:
- if 200 <= _response.status_code < 300:
-
- async def _iter():
- async for _text in _response.aiter_lines():
- try:
- if len(_text) == 0:
- continue
- yield typing.cast(
- GenerateStreamResponse,
- parse_obj_as(
- type_=GenerateStreamResponse, # type: ignore
- object_=json.loads(_text),
- ),
- )
- except Exception:
- pass
- return
-
- return AsyncHttpResponse(response=_response, data=_iter())
- await _response.aread()
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield await _stream()
-
- async def search(
- self,
- *,
- query: str,
- index_id: typing.Optional[str] = OMIT,
- index_name: typing.Optional[str] = OMIT,
- options: typing.Optional[SearchRequestOptionsRequest] = OMIT,
- document_index: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[SearchResponse]:
- """
- Perform a search against a document index.
-
- Parameters
- ----------
- query : str
- The query to search for.
-
- index_id : typing.Optional[str]
- The ID of the index to search against. Must provide either this, index_name or document_index.
-
- index_name : typing.Optional[str]
- The name of the index to search against. Must provide either this, index_id or document_index.
-
- options : typing.Optional[SearchRequestOptionsRequest]
- Configuration options for the search.
-
- document_index : typing.Optional[str]
- Either the index name or index ID to search against. Must provide either this, index_id or index_name.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[SearchResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/search",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "index_id": index_id,
- "index_name": index_name,
- "query": query,
- "options": convert_and_respect_annotation_metadata(
- object_=options, annotation=typing.Optional[SearchRequestOptionsRequest], direction="write"
- ),
- "document_index": document_index,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- SearchResponse,
- parse_obj_as(
- type_=SearchResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def submit_completion_actuals(
- self,
- *,
- actuals: typing.Sequence[SubmitCompletionActualRequest],
- deployment_id: typing.Optional[str] = OMIT,
- deployment_name: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[None]:
- """
- Used to submit feedback regarding the quality of previously generated completions.
-
- Parameters
- ----------
- actuals : typing.Sequence[SubmitCompletionActualRequest]
- Feedback regarding the quality of previously generated completions
-
- deployment_id : typing.Optional[str]
- The ID of the deployment. Must provide either this or deployment_name.
-
- deployment_name : typing.Optional[str]
- The name of the deployment. Must provide either this or deployment_id.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[None]
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/submit-completion-actuals",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "deployment_id": deployment_id,
- "deployment_name": deployment_name,
- "actuals": convert_and_respect_annotation_metadata(
- object_=actuals, annotation=typing.Sequence[SubmitCompletionActualRequest], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- return AsyncHttpResponse(response=_response, data=None)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def submit_workflow_execution_actuals(
- self,
- *,
- actuals: typing.Sequence[SubmitWorkflowExecutionActualRequest],
- execution_id: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[None]:
- """
- Used to submit feedback regarding the quality of previous workflow execution and its outputs.
-
- **Note:** Uses a base url of `https://predict.vellum.ai`.
-
- Parameters
- ----------
- actuals : typing.Sequence[SubmitWorkflowExecutionActualRequest]
- Feedback regarding the quality of an output on a previously executed workflow.
-
- execution_id : typing.Optional[str]
- The Vellum-generated ID of a previously executed workflow. Must provide either this or external_id.
-
- external_id : typing.Optional[str]
- The external ID that was originally provided by when executing the workflow, if applicable, that you'd now like to submit actuals for. Must provide either this or execution_id.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[None]
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/submit-workflow-execution-actuals",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "actuals": convert_and_respect_annotation_metadata(
- object_=actuals, annotation=typing.Sequence[SubmitWorkflowExecutionActualRequest], direction="write"
- ),
- "execution_id": execution_id,
- "external_id": external_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- return AsyncHttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/__init__.py b/src/vellum/client/resources/__init__.py
deleted file mode 100644
index fab8f47fbd..0000000000
--- a/src/vellum/client/resources/__init__.py
+++ /dev/null
@@ -1,69 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from . import (
- ad_hoc,
- container_images,
- deployments,
- document_indexes,
- documents,
- environments,
- events,
- folder_entities,
- integration_auth_configs,
- integration_providers,
- integrations,
- metric_definitions,
- ml_models,
- organizations,
- prompts,
- sandboxes,
- test_suite_runs,
- test_suites,
- workflow_deployments,
- workflow_executions,
- workflow_sandboxes,
- workflows,
- workspace_secrets,
- workspaces,
-)
-from .deployments import DeploymentsListRequestStatus, ListDeploymentReleaseTagsRequestSource
-from .document_indexes import DocumentIndexesListRequestStatus
-from .folder_entities import FolderEntitiesListRequestEntityStatus
-from .workflow_deployments import ListWorkflowReleaseTagsRequestSource, WorkflowDeploymentsListRequestStatus
-from .workflow_sandboxes import ListWorkflowSandboxExamplesRequestTag
-
-__all__ = [
- "DeploymentsListRequestStatus",
- "DocumentIndexesListRequestStatus",
- "FolderEntitiesListRequestEntityStatus",
- "ListDeploymentReleaseTagsRequestSource",
- "ListWorkflowReleaseTagsRequestSource",
- "ListWorkflowSandboxExamplesRequestTag",
- "WorkflowDeploymentsListRequestStatus",
- "ad_hoc",
- "container_images",
- "deployments",
- "document_indexes",
- "documents",
- "environments",
- "events",
- "folder_entities",
- "integration_auth_configs",
- "integration_providers",
- "integrations",
- "metric_definitions",
- "ml_models",
- "organizations",
- "prompts",
- "sandboxes",
- "test_suite_runs",
- "test_suites",
- "workflow_deployments",
- "workflow_executions",
- "workflow_sandboxes",
- "workflows",
- "workspace_secrets",
- "workspaces",
-]
diff --git a/src/vellum/client/resources/ad_hoc/client.py b/src/vellum/client/resources/ad_hoc/client.py
deleted file mode 100644
index 9e4c66971e..0000000000
--- a/src/vellum/client/resources/ad_hoc/client.py
+++ /dev/null
@@ -1,483 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.ad_hoc_execute_prompt_event import AdHocExecutePromptEvent
-from ...types.ad_hoc_expand_meta import AdHocExpandMeta
-from ...types.deprecated_prompt_request_input import DeprecatedPromptRequestInput
-from ...types.function_definition import FunctionDefinition
-from ...types.prompt_block import PromptBlock
-from ...types.prompt_parameters import PromptParameters
-from ...types.prompt_settings import PromptSettings
-from ...types.vellum_variable import VellumVariable
-from .raw_client import AsyncRawAdHocClient, RawAdHocClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class AdHocClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawAdHocClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawAdHocClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawAdHocClient
- """
- return self._raw_client
-
- def adhoc_execute_prompt(
- self,
- *,
- ml_model: str,
- input_values: typing.Sequence[DeprecatedPromptRequestInput],
- input_variables: typing.Sequence[VellumVariable],
- parameters: PromptParameters,
- blocks: typing.Sequence[PromptBlock],
- settings: typing.Optional[PromptSettings] = OMIT,
- functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
- expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AdHocExecutePromptEvent:
- """
- Parameters
- ----------
- ml_model : str
-
- input_values : typing.Sequence[DeprecatedPromptRequestInput]
-
- input_variables : typing.Sequence[VellumVariable]
-
- parameters : PromptParameters
-
- blocks : typing.Sequence[PromptBlock]
-
- settings : typing.Optional[PromptSettings]
-
- functions : typing.Optional[typing.Sequence[FunctionDefinition]]
-
- expand_meta : typing.Optional[AdHocExpandMeta]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AdHocExecutePromptEvent
-
-
- Examples
- --------
- from vellum import (
- JinjaPromptBlock,
- PromptParameters,
- StringInput,
- Vellum,
- VellumVariable,
- )
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.ad_hoc.adhoc_execute_prompt(
- ml_model="x",
- input_values=[
- StringInput(
- name="x",
- value="value",
- ),
- StringInput(
- name="x",
- value="value",
- ),
- ],
- input_variables=[
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- ],
- parameters=PromptParameters(),
- blocks=[
- JinjaPromptBlock(
- template="template",
- ),
- JinjaPromptBlock(
- template="template",
- ),
- ],
- )
- """
- _response = self._raw_client.adhoc_execute_prompt(
- ml_model=ml_model,
- input_values=input_values,
- input_variables=input_variables,
- parameters=parameters,
- blocks=blocks,
- settings=settings,
- functions=functions,
- expand_meta=expand_meta,
- request_options=request_options,
- )
- return _response.data
-
- def adhoc_execute_prompt_stream(
- self,
- *,
- ml_model: str,
- input_values: typing.Sequence[DeprecatedPromptRequestInput],
- input_variables: typing.Sequence[VellumVariable],
- parameters: PromptParameters,
- blocks: typing.Sequence[PromptBlock],
- settings: typing.Optional[PromptSettings] = OMIT,
- functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
- expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Iterator[AdHocExecutePromptEvent]:
- """
- Parameters
- ----------
- ml_model : str
-
- input_values : typing.Sequence[DeprecatedPromptRequestInput]
-
- input_variables : typing.Sequence[VellumVariable]
-
- parameters : PromptParameters
-
- blocks : typing.Sequence[PromptBlock]
-
- settings : typing.Optional[PromptSettings]
-
- functions : typing.Optional[typing.Sequence[FunctionDefinition]]
-
- expand_meta : typing.Optional[AdHocExpandMeta]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.Iterator[AdHocExecutePromptEvent]
-
-
- Examples
- --------
- from vellum import (
- JinjaPromptBlock,
- PromptParameters,
- StringInput,
- Vellum,
- VellumVariable,
- )
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- response = client.ad_hoc.adhoc_execute_prompt_stream(
- ml_model="x",
- input_values=[
- StringInput(
- name="x",
- value="value",
- ),
- StringInput(
- name="x",
- value="value",
- ),
- ],
- input_variables=[
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- ],
- parameters=PromptParameters(),
- blocks=[
- JinjaPromptBlock(
- template="template",
- ),
- JinjaPromptBlock(
- template="template",
- ),
- ],
- )
- for chunk in response:
- yield chunk
- """
- with self._raw_client.adhoc_execute_prompt_stream(
- ml_model=ml_model,
- input_values=input_values,
- input_variables=input_variables,
- parameters=parameters,
- blocks=blocks,
- settings=settings,
- functions=functions,
- expand_meta=expand_meta,
- request_options=request_options,
- ) as r:
- yield from r.data
-
-
-class AsyncAdHocClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawAdHocClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawAdHocClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawAdHocClient
- """
- return self._raw_client
-
- async def adhoc_execute_prompt(
- self,
- *,
- ml_model: str,
- input_values: typing.Sequence[DeprecatedPromptRequestInput],
- input_variables: typing.Sequence[VellumVariable],
- parameters: PromptParameters,
- blocks: typing.Sequence[PromptBlock],
- settings: typing.Optional[PromptSettings] = OMIT,
- functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
- expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AdHocExecutePromptEvent:
- """
- Parameters
- ----------
- ml_model : str
-
- input_values : typing.Sequence[DeprecatedPromptRequestInput]
-
- input_variables : typing.Sequence[VellumVariable]
-
- parameters : PromptParameters
-
- blocks : typing.Sequence[PromptBlock]
-
- settings : typing.Optional[PromptSettings]
-
- functions : typing.Optional[typing.Sequence[FunctionDefinition]]
-
- expand_meta : typing.Optional[AdHocExpandMeta]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AdHocExecutePromptEvent
-
-
- Examples
- --------
- import asyncio
-
- from vellum import (
- AsyncVellum,
- JinjaPromptBlock,
- PromptParameters,
- StringInput,
- VellumVariable,
- )
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.ad_hoc.adhoc_execute_prompt(
- ml_model="x",
- input_values=[
- StringInput(
- name="x",
- value="value",
- ),
- StringInput(
- name="x",
- value="value",
- ),
- ],
- input_variables=[
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- ],
- parameters=PromptParameters(),
- blocks=[
- JinjaPromptBlock(
- template="template",
- ),
- JinjaPromptBlock(
- template="template",
- ),
- ],
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.adhoc_execute_prompt(
- ml_model=ml_model,
- input_values=input_values,
- input_variables=input_variables,
- parameters=parameters,
- blocks=blocks,
- settings=settings,
- functions=functions,
- expand_meta=expand_meta,
- request_options=request_options,
- )
- return _response.data
-
- async def adhoc_execute_prompt_stream(
- self,
- *,
- ml_model: str,
- input_values: typing.Sequence[DeprecatedPromptRequestInput],
- input_variables: typing.Sequence[VellumVariable],
- parameters: PromptParameters,
- blocks: typing.Sequence[PromptBlock],
- settings: typing.Optional[PromptSettings] = OMIT,
- functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
- expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.AsyncIterator[AdHocExecutePromptEvent]:
- """
- Parameters
- ----------
- ml_model : str
-
- input_values : typing.Sequence[DeprecatedPromptRequestInput]
-
- input_variables : typing.Sequence[VellumVariable]
-
- parameters : PromptParameters
-
- blocks : typing.Sequence[PromptBlock]
-
- settings : typing.Optional[PromptSettings]
-
- functions : typing.Optional[typing.Sequence[FunctionDefinition]]
-
- expand_meta : typing.Optional[AdHocExpandMeta]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.AsyncIterator[AdHocExecutePromptEvent]
-
-
- Examples
- --------
- import asyncio
-
- from vellum import (
- AsyncVellum,
- JinjaPromptBlock,
- PromptParameters,
- StringInput,
- VellumVariable,
- )
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- response = await client.ad_hoc.adhoc_execute_prompt_stream(
- ml_model="x",
- input_values=[
- StringInput(
- name="x",
- value="value",
- ),
- StringInput(
- name="x",
- value="value",
- ),
- ],
- input_variables=[
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- ],
- parameters=PromptParameters(),
- blocks=[
- JinjaPromptBlock(
- template="template",
- ),
- JinjaPromptBlock(
- template="template",
- ),
- ],
- )
- async for chunk in response:
- yield chunk
-
-
- asyncio.run(main())
- """
- async with self._raw_client.adhoc_execute_prompt_stream(
- ml_model=ml_model,
- input_values=input_values,
- input_variables=input_variables,
- parameters=parameters,
- blocks=blocks,
- settings=settings,
- functions=functions,
- expand_meta=expand_meta,
- request_options=request_options,
- ) as r:
- async for _chunk in r.data:
- yield _chunk
diff --git a/src/vellum/client/resources/ad_hoc/raw_client.py b/src/vellum/client/resources/ad_hoc/raw_client.py
deleted file mode 100644
index 167a4cd9fe..0000000000
--- a/src/vellum/client/resources/ad_hoc/raw_client.py
+++ /dev/null
@@ -1,569 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import contextlib
-import json
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...core.serialization import convert_and_respect_annotation_metadata
-from ...errors.bad_request_error import BadRequestError
-from ...errors.forbidden_error import ForbiddenError
-from ...errors.internal_server_error import InternalServerError
-from ...types.ad_hoc_execute_prompt_event import AdHocExecutePromptEvent
-from ...types.ad_hoc_expand_meta import AdHocExpandMeta
-from ...types.deprecated_prompt_request_input import DeprecatedPromptRequestInput
-from ...types.function_definition import FunctionDefinition
-from ...types.prompt_block import PromptBlock
-from ...types.prompt_parameters import PromptParameters
-from ...types.prompt_settings import PromptSettings
-from ...types.vellum_variable import VellumVariable
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawAdHocClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def adhoc_execute_prompt(
- self,
- *,
- ml_model: str,
- input_values: typing.Sequence[DeprecatedPromptRequestInput],
- input_variables: typing.Sequence[VellumVariable],
- parameters: PromptParameters,
- blocks: typing.Sequence[PromptBlock],
- settings: typing.Optional[PromptSettings] = OMIT,
- functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
- expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[AdHocExecutePromptEvent]:
- """
- Parameters
- ----------
- ml_model : str
-
- input_values : typing.Sequence[DeprecatedPromptRequestInput]
-
- input_variables : typing.Sequence[VellumVariable]
-
- parameters : PromptParameters
-
- blocks : typing.Sequence[PromptBlock]
-
- settings : typing.Optional[PromptSettings]
-
- functions : typing.Optional[typing.Sequence[FunctionDefinition]]
-
- expand_meta : typing.Optional[AdHocExpandMeta]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[AdHocExecutePromptEvent]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/ad-hoc/execute-prompt",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "ml_model": ml_model,
- "input_values": convert_and_respect_annotation_metadata(
- object_=input_values, annotation=typing.Sequence[DeprecatedPromptRequestInput], direction="write"
- ),
- "input_variables": convert_and_respect_annotation_metadata(
- object_=input_variables, annotation=typing.Sequence[VellumVariable], direction="write"
- ),
- "parameters": convert_and_respect_annotation_metadata(
- object_=parameters, annotation=PromptParameters, direction="write"
- ),
- "settings": convert_and_respect_annotation_metadata(
- object_=settings, annotation=typing.Optional[PromptSettings], direction="write"
- ),
- "blocks": convert_and_respect_annotation_metadata(
- object_=blocks, annotation=typing.Sequence[PromptBlock], direction="write"
- ),
- "functions": convert_and_respect_annotation_metadata(
- object_=functions,
- annotation=typing.Optional[typing.Sequence[FunctionDefinition]],
- direction="write",
- ),
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta, annotation=typing.Optional[AdHocExpandMeta], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- AdHocExecutePromptEvent,
- parse_obj_as(
- type_=AdHocExecutePromptEvent, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- @contextlib.contextmanager
- def adhoc_execute_prompt_stream(
- self,
- *,
- ml_model: str,
- input_values: typing.Sequence[DeprecatedPromptRequestInput],
- input_variables: typing.Sequence[VellumVariable],
- parameters: PromptParameters,
- blocks: typing.Sequence[PromptBlock],
- settings: typing.Optional[PromptSettings] = OMIT,
- functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
- expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Iterator[HttpResponse[typing.Iterator[AdHocExecutePromptEvent]]]:
- """
- Parameters
- ----------
- ml_model : str
-
- input_values : typing.Sequence[DeprecatedPromptRequestInput]
-
- input_variables : typing.Sequence[VellumVariable]
-
- parameters : PromptParameters
-
- blocks : typing.Sequence[PromptBlock]
-
- settings : typing.Optional[PromptSettings]
-
- functions : typing.Optional[typing.Sequence[FunctionDefinition]]
-
- expand_meta : typing.Optional[AdHocExpandMeta]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.Iterator[HttpResponse[typing.Iterator[AdHocExecutePromptEvent]]]
-
- """
- with self._client_wrapper.httpx_client.stream(
- "v1/ad-hoc/execute-prompt-stream",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "ml_model": ml_model,
- "input_values": convert_and_respect_annotation_metadata(
- object_=input_values, annotation=typing.Sequence[DeprecatedPromptRequestInput], direction="write"
- ),
- "input_variables": convert_and_respect_annotation_metadata(
- object_=input_variables, annotation=typing.Sequence[VellumVariable], direction="write"
- ),
- "parameters": convert_and_respect_annotation_metadata(
- object_=parameters, annotation=PromptParameters, direction="write"
- ),
- "settings": convert_and_respect_annotation_metadata(
- object_=settings, annotation=typing.Optional[PromptSettings], direction="write"
- ),
- "blocks": convert_and_respect_annotation_metadata(
- object_=blocks, annotation=typing.Sequence[PromptBlock], direction="write"
- ),
- "functions": convert_and_respect_annotation_metadata(
- object_=functions,
- annotation=typing.Optional[typing.Sequence[FunctionDefinition]],
- direction="write",
- ),
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta, annotation=typing.Optional[AdHocExpandMeta], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- ) as _response:
-
- def _stream() -> HttpResponse[typing.Iterator[AdHocExecutePromptEvent]]:
- try:
- if 200 <= _response.status_code < 300:
-
- def _iter():
- for _text in _response.iter_lines():
- try:
- if len(_text) == 0:
- continue
- yield typing.cast(
- AdHocExecutePromptEvent,
- parse_obj_as(
- type_=AdHocExecutePromptEvent, # type: ignore
- object_=json.loads(_text),
- ),
- )
- except Exception:
- pass
- return
-
- return HttpResponse(response=_response, data=_iter())
- _response.read()
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield _stream()
-
-
-class AsyncRawAdHocClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def adhoc_execute_prompt(
- self,
- *,
- ml_model: str,
- input_values: typing.Sequence[DeprecatedPromptRequestInput],
- input_variables: typing.Sequence[VellumVariable],
- parameters: PromptParameters,
- blocks: typing.Sequence[PromptBlock],
- settings: typing.Optional[PromptSettings] = OMIT,
- functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
- expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[AdHocExecutePromptEvent]:
- """
- Parameters
- ----------
- ml_model : str
-
- input_values : typing.Sequence[DeprecatedPromptRequestInput]
-
- input_variables : typing.Sequence[VellumVariable]
-
- parameters : PromptParameters
-
- blocks : typing.Sequence[PromptBlock]
-
- settings : typing.Optional[PromptSettings]
-
- functions : typing.Optional[typing.Sequence[FunctionDefinition]]
-
- expand_meta : typing.Optional[AdHocExpandMeta]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[AdHocExecutePromptEvent]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/ad-hoc/execute-prompt",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "ml_model": ml_model,
- "input_values": convert_and_respect_annotation_metadata(
- object_=input_values, annotation=typing.Sequence[DeprecatedPromptRequestInput], direction="write"
- ),
- "input_variables": convert_and_respect_annotation_metadata(
- object_=input_variables, annotation=typing.Sequence[VellumVariable], direction="write"
- ),
- "parameters": convert_and_respect_annotation_metadata(
- object_=parameters, annotation=PromptParameters, direction="write"
- ),
- "settings": convert_and_respect_annotation_metadata(
- object_=settings, annotation=typing.Optional[PromptSettings], direction="write"
- ),
- "blocks": convert_and_respect_annotation_metadata(
- object_=blocks, annotation=typing.Sequence[PromptBlock], direction="write"
- ),
- "functions": convert_and_respect_annotation_metadata(
- object_=functions,
- annotation=typing.Optional[typing.Sequence[FunctionDefinition]],
- direction="write",
- ),
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta, annotation=typing.Optional[AdHocExpandMeta], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- AdHocExecutePromptEvent,
- parse_obj_as(
- type_=AdHocExecutePromptEvent, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- @contextlib.asynccontextmanager
- async def adhoc_execute_prompt_stream(
- self,
- *,
- ml_model: str,
- input_values: typing.Sequence[DeprecatedPromptRequestInput],
- input_variables: typing.Sequence[VellumVariable],
- parameters: PromptParameters,
- blocks: typing.Sequence[PromptBlock],
- settings: typing.Optional[PromptSettings] = OMIT,
- functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
- expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[AdHocExecutePromptEvent]]]:
- """
- Parameters
- ----------
- ml_model : str
-
- input_values : typing.Sequence[DeprecatedPromptRequestInput]
-
- input_variables : typing.Sequence[VellumVariable]
-
- parameters : PromptParameters
-
- blocks : typing.Sequence[PromptBlock]
-
- settings : typing.Optional[PromptSettings]
-
- functions : typing.Optional[typing.Sequence[FunctionDefinition]]
-
- expand_meta : typing.Optional[AdHocExpandMeta]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[AdHocExecutePromptEvent]]]
-
- """
- async with self._client_wrapper.httpx_client.stream(
- "v1/ad-hoc/execute-prompt-stream",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "ml_model": ml_model,
- "input_values": convert_and_respect_annotation_metadata(
- object_=input_values, annotation=typing.Sequence[DeprecatedPromptRequestInput], direction="write"
- ),
- "input_variables": convert_and_respect_annotation_metadata(
- object_=input_variables, annotation=typing.Sequence[VellumVariable], direction="write"
- ),
- "parameters": convert_and_respect_annotation_metadata(
- object_=parameters, annotation=PromptParameters, direction="write"
- ),
- "settings": convert_and_respect_annotation_metadata(
- object_=settings, annotation=typing.Optional[PromptSettings], direction="write"
- ),
- "blocks": convert_and_respect_annotation_metadata(
- object_=blocks, annotation=typing.Sequence[PromptBlock], direction="write"
- ),
- "functions": convert_and_respect_annotation_metadata(
- object_=functions,
- annotation=typing.Optional[typing.Sequence[FunctionDefinition]],
- direction="write",
- ),
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta, annotation=typing.Optional[AdHocExpandMeta], direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- ) as _response:
-
- async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[AdHocExecutePromptEvent]]:
- try:
- if 200 <= _response.status_code < 300:
-
- async def _iter():
- async for _text in _response.aiter_lines():
- try:
- if len(_text) == 0:
- continue
- yield typing.cast(
- AdHocExecutePromptEvent,
- parse_obj_as(
- type_=AdHocExecutePromptEvent, # type: ignore
- object_=json.loads(_text),
- ),
- )
- except Exception:
- pass
- return
-
- return AsyncHttpResponse(response=_response, data=_iter())
- await _response.aread()
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield await _stream()
diff --git a/src/vellum/client/resources/container_images/__init__.py b/src/vellum/client/resources/container_images/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/container_images/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/container_images/client.py b/src/vellum/client/resources/container_images/client.py
deleted file mode 100644
index dedecaac3a..0000000000
--- a/src/vellum/client/resources/container_images/client.py
+++ /dev/null
@@ -1,381 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.container_image_read import ContainerImageRead
-from ...types.docker_service_token import DockerServiceToken
-from ...types.paginated_container_image_read_list import PaginatedContainerImageReadList
-from .raw_client import AsyncRawContainerImagesClient, RawContainerImagesClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class ContainerImagesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawContainerImagesClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawContainerImagesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawContainerImagesClient
- """
- return self._raw_client
-
- def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedContainerImageReadList:
- """
- Retrieve a list of container images for the organization.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedContainerImageReadList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.container_images.list()
- """
- _response = self._raw_client.list(
- limit=limit, offset=offset, ordering=ordering, request_options=request_options
- )
- return _response.data
-
- def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ContainerImageRead:
- """
- Retrieve a Container Image by its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Container Image's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ContainerImageRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.container_images.retrieve(
- id="id",
- )
- """
- _response = self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- def docker_service_token(self, *, request_options: typing.Optional[RequestOptions] = None) -> DockerServiceToken:
- """
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DockerServiceToken
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.container_images.docker_service_token()
- """
- _response = self._raw_client.docker_service_token(request_options=request_options)
- return _response.data
-
- def push_container_image(
- self,
- *,
- name: str,
- sha: str,
- tags: typing.Sequence[str],
- force: typing.Optional[bool] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> ContainerImageRead:
- """
- Parameters
- ----------
- name : str
-
- sha : str
-
- tags : typing.Sequence[str]
-
- force : typing.Optional[bool]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ContainerImageRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.container_images.push_container_image(
- name="x",
- sha="x",
- tags=["tags", "tags"],
- )
- """
- _response = self._raw_client.push_container_image(
- name=name, sha=sha, tags=tags, force=force, request_options=request_options
- )
- return _response.data
-
-
-class AsyncContainerImagesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawContainerImagesClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawContainerImagesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawContainerImagesClient
- """
- return self._raw_client
-
- async def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedContainerImageReadList:
- """
- Retrieve a list of container images for the organization.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedContainerImageReadList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.container_images.list()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list(
- limit=limit, offset=offset, ordering=ordering, request_options=request_options
- )
- return _response.data
-
- async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ContainerImageRead:
- """
- Retrieve a Container Image by its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Container Image's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ContainerImageRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.container_images.retrieve(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- async def docker_service_token(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> DockerServiceToken:
- """
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DockerServiceToken
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.container_images.docker_service_token()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.docker_service_token(request_options=request_options)
- return _response.data
-
- async def push_container_image(
- self,
- *,
- name: str,
- sha: str,
- tags: typing.Sequence[str],
- force: typing.Optional[bool] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> ContainerImageRead:
- """
- Parameters
- ----------
- name : str
-
- sha : str
-
- tags : typing.Sequence[str]
-
- force : typing.Optional[bool]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ContainerImageRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.container_images.push_container_image(
- name="x",
- sha="x",
- tags=["tags", "tags"],
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.push_container_image(
- name=name, sha=sha, tags=tags, force=force, request_options=request_options
- )
- return _response.data
diff --git a/src/vellum/client/resources/container_images/raw_client.py b/src/vellum/client/resources/container_images/raw_client.py
deleted file mode 100644
index 8648abb8f1..0000000000
--- a/src/vellum/client/resources/container_images/raw_client.py
+++ /dev/null
@@ -1,407 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...types.container_image_read import ContainerImageRead
-from ...types.docker_service_token import DockerServiceToken
-from ...types.paginated_container_image_read_list import PaginatedContainerImageReadList
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawContainerImagesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedContainerImageReadList]:
- """
- Retrieve a list of container images for the organization.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedContainerImageReadList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/container-images",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedContainerImageReadList,
- parse_obj_as(
- type_=PaginatedContainerImageReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[ContainerImageRead]:
- """
- Retrieve a Container Image by its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Container Image's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[ContainerImageRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/container-images/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ContainerImageRead,
- parse_obj_as(
- type_=ContainerImageRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def docker_service_token(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[DockerServiceToken]:
- """
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DockerServiceToken]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/container-images/docker-service-token",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DockerServiceToken,
- parse_obj_as(
- type_=DockerServiceToken, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def push_container_image(
- self,
- *,
- name: str,
- sha: str,
- tags: typing.Sequence[str],
- force: typing.Optional[bool] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[ContainerImageRead]:
- """
- Parameters
- ----------
- name : str
-
- sha : str
-
- tags : typing.Sequence[str]
-
- force : typing.Optional[bool]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[ContainerImageRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/container-images/push",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "name": name,
- "sha": sha,
- "tags": tags,
- "force": force,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ContainerImageRead,
- parse_obj_as(
- type_=ContainerImageRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawContainerImagesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedContainerImageReadList]:
- """
- Retrieve a list of container images for the organization.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedContainerImageReadList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/container-images",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedContainerImageReadList,
- parse_obj_as(
- type_=PaginatedContainerImageReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[ContainerImageRead]:
- """
- Retrieve a Container Image by its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Container Image's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[ContainerImageRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/container-images/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ContainerImageRead,
- parse_obj_as(
- type_=ContainerImageRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def docker_service_token(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[DockerServiceToken]:
- """
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DockerServiceToken]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/container-images/docker-service-token",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DockerServiceToken,
- parse_obj_as(
- type_=DockerServiceToken, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def push_container_image(
- self,
- *,
- name: str,
- sha: str,
- tags: typing.Sequence[str],
- force: typing.Optional[bool] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[ContainerImageRead]:
- """
- Parameters
- ----------
- name : str
-
- sha : str
-
- tags : typing.Sequence[str]
-
- force : typing.Optional[bool]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[ContainerImageRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/container-images/push",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "name": name,
- "sha": sha,
- "tags": tags,
- "force": force,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ContainerImageRead,
- parse_obj_as(
- type_=ContainerImageRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/deployments/__init__.py b/src/vellum/client/resources/deployments/__init__.py
deleted file mode 100644
index dac3bc8059..0000000000
--- a/src/vellum/client/resources/deployments/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .types import DeploymentsListRequestStatus, ListDeploymentReleaseTagsRequestSource
-
-__all__ = ["DeploymentsListRequestStatus", "ListDeploymentReleaseTagsRequestSource"]
diff --git a/src/vellum/client/resources/deployments/client.py b/src/vellum/client/resources/deployments/client.py
deleted file mode 100644
index 1bfe5c59cb..0000000000
--- a/src/vellum/client/resources/deployments/client.py
+++ /dev/null
@@ -1,879 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.compile_prompt_deployment_expand_meta_request import CompilePromptDeploymentExpandMetaRequest
-from ...types.deployment_history_item import DeploymentHistoryItem
-from ...types.deployment_provider_payload_response import DeploymentProviderPayloadResponse
-from ...types.deployment_read import DeploymentRead
-from ...types.deployment_release_tag_read import DeploymentReleaseTagRead
-from ...types.paginated_deployment_release_tag_read_list import PaginatedDeploymentReleaseTagReadList
-from ...types.paginated_slim_deployment_read_list import PaginatedSlimDeploymentReadList
-from ...types.prompt_deployment_input_request import PromptDeploymentInputRequest
-from ...types.prompt_deployment_release import PromptDeploymentRelease
-from .raw_client import AsyncRawDeploymentsClient, RawDeploymentsClient
-from .types.deployments_list_request_status import DeploymentsListRequestStatus
-from .types.list_deployment_release_tags_request_source import ListDeploymentReleaseTagsRequestSource
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class DeploymentsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawDeploymentsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawDeploymentsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawDeploymentsClient
- """
- return self._raw_client
-
- def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- status: typing.Optional[DeploymentsListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimDeploymentReadList:
- """
- Used to list all Prompt Deployments.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- status : typing.Optional[DeploymentsListRequestStatus]
- status
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimDeploymentReadList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.deployments.list()
- """
- _response = self._raw_client.list(
- limit=limit, offset=offset, ordering=ordering, status=status, request_options=request_options
- )
- return _response.data
-
- def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DeploymentRead:
- """
- Used to retrieve a Prompt Deployment given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.deployments.retrieve(
- id="id",
- )
- """
- _response = self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- def deployment_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> DeploymentHistoryItem:
- """
- DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
- `retrieve_prompt_deployment_release` xendpoint instead.
-
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Deployment History Item you'd like to retrieve.
-
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentHistoryItem
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.deployments.deployment_history_item_retrieve(
- history_id_or_release_tag="history_id_or_release_tag",
- id="id",
- )
- """
- _response = self._raw_client.deployment_history_item_retrieve(
- history_id_or_release_tag, id, request_options=request_options
- )
- return _response.data
-
- def list_deployment_release_tags(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- source: typing.Optional[ListDeploymentReleaseTagsRequestSource] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedDeploymentReleaseTagReadList:
- """
- List Release Tags associated with the specified Prompt Deployment
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- source : typing.Optional[ListDeploymentReleaseTagsRequestSource]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedDeploymentReleaseTagReadList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.deployments.list_deployment_release_tags(
- id="id",
- )
- """
- _response = self._raw_client.list_deployment_release_tags(
- id, limit=limit, offset=offset, ordering=ordering, source=source, request_options=request_options
- )
- return _response.data
-
- def retrieve_deployment_release_tag(
- self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> DeploymentReleaseTagRead:
- """
- Retrieve a Deployment Release Tag by tag name, associated with a specified Deployment.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Deployment that you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentReleaseTagRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.deployments.retrieve_deployment_release_tag(
- id="id",
- name="name",
- )
- """
- _response = self._raw_client.retrieve_deployment_release_tag(id, name, request_options=request_options)
- return _response.data
-
- def update_deployment_release_tag(
- self,
- id: str,
- name: str,
- *,
- history_item_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DeploymentReleaseTagRead:
- """
- Updates an existing Release Tag associated with the specified Prompt Deployment.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Deployment that you'd like to update.
-
- history_item_id : typing.Optional[str]
- The ID of the Release to tag
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentReleaseTagRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.deployments.update_deployment_release_tag(
- id="id",
- name="name",
- )
- """
- _response = self._raw_client.update_deployment_release_tag(
- id, name, history_item_id=history_item_id, request_options=request_options
- )
- return _response.data
-
- def retrieve_prompt_deployment_release(
- self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> PromptDeploymentRelease:
- """
- Retrieve a specific Prompt Deployment Release by either its UUID or the name of a Release Tag that points to it.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- release_id_or_release_tag : str
- Either the UUID of Prompt Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Prompt Deployment Release you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PromptDeploymentRelease
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.deployments.retrieve_prompt_deployment_release(
- id="id",
- release_id_or_release_tag="release_id_or_release_tag",
- )
- """
- _response = self._raw_client.retrieve_prompt_deployment_release(
- id, release_id_or_release_tag, request_options=request_options
- )
- return _response.data
-
- def retrieve_provider_payload(
- self,
- *,
- inputs: typing.Sequence[PromptDeploymentInputRequest],
- deployment_id: typing.Optional[str] = OMIT,
- deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DeploymentProviderPayloadResponse:
- """
- Given a set of input variable values, compile the exact payload that Vellum would send to the configured model provider
- for execution if the execute-prompt endpoint had been invoked. Note that this endpoint does not actually execute the
- prompt or make an API call to the model provider.
-
- This endpoint is useful if you don't want to proxy LLM provider requests through Vellum and prefer to send them directly
- to the provider yourself. Note that no guarantees are made on the format of this API's response schema, other than
- that it will be a valid payload for the configured model provider. It's not recommended that you try to parse or
- derive meaning from the response body and instead, should simply pass it directly to the model provider as is.
-
- We encourage you to seek advise from Vellum Support before integrating with this API for production use.
-
- Parameters
- ----------
- inputs : typing.Sequence[PromptDeploymentInputRequest]
- The list of inputs defined in the Prompt's deployment with their corresponding values.
-
- deployment_id : typing.Optional[str]
- The ID of the deployment. Must provide either this or deployment_name.
-
- deployment_name : typing.Optional[str]
- The name of the deployment. Must provide either this or deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
-
- expand_meta : typing.Optional[CompilePromptDeploymentExpandMetaRequest]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentProviderPayloadResponse
-
-
- Examples
- --------
- from vellum import StringInputRequest, Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.deployments.retrieve_provider_payload(
- inputs=[
- StringInputRequest(
- name="x",
- value="value",
- ),
- StringInputRequest(
- name="x",
- value="value",
- ),
- ],
- )
- """
- _response = self._raw_client.retrieve_provider_payload(
- inputs=inputs,
- deployment_id=deployment_id,
- deployment_name=deployment_name,
- release_tag=release_tag,
- expand_meta=expand_meta,
- request_options=request_options,
- )
- return _response.data
-
-
-class AsyncDeploymentsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawDeploymentsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawDeploymentsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawDeploymentsClient
- """
- return self._raw_client
-
- async def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- status: typing.Optional[DeploymentsListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimDeploymentReadList:
- """
- Used to list all Prompt Deployments.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- status : typing.Optional[DeploymentsListRequestStatus]
- status
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimDeploymentReadList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.deployments.list()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list(
- limit=limit, offset=offset, ordering=ordering, status=status, request_options=request_options
- )
- return _response.data
-
- async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DeploymentRead:
- """
- Used to retrieve a Prompt Deployment given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.deployments.retrieve(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- async def deployment_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> DeploymentHistoryItem:
- """
- DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
- `retrieve_prompt_deployment_release` xendpoint instead.
-
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Deployment History Item you'd like to retrieve.
-
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentHistoryItem
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.deployments.deployment_history_item_retrieve(
- history_id_or_release_tag="history_id_or_release_tag",
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.deployment_history_item_retrieve(
- history_id_or_release_tag, id, request_options=request_options
- )
- return _response.data
-
- async def list_deployment_release_tags(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- source: typing.Optional[ListDeploymentReleaseTagsRequestSource] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedDeploymentReleaseTagReadList:
- """
- List Release Tags associated with the specified Prompt Deployment
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- source : typing.Optional[ListDeploymentReleaseTagsRequestSource]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedDeploymentReleaseTagReadList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.deployments.list_deployment_release_tags(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list_deployment_release_tags(
- id, limit=limit, offset=offset, ordering=ordering, source=source, request_options=request_options
- )
- return _response.data
-
- async def retrieve_deployment_release_tag(
- self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> DeploymentReleaseTagRead:
- """
- Retrieve a Deployment Release Tag by tag name, associated with a specified Deployment.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Deployment that you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentReleaseTagRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.deployments.retrieve_deployment_release_tag(
- id="id",
- name="name",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve_deployment_release_tag(id, name, request_options=request_options)
- return _response.data
-
- async def update_deployment_release_tag(
- self,
- id: str,
- name: str,
- *,
- history_item_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DeploymentReleaseTagRead:
- """
- Updates an existing Release Tag associated with the specified Prompt Deployment.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Deployment that you'd like to update.
-
- history_item_id : typing.Optional[str]
- The ID of the Release to tag
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentReleaseTagRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.deployments.update_deployment_release_tag(
- id="id",
- name="name",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.update_deployment_release_tag(
- id, name, history_item_id=history_item_id, request_options=request_options
- )
- return _response.data
-
- async def retrieve_prompt_deployment_release(
- self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> PromptDeploymentRelease:
- """
- Retrieve a specific Prompt Deployment Release by either its UUID or the name of a Release Tag that points to it.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- release_id_or_release_tag : str
- Either the UUID of Prompt Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Prompt Deployment Release you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PromptDeploymentRelease
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.deployments.retrieve_prompt_deployment_release(
- id="id",
- release_id_or_release_tag="release_id_or_release_tag",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve_prompt_deployment_release(
- id, release_id_or_release_tag, request_options=request_options
- )
- return _response.data
-
- async def retrieve_provider_payload(
- self,
- *,
- inputs: typing.Sequence[PromptDeploymentInputRequest],
- deployment_id: typing.Optional[str] = OMIT,
- deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DeploymentProviderPayloadResponse:
- """
- Given a set of input variable values, compile the exact payload that Vellum would send to the configured model provider
- for execution if the execute-prompt endpoint had been invoked. Note that this endpoint does not actually execute the
- prompt or make an API call to the model provider.
-
- This endpoint is useful if you don't want to proxy LLM provider requests through Vellum and prefer to send them directly
- to the provider yourself. Note that no guarantees are made on the format of this API's response schema, other than
- that it will be a valid payload for the configured model provider. It's not recommended that you try to parse or
- derive meaning from the response body and instead, should simply pass it directly to the model provider as is.
-
- We encourage you to seek advise from Vellum Support before integrating with this API for production use.
-
- Parameters
- ----------
- inputs : typing.Sequence[PromptDeploymentInputRequest]
- The list of inputs defined in the Prompt's deployment with their corresponding values.
-
- deployment_id : typing.Optional[str]
- The ID of the deployment. Must provide either this or deployment_name.
-
- deployment_name : typing.Optional[str]
- The name of the deployment. Must provide either this or deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
-
- expand_meta : typing.Optional[CompilePromptDeploymentExpandMetaRequest]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentProviderPayloadResponse
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum, StringInputRequest
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.deployments.retrieve_provider_payload(
- inputs=[
- StringInputRequest(
- name="x",
- value="value",
- ),
- StringInputRequest(
- name="x",
- value="value",
- ),
- ],
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve_provider_payload(
- inputs=inputs,
- deployment_id=deployment_id,
- deployment_name=deployment_name,
- release_tag=release_tag,
- expand_meta=expand_meta,
- request_options=request_options,
- )
- return _response.data
diff --git a/src/vellum/client/resources/deployments/raw_client.py b/src/vellum/client/resources/deployments/raw_client.py
deleted file mode 100644
index 7deb1fba3f..0000000000
--- a/src/vellum/client/resources/deployments/raw_client.py
+++ /dev/null
@@ -1,1002 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...core.serialization import convert_and_respect_annotation_metadata
-from ...errors.bad_request_error import BadRequestError
-from ...errors.forbidden_error import ForbiddenError
-from ...errors.internal_server_error import InternalServerError
-from ...errors.not_found_error import NotFoundError
-from ...types.compile_prompt_deployment_expand_meta_request import CompilePromptDeploymentExpandMetaRequest
-from ...types.deployment_history_item import DeploymentHistoryItem
-from ...types.deployment_provider_payload_response import DeploymentProviderPayloadResponse
-from ...types.deployment_read import DeploymentRead
-from ...types.deployment_release_tag_read import DeploymentReleaseTagRead
-from ...types.paginated_deployment_release_tag_read_list import PaginatedDeploymentReleaseTagReadList
-from ...types.paginated_slim_deployment_read_list import PaginatedSlimDeploymentReadList
-from ...types.prompt_deployment_input_request import PromptDeploymentInputRequest
-from ...types.prompt_deployment_release import PromptDeploymentRelease
-from .types.deployments_list_request_status import DeploymentsListRequestStatus
-from .types.list_deployment_release_tags_request_source import ListDeploymentReleaseTagsRequestSource
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawDeploymentsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- status: typing.Optional[DeploymentsListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedSlimDeploymentReadList]:
- """
- Used to list all Prompt Deployments.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- status : typing.Optional[DeploymentsListRequestStatus]
- status
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedSlimDeploymentReadList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/deployments",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "status": status,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimDeploymentReadList,
- parse_obj_as(
- type_=PaginatedSlimDeploymentReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[DeploymentRead]:
- """
- Used to retrieve a Prompt Deployment given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DeploymentRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentRead,
- parse_obj_as(
- type_=DeploymentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def deployment_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[DeploymentHistoryItem]:
- """
- DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
- `retrieve_prompt_deployment_release` xendpoint instead.
-
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Deployment History Item you'd like to retrieve.
-
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DeploymentHistoryItem]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentHistoryItem,
- parse_obj_as(
- type_=DeploymentHistoryItem, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def list_deployment_release_tags(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- source: typing.Optional[ListDeploymentReleaseTagsRequestSource] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedDeploymentReleaseTagReadList]:
- """
- List Release Tags associated with the specified Prompt Deployment
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- source : typing.Optional[ListDeploymentReleaseTagsRequestSource]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedDeploymentReleaseTagReadList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}/release-tags",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "source": source,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedDeploymentReleaseTagReadList,
- parse_obj_as(
- type_=PaginatedDeploymentReleaseTagReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve_deployment_release_tag(
- self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[DeploymentReleaseTagRead]:
- """
- Retrieve a Deployment Release Tag by tag name, associated with a specified Deployment.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Deployment that you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DeploymentReleaseTagRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentReleaseTagRead,
- parse_obj_as(
- type_=DeploymentReleaseTagRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def update_deployment_release_tag(
- self,
- id: str,
- name: str,
- *,
- history_item_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[DeploymentReleaseTagRead]:
- """
- Updates an existing Release Tag associated with the specified Prompt Deployment.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Deployment that you'd like to update.
-
- history_item_id : typing.Optional[str]
- The ID of the Release to tag
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DeploymentReleaseTagRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="PATCH",
- json={
- "history_item_id": history_item_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentReleaseTagRead,
- parse_obj_as(
- type_=DeploymentReleaseTagRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve_prompt_deployment_release(
- self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[PromptDeploymentRelease]:
- """
- Retrieve a specific Prompt Deployment Release by either its UUID or the name of a Release Tag that points to it.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- release_id_or_release_tag : str
- Either the UUID of Prompt Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Prompt Deployment Release you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PromptDeploymentRelease]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}/releases/{jsonable_encoder(release_id_or_release_tag)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PromptDeploymentRelease,
- parse_obj_as(
- type_=PromptDeploymentRelease, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve_provider_payload(
- self,
- *,
- inputs: typing.Sequence[PromptDeploymentInputRequest],
- deployment_id: typing.Optional[str] = OMIT,
- deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[DeploymentProviderPayloadResponse]:
- """
- Given a set of input variable values, compile the exact payload that Vellum would send to the configured model provider
- for execution if the execute-prompt endpoint had been invoked. Note that this endpoint does not actually execute the
- prompt or make an API call to the model provider.
-
- This endpoint is useful if you don't want to proxy LLM provider requests through Vellum and prefer to send them directly
- to the provider yourself. Note that no guarantees are made on the format of this API's response schema, other than
- that it will be a valid payload for the configured model provider. It's not recommended that you try to parse or
- derive meaning from the response body and instead, should simply pass it directly to the model provider as is.
-
- We encourage you to seek advise from Vellum Support before integrating with this API for production use.
-
- Parameters
- ----------
- inputs : typing.Sequence[PromptDeploymentInputRequest]
- The list of inputs defined in the Prompt's deployment with their corresponding values.
-
- deployment_id : typing.Optional[str]
- The ID of the deployment. Must provide either this or deployment_name.
-
- deployment_name : typing.Optional[str]
- The name of the deployment. Must provide either this or deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
-
- expand_meta : typing.Optional[CompilePromptDeploymentExpandMetaRequest]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DeploymentProviderPayloadResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/deployments/provider-payload",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "deployment_id": deployment_id,
- "deployment_name": deployment_name,
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
- ),
- "release_tag": release_tag,
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta,
- annotation=typing.Optional[CompilePromptDeploymentExpandMetaRequest],
- direction="write",
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentProviderPayloadResponse,
- parse_obj_as(
- type_=DeploymentProviderPayloadResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawDeploymentsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- status: typing.Optional[DeploymentsListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedSlimDeploymentReadList]:
- """
- Used to list all Prompt Deployments.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- status : typing.Optional[DeploymentsListRequestStatus]
- status
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedSlimDeploymentReadList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/deployments",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "status": status,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimDeploymentReadList,
- parse_obj_as(
- type_=PaginatedSlimDeploymentReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[DeploymentRead]:
- """
- Used to retrieve a Prompt Deployment given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DeploymentRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentRead,
- parse_obj_as(
- type_=DeploymentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def deployment_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[DeploymentHistoryItem]:
- """
- DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
- `retrieve_prompt_deployment_release` xendpoint instead.
-
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Deployment History Item you'd like to retrieve.
-
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DeploymentHistoryItem]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentHistoryItem,
- parse_obj_as(
- type_=DeploymentHistoryItem, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def list_deployment_release_tags(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- source: typing.Optional[ListDeploymentReleaseTagsRequestSource] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedDeploymentReleaseTagReadList]:
- """
- List Release Tags associated with the specified Prompt Deployment
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- source : typing.Optional[ListDeploymentReleaseTagsRequestSource]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedDeploymentReleaseTagReadList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}/release-tags",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "source": source,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedDeploymentReleaseTagReadList,
- parse_obj_as(
- type_=PaginatedDeploymentReleaseTagReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve_deployment_release_tag(
- self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[DeploymentReleaseTagRead]:
- """
- Retrieve a Deployment Release Tag by tag name, associated with a specified Deployment.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Deployment that you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DeploymentReleaseTagRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentReleaseTagRead,
- parse_obj_as(
- type_=DeploymentReleaseTagRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def update_deployment_release_tag(
- self,
- id: str,
- name: str,
- *,
- history_item_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[DeploymentReleaseTagRead]:
- """
- Updates an existing Release Tag associated with the specified Prompt Deployment.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Deployment that you'd like to update.
-
- history_item_id : typing.Optional[str]
- The ID of the Release to tag
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DeploymentReleaseTagRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="PATCH",
- json={
- "history_item_id": history_item_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentReleaseTagRead,
- parse_obj_as(
- type_=DeploymentReleaseTagRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve_prompt_deployment_release(
- self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[PromptDeploymentRelease]:
- """
- Retrieve a specific Prompt Deployment Release by either its UUID or the name of a Release Tag that points to it.
-
- Parameters
- ----------
- id : str
- Either the Prompt Deployment's ID or its unique name
-
- release_id_or_release_tag : str
- Either the UUID of Prompt Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Prompt Deployment Release you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PromptDeploymentRelease]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/deployments/{jsonable_encoder(id)}/releases/{jsonable_encoder(release_id_or_release_tag)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PromptDeploymentRelease,
- parse_obj_as(
- type_=PromptDeploymentRelease, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve_provider_payload(
- self,
- *,
- inputs: typing.Sequence[PromptDeploymentInputRequest],
- deployment_id: typing.Optional[str] = OMIT,
- deployment_name: typing.Optional[str] = OMIT,
- release_tag: typing.Optional[str] = OMIT,
- expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[DeploymentProviderPayloadResponse]:
- """
- Given a set of input variable values, compile the exact payload that Vellum would send to the configured model provider
- for execution if the execute-prompt endpoint had been invoked. Note that this endpoint does not actually execute the
- prompt or make an API call to the model provider.
-
- This endpoint is useful if you don't want to proxy LLM provider requests through Vellum and prefer to send them directly
- to the provider yourself. Note that no guarantees are made on the format of this API's response schema, other than
- that it will be a valid payload for the configured model provider. It's not recommended that you try to parse or
- derive meaning from the response body and instead, should simply pass it directly to the model provider as is.
-
- We encourage you to seek advise from Vellum Support before integrating with this API for production use.
-
- Parameters
- ----------
- inputs : typing.Sequence[PromptDeploymentInputRequest]
- The list of inputs defined in the Prompt's deployment with their corresponding values.
-
- deployment_id : typing.Optional[str]
- The ID of the deployment. Must provide either this or deployment_name.
-
- deployment_name : typing.Optional[str]
- The name of the deployment. Must provide either this or deployment_id.
-
- release_tag : typing.Optional[str]
- Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
-
- expand_meta : typing.Optional[CompilePromptDeploymentExpandMetaRequest]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DeploymentProviderPayloadResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/deployments/provider-payload",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "deployment_id": deployment_id,
- "deployment_name": deployment_name,
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
- ),
- "release_tag": release_tag,
- "expand_meta": convert_and_respect_annotation_metadata(
- object_=expand_meta,
- annotation=typing.Optional[CompilePromptDeploymentExpandMetaRequest],
- direction="write",
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentProviderPayloadResponse,
- parse_obj_as(
- type_=DeploymentProviderPayloadResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/deployments/types/__init__.py b/src/vellum/client/resources/deployments/types/__init__.py
deleted file mode 100644
index ad46bb0870..0000000000
--- a/src/vellum/client/resources/deployments/types/__init__.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .deployments_list_request_status import DeploymentsListRequestStatus
-from .list_deployment_release_tags_request_source import ListDeploymentReleaseTagsRequestSource
-
-__all__ = ["DeploymentsListRequestStatus", "ListDeploymentReleaseTagsRequestSource"]
diff --git a/src/vellum/client/resources/deployments/types/deployments_list_request_status.py b/src/vellum/client/resources/deployments/types/deployments_list_request_status.py
deleted file mode 100644
index 6c4f689174..0000000000
--- a/src/vellum/client/resources/deployments/types/deployments_list_request_status.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-DeploymentsListRequestStatus = typing.Union[typing.Literal["ACTIVE", "ARCHIVED"], typing.Any]
diff --git a/src/vellum/client/resources/deployments/types/list_deployment_release_tags_request_source.py b/src/vellum/client/resources/deployments/types/list_deployment_release_tags_request_source.py
deleted file mode 100644
index 3c62150530..0000000000
--- a/src/vellum/client/resources/deployments/types/list_deployment_release_tags_request_source.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ListDeploymentReleaseTagsRequestSource = typing.Union[typing.Literal["SYSTEM", "USER"], typing.Any]
diff --git a/src/vellum/client/resources/document_indexes/__init__.py b/src/vellum/client/resources/document_indexes/__init__.py
deleted file mode 100644
index 9122b59d06..0000000000
--- a/src/vellum/client/resources/document_indexes/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .types import DocumentIndexesListRequestStatus
-
-__all__ = ["DocumentIndexesListRequestStatus"]
diff --git a/src/vellum/client/resources/document_indexes/client.py b/src/vellum/client/resources/document_indexes/client.py
deleted file mode 100644
index ed399c2f43..0000000000
--- a/src/vellum/client/resources/document_indexes/client.py
+++ /dev/null
@@ -1,865 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.document_index_indexing_config_request import DocumentIndexIndexingConfigRequest
-from ...types.document_index_read import DocumentIndexRead
-from ...types.entity_status import EntityStatus
-from ...types.paginated_document_index_read_list import PaginatedDocumentIndexReadList
-from .raw_client import AsyncRawDocumentIndexesClient, RawDocumentIndexesClient
-from .types.document_indexes_list_request_status import DocumentIndexesListRequestStatus
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class DocumentIndexesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawDocumentIndexesClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawDocumentIndexesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawDocumentIndexesClient
- """
- return self._raw_client
-
- def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- status: typing.Optional[DocumentIndexesListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedDocumentIndexReadList:
- """
- Used to retrieve a list of Document Indexes.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- Search for document indices by name or label
-
- status : typing.Optional[DocumentIndexesListRequestStatus]
- Filter down to only document indices that have a status matching the status specified
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedDocumentIndexReadList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.document_indexes.list()
- """
- _response = self._raw_client.list(
- limit=limit, offset=offset, ordering=ordering, search=search, status=status, request_options=request_options
- )
- return _response.data
-
- def create(
- self,
- *,
- label: str,
- name: str,
- indexing_config: DocumentIndexIndexingConfigRequest,
- status: typing.Optional[EntityStatus] = OMIT,
- copy_documents_from_index_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DocumentIndexRead:
- """
- Creates a new document index.
-
- Parameters
- ----------
- label : str
- A human-readable label for the document index
-
- name : str
- A name that uniquely identifies this index within its workspace
-
- indexing_config : DocumentIndexIndexingConfigRequest
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- copy_documents_from_index_id : typing.Optional[str]
- Optionally specify the id of a document index from which you'd like to copy and re-index its documents into this newly created index
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentIndexRead
-
-
- Examples
- --------
- from vellum import (
- DocumentIndexIndexingConfigRequest,
- OpenAiVectorizerConfigRequest,
- OpenAiVectorizerTextEmbedding3SmallRequest,
- Vellum,
- )
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.document_indexes.create(
- label="x",
- name="x",
- indexing_config=DocumentIndexIndexingConfigRequest(
- vectorizer=OpenAiVectorizerTextEmbedding3SmallRequest(
- config=OpenAiVectorizerConfigRequest(),
- ),
- ),
- )
- """
- _response = self._raw_client.create(
- label=label,
- name=name,
- indexing_config=indexing_config,
- status=status,
- copy_documents_from_index_id=copy_documents_from_index_id,
- request_options=request_options,
- )
- return _response.data
-
- def retrieve(
- self,
- id: str,
- *,
- mask_indexing_config: typing.Optional[bool] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DocumentIndexRead:
- """
- Used to retrieve a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- mask_indexing_config : typing.Optional[bool]
- Whether to mask the indexing configuration in the response
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentIndexRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.document_indexes.retrieve(
- id="id",
- )
- """
- _response = self._raw_client.retrieve(
- id, mask_indexing_config=mask_indexing_config, request_options=request_options
- )
- return _response.data
-
- def update(
- self,
- id: str,
- *,
- label: str,
- status: typing.Optional[EntityStatus] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DocumentIndexRead:
- """
- Used to fully update a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- label : str
- A human-readable label for the document index
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentIndexRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.document_indexes.update(
- id="id",
- label="x",
- )
- """
- _response = self._raw_client.update(id, label=label, status=status, request_options=request_options)
- return _response.data
-
- def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
- """
- Used to delete a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.document_indexes.destroy(
- id="id",
- )
- """
- _response = self._raw_client.destroy(id, request_options=request_options)
- return _response.data
-
- def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- status: typing.Optional[EntityStatus] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DocumentIndexRead:
- """
- Used to partial update a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- label : typing.Optional[str]
- A human-readable label for the document index
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentIndexRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.document_indexes.partial_update(
- id="id",
- )
- """
- _response = self._raw_client.partial_update(id, label=label, status=status, request_options=request_options)
- return _response.data
-
- def add_document(
- self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> None:
- """
- Adds a previously uploaded Document to the specified Document Index.
-
- Parameters
- ----------
- document_id : str
- Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to add.
-
- id : str
- Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index to which you'd like to add the Document.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.document_indexes.add_document(
- document_id="document_id",
- id="id",
- )
- """
- _response = self._raw_client.add_document(document_id, id, request_options=request_options)
- return _response.data
-
- def remove_document(
- self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> None:
- """
- Removes a Document from a Document Index without deleting the Document itself.
-
- Parameters
- ----------
- document_id : str
- Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
-
- id : str
- Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.document_indexes.remove_document(
- document_id="document_id",
- id="id",
- )
- """
- _response = self._raw_client.remove_document(document_id, id, request_options=request_options)
- return _response.data
-
-
-class AsyncDocumentIndexesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawDocumentIndexesClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawDocumentIndexesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawDocumentIndexesClient
- """
- return self._raw_client
-
- async def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- status: typing.Optional[DocumentIndexesListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedDocumentIndexReadList:
- """
- Used to retrieve a list of Document Indexes.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- Search for document indices by name or label
-
- status : typing.Optional[DocumentIndexesListRequestStatus]
- Filter down to only document indices that have a status matching the status specified
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedDocumentIndexReadList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.document_indexes.list()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list(
- limit=limit, offset=offset, ordering=ordering, search=search, status=status, request_options=request_options
- )
- return _response.data
-
- async def create(
- self,
- *,
- label: str,
- name: str,
- indexing_config: DocumentIndexIndexingConfigRequest,
- status: typing.Optional[EntityStatus] = OMIT,
- copy_documents_from_index_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DocumentIndexRead:
- """
- Creates a new document index.
-
- Parameters
- ----------
- label : str
- A human-readable label for the document index
-
- name : str
- A name that uniquely identifies this index within its workspace
-
- indexing_config : DocumentIndexIndexingConfigRequest
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- copy_documents_from_index_id : typing.Optional[str]
- Optionally specify the id of a document index from which you'd like to copy and re-index its documents into this newly created index
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentIndexRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import (
- AsyncVellum,
- DocumentIndexIndexingConfigRequest,
- OpenAiVectorizerConfigRequest,
- OpenAiVectorizerTextEmbedding3SmallRequest,
- )
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.document_indexes.create(
- label="x",
- name="x",
- indexing_config=DocumentIndexIndexingConfigRequest(
- vectorizer=OpenAiVectorizerTextEmbedding3SmallRequest(
- config=OpenAiVectorizerConfigRequest(),
- ),
- ),
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.create(
- label=label,
- name=name,
- indexing_config=indexing_config,
- status=status,
- copy_documents_from_index_id=copy_documents_from_index_id,
- request_options=request_options,
- )
- return _response.data
-
- async def retrieve(
- self,
- id: str,
- *,
- mask_indexing_config: typing.Optional[bool] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DocumentIndexRead:
- """
- Used to retrieve a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- mask_indexing_config : typing.Optional[bool]
- Whether to mask the indexing configuration in the response
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentIndexRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.document_indexes.retrieve(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve(
- id, mask_indexing_config=mask_indexing_config, request_options=request_options
- )
- return _response.data
-
- async def update(
- self,
- id: str,
- *,
- label: str,
- status: typing.Optional[EntityStatus] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DocumentIndexRead:
- """
- Used to fully update a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- label : str
- A human-readable label for the document index
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentIndexRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.document_indexes.update(
- id="id",
- label="x",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.update(id, label=label, status=status, request_options=request_options)
- return _response.data
-
- async def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
- """
- Used to delete a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.document_indexes.destroy(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.destroy(id, request_options=request_options)
- return _response.data
-
- async def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- status: typing.Optional[EntityStatus] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DocumentIndexRead:
- """
- Used to partial update a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- label : typing.Optional[str]
- A human-readable label for the document index
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentIndexRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.document_indexes.partial_update(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.partial_update(
- id, label=label, status=status, request_options=request_options
- )
- return _response.data
-
- async def add_document(
- self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> None:
- """
- Adds a previously uploaded Document to the specified Document Index.
-
- Parameters
- ----------
- document_id : str
- Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to add.
-
- id : str
- Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index to which you'd like to add the Document.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.document_indexes.add_document(
- document_id="document_id",
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.add_document(document_id, id, request_options=request_options)
- return _response.data
-
- async def remove_document(
- self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> None:
- """
- Removes a Document from a Document Index without deleting the Document itself.
-
- Parameters
- ----------
- document_id : str
- Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
-
- id : str
- Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.document_indexes.remove_document(
- document_id="document_id",
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.remove_document(document_id, id, request_options=request_options)
- return _response.data
diff --git a/src/vellum/client/resources/document_indexes/raw_client.py b/src/vellum/client/resources/document_indexes/raw_client.py
deleted file mode 100644
index 8f2535738d..0000000000
--- a/src/vellum/client/resources/document_indexes/raw_client.py
+++ /dev/null
@@ -1,866 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...core.serialization import convert_and_respect_annotation_metadata
-from ...types.document_index_indexing_config_request import DocumentIndexIndexingConfigRequest
-from ...types.document_index_read import DocumentIndexRead
-from ...types.entity_status import EntityStatus
-from ...types.paginated_document_index_read_list import PaginatedDocumentIndexReadList
-from .types.document_indexes_list_request_status import DocumentIndexesListRequestStatus
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawDocumentIndexesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- status: typing.Optional[DocumentIndexesListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedDocumentIndexReadList]:
- """
- Used to retrieve a list of Document Indexes.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- Search for document indices by name or label
-
- status : typing.Optional[DocumentIndexesListRequestStatus]
- Filter down to only document indices that have a status matching the status specified
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedDocumentIndexReadList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/document-indexes",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "search": search,
- "status": status,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedDocumentIndexReadList,
- parse_obj_as(
- type_=PaginatedDocumentIndexReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def create(
- self,
- *,
- label: str,
- name: str,
- indexing_config: DocumentIndexIndexingConfigRequest,
- status: typing.Optional[EntityStatus] = OMIT,
- copy_documents_from_index_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[DocumentIndexRead]:
- """
- Creates a new document index.
-
- Parameters
- ----------
- label : str
- A human-readable label for the document index
-
- name : str
- A name that uniquely identifies this index within its workspace
-
- indexing_config : DocumentIndexIndexingConfigRequest
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- copy_documents_from_index_id : typing.Optional[str]
- Optionally specify the id of a document index from which you'd like to copy and re-index its documents into this newly created index
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DocumentIndexRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/document-indexes",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "label": label,
- "name": name,
- "status": status,
- "indexing_config": convert_and_respect_annotation_metadata(
- object_=indexing_config, annotation=DocumentIndexIndexingConfigRequest, direction="write"
- ),
- "copy_documents_from_index_id": copy_documents_from_index_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentIndexRead,
- parse_obj_as(
- type_=DocumentIndexRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve(
- self,
- id: str,
- *,
- mask_indexing_config: typing.Optional[bool] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[DocumentIndexRead]:
- """
- Used to retrieve a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- mask_indexing_config : typing.Optional[bool]
- Whether to mask the indexing configuration in the response
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DocumentIndexRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "mask_indexing_config": mask_indexing_config,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentIndexRead,
- parse_obj_as(
- type_=DocumentIndexRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def update(
- self,
- id: str,
- *,
- label: str,
- status: typing.Optional[EntityStatus] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[DocumentIndexRead]:
- """
- Used to fully update a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- label : str
- A human-readable label for the document index
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DocumentIndexRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="PUT",
- json={
- "label": label,
- "status": status,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentIndexRead,
- parse_obj_as(
- type_=DocumentIndexRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[None]:
- """
- Used to delete a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[None]
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().documents,
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return HttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- status: typing.Optional[EntityStatus] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[DocumentIndexRead]:
- """
- Used to partial update a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- label : typing.Optional[str]
- A human-readable label for the document index
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DocumentIndexRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="PATCH",
- json={
- "label": label,
- "status": status,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentIndexRead,
- parse_obj_as(
- type_=DocumentIndexRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def add_document(
- self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[None]:
- """
- Adds a previously uploaded Document to the specified Document Index.
-
- Parameters
- ----------
- document_id : str
- Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to add.
-
- id : str
- Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index to which you'd like to add the Document.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[None]
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return HttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def remove_document(
- self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[None]:
- """
- Removes a Document from a Document Index without deleting the Document itself.
-
- Parameters
- ----------
- document_id : str
- Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
-
- id : str
- Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[None]
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
- base_url=self._client_wrapper.get_environment().documents,
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return HttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawDocumentIndexesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- status: typing.Optional[DocumentIndexesListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedDocumentIndexReadList]:
- """
- Used to retrieve a list of Document Indexes.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- Search for document indices by name or label
-
- status : typing.Optional[DocumentIndexesListRequestStatus]
- Filter down to only document indices that have a status matching the status specified
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedDocumentIndexReadList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/document-indexes",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "search": search,
- "status": status,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedDocumentIndexReadList,
- parse_obj_as(
- type_=PaginatedDocumentIndexReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def create(
- self,
- *,
- label: str,
- name: str,
- indexing_config: DocumentIndexIndexingConfigRequest,
- status: typing.Optional[EntityStatus] = OMIT,
- copy_documents_from_index_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[DocumentIndexRead]:
- """
- Creates a new document index.
-
- Parameters
- ----------
- label : str
- A human-readable label for the document index
-
- name : str
- A name that uniquely identifies this index within its workspace
-
- indexing_config : DocumentIndexIndexingConfigRequest
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- copy_documents_from_index_id : typing.Optional[str]
- Optionally specify the id of a document index from which you'd like to copy and re-index its documents into this newly created index
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DocumentIndexRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/document-indexes",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "label": label,
- "name": name,
- "status": status,
- "indexing_config": convert_and_respect_annotation_metadata(
- object_=indexing_config, annotation=DocumentIndexIndexingConfigRequest, direction="write"
- ),
- "copy_documents_from_index_id": copy_documents_from_index_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentIndexRead,
- parse_obj_as(
- type_=DocumentIndexRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve(
- self,
- id: str,
- *,
- mask_indexing_config: typing.Optional[bool] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[DocumentIndexRead]:
- """
- Used to retrieve a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- mask_indexing_config : typing.Optional[bool]
- Whether to mask the indexing configuration in the response
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DocumentIndexRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "mask_indexing_config": mask_indexing_config,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentIndexRead,
- parse_obj_as(
- type_=DocumentIndexRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def update(
- self,
- id: str,
- *,
- label: str,
- status: typing.Optional[EntityStatus] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[DocumentIndexRead]:
- """
- Used to fully update a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- label : str
- A human-readable label for the document index
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DocumentIndexRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="PUT",
- json={
- "label": label,
- "status": status,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentIndexRead,
- parse_obj_as(
- type_=DocumentIndexRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def destroy(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[None]:
- """
- Used to delete a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[None]
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().documents,
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return AsyncHttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- status: typing.Optional[EntityStatus] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[DocumentIndexRead]:
- """
- Used to partial update a Document Index given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Document Index's ID or its unique name
-
- label : typing.Optional[str]
- A human-readable label for the document index
-
- status : typing.Optional[EntityStatus]
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DocumentIndexRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="PATCH",
- json={
- "label": label,
- "status": status,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentIndexRead,
- parse_obj_as(
- type_=DocumentIndexRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def add_document(
- self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[None]:
- """
- Adds a previously uploaded Document to the specified Document Index.
-
- Parameters
- ----------
- document_id : str
- Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to add.
-
- id : str
- Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index to which you'd like to add the Document.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[None]
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return AsyncHttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def remove_document(
- self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[None]:
- """
- Removes a Document from a Document Index without deleting the Document itself.
-
- Parameters
- ----------
- document_id : str
- Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
-
- id : str
- Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[None]
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
- base_url=self._client_wrapper.get_environment().documents,
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return AsyncHttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/document_indexes/types/__init__.py b/src/vellum/client/resources/document_indexes/types/__init__.py
deleted file mode 100644
index 07c1e2f78f..0000000000
--- a/src/vellum/client/resources/document_indexes/types/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .document_indexes_list_request_status import DocumentIndexesListRequestStatus
-
-__all__ = ["DocumentIndexesListRequestStatus"]
diff --git a/src/vellum/client/resources/document_indexes/types/document_indexes_list_request_status.py b/src/vellum/client/resources/document_indexes/types/document_indexes_list_request_status.py
deleted file mode 100644
index b76498040a..0000000000
--- a/src/vellum/client/resources/document_indexes/types/document_indexes_list_request_status.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-DocumentIndexesListRequestStatus = typing.Union[typing.Literal["ACTIVE", "ARCHIVED"], typing.Any]
diff --git a/src/vellum/client/resources/documents/__init__.py b/src/vellum/client/resources/documents/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/documents/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/documents/client.py b/src/vellum/client/resources/documents/client.py
deleted file mode 100644
index 46163a41e5..0000000000
--- a/src/vellum/client/resources/documents/client.py
+++ /dev/null
@@ -1,543 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ... import core
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.document_read import DocumentRead
-from ...types.document_status import DocumentStatus
-from ...types.paginated_slim_document_list import PaginatedSlimDocumentList
-from ...types.upload_document_response import UploadDocumentResponse
-from .raw_client import AsyncRawDocumentsClient, RawDocumentsClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class DocumentsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawDocumentsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawDocumentsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawDocumentsClient
- """
- return self._raw_client
-
- def list(
- self,
- *,
- document_index_id: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimDocumentList:
- """
- Used to list documents. Optionally filter on supported fields.
-
- Parameters
- ----------
- document_index_id : typing.Optional[str]
- Filter down to only those documents that are included in the specified index. You may provide either the Vellum-generated ID or the unique name of the index specified upon initial creation.
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimDocumentList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.documents.list()
- """
- _response = self._raw_client.list(
- document_index_id=document_index_id,
- limit=limit,
- offset=offset,
- ordering=ordering,
- search=search,
- request_options=request_options,
- )
- return _response.data
-
- def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DocumentRead:
- """
- Retrieve a Document, keying off of either its Vellum-generated ID or its external ID.
-
- Parameters
- ----------
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.documents.retrieve(
- id="id",
- )
- """
- _response = self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
- """
- Delete a Document, keying off of either its Vellum-generated ID or its external ID.
-
- Parameters
- ----------
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.documents.destroy(
- id="id",
- )
- """
- _response = self._raw_client.destroy(id, request_options=request_options)
- return _response.data
-
- def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- status: typing.Optional[DocumentStatus] = OMIT,
- keywords: typing.Optional[typing.Sequence[str]] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DocumentRead:
- """
- Update a Document, keying off of either its Vellum-generated ID or its external ID. Particularly useful for updating its metadata.
-
- Parameters
- ----------
- id : str
-
- label : typing.Optional[str]
- A human-readable label for the document. Defaults to the originally uploaded file's file name.
-
- status : typing.Optional[DocumentStatus]
- The current status of the document
-
- * `ACTIVE` - Active
-
- keywords : typing.Optional[typing.Sequence[str]]
- A list of keywords that'll be associated with the document. Used as part of keyword search.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- A JSON object containing any metadata associated with the document that you'd like to filter upon later.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.documents.partial_update(
- id="id",
- )
- """
- _response = self._raw_client.partial_update(
- id, label=label, status=status, keywords=keywords, metadata=metadata, request_options=request_options
- )
- return _response.data
-
- def upload(
- self,
- *,
- label: str,
- contents: core.File,
- add_to_index_names: typing.Optional[typing.List[str]] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- keywords: typing.Optional[typing.List[str]] = OMIT,
- metadata: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> UploadDocumentResponse:
- """
- Upload a document to be indexed and used for search.
-
- **Note:** Uses a base url of `https://documents.vellum.ai`.
-
- Parameters
- ----------
- label : str
- A human-friendly name for this document. Typically the filename.
-
- contents : core.File
- See core.File for more documentation
-
- add_to_index_names : typing.Optional[typing.List[str]]
- Optionally include the names of all indexes that you'd like this document to be included in
-
- external_id : typing.Optional[str]
- Optionally include an external ID for this document. This is useful if you want to re-upload the same document later when its contents change and would like it to be re-indexed.
-
- keywords : typing.Optional[typing.List[str]]
- Optionally include a list of keywords that'll be associated with this document. Used when performing keyword searches.
-
- metadata : typing.Optional[str]
- A stringified JSON object containing any metadata associated with the document that you'd like to filter upon later.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- UploadDocumentResponse
-
- """
- _response = self._raw_client.upload(
- label=label,
- contents=contents,
- add_to_index_names=add_to_index_names,
- external_id=external_id,
- keywords=keywords,
- metadata=metadata,
- request_options=request_options,
- )
- return _response.data
-
-
-class AsyncDocumentsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawDocumentsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawDocumentsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawDocumentsClient
- """
- return self._raw_client
-
- async def list(
- self,
- *,
- document_index_id: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimDocumentList:
- """
- Used to list documents. Optionally filter on supported fields.
-
- Parameters
- ----------
- document_index_id : typing.Optional[str]
- Filter down to only those documents that are included in the specified index. You may provide either the Vellum-generated ID or the unique name of the index specified upon initial creation.
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimDocumentList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.documents.list()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list(
- document_index_id=document_index_id,
- limit=limit,
- offset=offset,
- ordering=ordering,
- search=search,
- request_options=request_options,
- )
- return _response.data
-
- async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DocumentRead:
- """
- Retrieve a Document, keying off of either its Vellum-generated ID or its external ID.
-
- Parameters
- ----------
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.documents.retrieve(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- async def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
- """
- Delete a Document, keying off of either its Vellum-generated ID or its external ID.
-
- Parameters
- ----------
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.documents.destroy(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.destroy(id, request_options=request_options)
- return _response.data
-
- async def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- status: typing.Optional[DocumentStatus] = OMIT,
- keywords: typing.Optional[typing.Sequence[str]] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DocumentRead:
- """
- Update a Document, keying off of either its Vellum-generated ID or its external ID. Particularly useful for updating its metadata.
-
- Parameters
- ----------
- id : str
-
- label : typing.Optional[str]
- A human-readable label for the document. Defaults to the originally uploaded file's file name.
-
- status : typing.Optional[DocumentStatus]
- The current status of the document
-
- * `ACTIVE` - Active
-
- keywords : typing.Optional[typing.Sequence[str]]
- A list of keywords that'll be associated with the document. Used as part of keyword search.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- A JSON object containing any metadata associated with the document that you'd like to filter upon later.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DocumentRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.documents.partial_update(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.partial_update(
- id, label=label, status=status, keywords=keywords, metadata=metadata, request_options=request_options
- )
- return _response.data
-
- async def upload(
- self,
- *,
- label: str,
- contents: core.File,
- add_to_index_names: typing.Optional[typing.List[str]] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- keywords: typing.Optional[typing.List[str]] = OMIT,
- metadata: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> UploadDocumentResponse:
- """
- Upload a document to be indexed and used for search.
-
- **Note:** Uses a base url of `https://documents.vellum.ai`.
-
- Parameters
- ----------
- label : str
- A human-friendly name for this document. Typically the filename.
-
- contents : core.File
- See core.File for more documentation
-
- add_to_index_names : typing.Optional[typing.List[str]]
- Optionally include the names of all indexes that you'd like this document to be included in
-
- external_id : typing.Optional[str]
- Optionally include an external ID for this document. This is useful if you want to re-upload the same document later when its contents change and would like it to be re-indexed.
-
- keywords : typing.Optional[typing.List[str]]
- Optionally include a list of keywords that'll be associated with this document. Used when performing keyword searches.
-
- metadata : typing.Optional[str]
- A stringified JSON object containing any metadata associated with the document that you'd like to filter upon later.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- UploadDocumentResponse
-
- """
- _response = await self._raw_client.upload(
- label=label,
- contents=contents,
- add_to_index_names=add_to_index_names,
- external_id=external_id,
- keywords=keywords,
- metadata=metadata,
- request_options=request_options,
- )
- return _response.data
diff --git a/src/vellum/client/resources/documents/raw_client.py b/src/vellum/client/resources/documents/raw_client.py
deleted file mode 100644
index 52e88b00a1..0000000000
--- a/src/vellum/client/resources/documents/raw_client.py
+++ /dev/null
@@ -1,662 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ... import core
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...errors.bad_request_error import BadRequestError
-from ...errors.internal_server_error import InternalServerError
-from ...errors.not_found_error import NotFoundError
-from ...types.document_read import DocumentRead
-from ...types.document_status import DocumentStatus
-from ...types.paginated_slim_document_list import PaginatedSlimDocumentList
-from ...types.upload_document_response import UploadDocumentResponse
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawDocumentsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def list(
- self,
- *,
- document_index_id: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedSlimDocumentList]:
- """
- Used to list documents. Optionally filter on supported fields.
-
- Parameters
- ----------
- document_index_id : typing.Optional[str]
- Filter down to only those documents that are included in the specified index. You may provide either the Vellum-generated ID or the unique name of the index specified upon initial creation.
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedSlimDocumentList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/documents",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "document_index_id": document_index_id,
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "search": search,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimDocumentList,
- parse_obj_as(
- type_=PaginatedSlimDocumentList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[DocumentRead]:
- """
- Retrieve a Document, keying off of either its Vellum-generated ID or its external ID.
-
- Parameters
- ----------
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DocumentRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/documents/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentRead,
- parse_obj_as(
- type_=DocumentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[None]:
- """
- Delete a Document, keying off of either its Vellum-generated ID or its external ID.
-
- Parameters
- ----------
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[None]
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/documents/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().documents,
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return HttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- status: typing.Optional[DocumentStatus] = OMIT,
- keywords: typing.Optional[typing.Sequence[str]] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[DocumentRead]:
- """
- Update a Document, keying off of either its Vellum-generated ID or its external ID. Particularly useful for updating its metadata.
-
- Parameters
- ----------
- id : str
-
- label : typing.Optional[str]
- A human-readable label for the document. Defaults to the originally uploaded file's file name.
-
- status : typing.Optional[DocumentStatus]
- The current status of the document
-
- * `ACTIVE` - Active
-
- keywords : typing.Optional[typing.Sequence[str]]
- A list of keywords that'll be associated with the document. Used as part of keyword search.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- A JSON object containing any metadata associated with the document that you'd like to filter upon later.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DocumentRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/documents/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="PATCH",
- json={
- "label": label,
- "status": status,
- "keywords": keywords,
- "metadata": metadata,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentRead,
- parse_obj_as(
- type_=DocumentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def upload(
- self,
- *,
- label: str,
- contents: core.File,
- add_to_index_names: typing.Optional[typing.List[str]] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- keywords: typing.Optional[typing.List[str]] = OMIT,
- metadata: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[UploadDocumentResponse]:
- """
- Upload a document to be indexed and used for search.
-
- **Note:** Uses a base url of `https://documents.vellum.ai`.
-
- Parameters
- ----------
- label : str
- A human-friendly name for this document. Typically the filename.
-
- contents : core.File
- See core.File for more documentation
-
- add_to_index_names : typing.Optional[typing.List[str]]
- Optionally include the names of all indexes that you'd like this document to be included in
-
- external_id : typing.Optional[str]
- Optionally include an external ID for this document. This is useful if you want to re-upload the same document later when its contents change and would like it to be re-indexed.
-
- keywords : typing.Optional[typing.List[str]]
- Optionally include a list of keywords that'll be associated with this document. Used when performing keyword searches.
-
- metadata : typing.Optional[str]
- A stringified JSON object containing any metadata associated with the document that you'd like to filter upon later.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[UploadDocumentResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/upload-document",
- base_url=self._client_wrapper.get_environment().documents,
- method="POST",
- data={
- "add_to_index_names": add_to_index_names,
- "external_id": external_id,
- "label": label,
- "keywords": keywords,
- "metadata": metadata,
- },
- files={
- "contents": contents,
- },
- request_options=request_options,
- omit=OMIT,
- force_multipart=True,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- UploadDocumentResponse,
- parse_obj_as(
- type_=UploadDocumentResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawDocumentsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def list(
- self,
- *,
- document_index_id: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedSlimDocumentList]:
- """
- Used to list documents. Optionally filter on supported fields.
-
- Parameters
- ----------
- document_index_id : typing.Optional[str]
- Filter down to only those documents that are included in the specified index. You may provide either the Vellum-generated ID or the unique name of the index specified upon initial creation.
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedSlimDocumentList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/documents",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "document_index_id": document_index_id,
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "search": search,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimDocumentList,
- parse_obj_as(
- type_=PaginatedSlimDocumentList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[DocumentRead]:
- """
- Retrieve a Document, keying off of either its Vellum-generated ID or its external ID.
-
- Parameters
- ----------
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DocumentRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/documents/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentRead,
- parse_obj_as(
- type_=DocumentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def destroy(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[None]:
- """
- Delete a Document, keying off of either its Vellum-generated ID or its external ID.
-
- Parameters
- ----------
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[None]
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/documents/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().documents,
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return AsyncHttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- status: typing.Optional[DocumentStatus] = OMIT,
- keywords: typing.Optional[typing.Sequence[str]] = OMIT,
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[DocumentRead]:
- """
- Update a Document, keying off of either its Vellum-generated ID or its external ID. Particularly useful for updating its metadata.
-
- Parameters
- ----------
- id : str
-
- label : typing.Optional[str]
- A human-readable label for the document. Defaults to the originally uploaded file's file name.
-
- status : typing.Optional[DocumentStatus]
- The current status of the document
-
- * `ACTIVE` - Active
-
- keywords : typing.Optional[typing.Sequence[str]]
- A list of keywords that'll be associated with the document. Used as part of keyword search.
-
- metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
- A JSON object containing any metadata associated with the document that you'd like to filter upon later.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DocumentRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/documents/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="PATCH",
- json={
- "label": label,
- "status": status,
- "keywords": keywords,
- "metadata": metadata,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DocumentRead,
- parse_obj_as(
- type_=DocumentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def upload(
- self,
- *,
- label: str,
- contents: core.File,
- add_to_index_names: typing.Optional[typing.List[str]] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- keywords: typing.Optional[typing.List[str]] = OMIT,
- metadata: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[UploadDocumentResponse]:
- """
- Upload a document to be indexed and used for search.
-
- **Note:** Uses a base url of `https://documents.vellum.ai`.
-
- Parameters
- ----------
- label : str
- A human-friendly name for this document. Typically the filename.
-
- contents : core.File
- See core.File for more documentation
-
- add_to_index_names : typing.Optional[typing.List[str]]
- Optionally include the names of all indexes that you'd like this document to be included in
-
- external_id : typing.Optional[str]
- Optionally include an external ID for this document. This is useful if you want to re-upload the same document later when its contents change and would like it to be re-indexed.
-
- keywords : typing.Optional[typing.List[str]]
- Optionally include a list of keywords that'll be associated with this document. Used when performing keyword searches.
-
- metadata : typing.Optional[str]
- A stringified JSON object containing any metadata associated with the document that you'd like to filter upon later.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[UploadDocumentResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/upload-document",
- base_url=self._client_wrapper.get_environment().documents,
- method="POST",
- data={
- "add_to_index_names": add_to_index_names,
- "external_id": external_id,
- "label": label,
- "keywords": keywords,
- "metadata": metadata,
- },
- files={
- "contents": contents,
- },
- request_options=request_options,
- omit=OMIT,
- force_multipart=True,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- UploadDocumentResponse,
- parse_obj_as(
- type_=UploadDocumentResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 500:
- raise InternalServerError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/environments/__init__.py b/src/vellum/client/resources/environments/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/environments/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/environments/client.py b/src/vellum/client/resources/environments/client.py
deleted file mode 100644
index 3baa20a8d4..0000000000
--- a/src/vellum/client/resources/environments/client.py
+++ /dev/null
@@ -1,106 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.environment_read import EnvironmentRead
-from .raw_client import AsyncRawEnvironmentsClient, RawEnvironmentsClient
-
-
-class EnvironmentsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawEnvironmentsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawEnvironmentsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawEnvironmentsClient
- """
- return self._raw_client
-
- def environment_identity(self, *, request_options: typing.Optional[RequestOptions] = None) -> EnvironmentRead:
- """
- Retrieves information about the active Environment
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- EnvironmentRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.environments.environment_identity()
- """
- _response = self._raw_client.environment_identity(request_options=request_options)
- return _response.data
-
-
-class AsyncEnvironmentsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawEnvironmentsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawEnvironmentsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawEnvironmentsClient
- """
- return self._raw_client
-
- async def environment_identity(self, *, request_options: typing.Optional[RequestOptions] = None) -> EnvironmentRead:
- """
- Retrieves information about the active Environment
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- EnvironmentRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.environments.environment_identity()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.environment_identity(request_options=request_options)
- return _response.data
diff --git a/src/vellum/client/resources/environments/raw_client.py b/src/vellum/client/resources/environments/raw_client.py
deleted file mode 100644
index 0ba1d7567a..0000000000
--- a/src/vellum/client/resources/environments/raw_client.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...types.environment_read import EnvironmentRead
-
-
-class RawEnvironmentsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def environment_identity(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[EnvironmentRead]:
- """
- Retrieves information about the active Environment
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[EnvironmentRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/environments/identity",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- EnvironmentRead,
- parse_obj_as(
- type_=EnvironmentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawEnvironmentsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def environment_identity(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[EnvironmentRead]:
- """
- Retrieves information about the active Environment
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[EnvironmentRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/environments/identity",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- EnvironmentRead,
- parse_obj_as(
- type_=EnvironmentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/events/__init__.py b/src/vellum/client/resources/events/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/events/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/events/client.py b/src/vellum/client/resources/events/client.py
deleted file mode 100644
index d18163ca71..0000000000
--- a/src/vellum/client/resources/events/client.py
+++ /dev/null
@@ -1,201 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.create_workflow_event_request import CreateWorkflowEventRequest
-from ...types.event_create_response import EventCreateResponse
-from .raw_client import AsyncRawEventsClient, RawEventsClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class EventsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawEventsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawEventsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawEventsClient
- """
- return self._raw_client
-
- def create(
- self, *, request: CreateWorkflowEventRequest, request_options: typing.Optional[RequestOptions] = None
- ) -> EventCreateResponse:
- """
- Accept an event or list of events and publish them to ClickHouse for analytics processing.
-
- Parameters
- ----------
- request : CreateWorkflowEventRequest
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- EventCreateResponse
-
-
- Examples
- --------
- import datetime
-
- from vellum import (
- NodeExecutionInitiatedBody,
- NodeExecutionInitiatedEvent,
- Vellum,
- VellumCodeResourceDefinition,
- )
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.events.create(
- request=[
- NodeExecutionInitiatedEvent(
- body=NodeExecutionInitiatedBody(
- node_definition=VellumCodeResourceDefinition(
- name="name",
- module=["module", "module"],
- id="id",
- ),
- inputs={"inputs": {"key": "value"}},
- ),
- id="id",
- timestamp=datetime.datetime.fromisoformat(
- "2024-01-15 09:30:00+00:00",
- ),
- trace_id="trace_id",
- span_id="span_id",
- ),
- NodeExecutionInitiatedEvent(
- body=NodeExecutionInitiatedBody(
- node_definition=VellumCodeResourceDefinition(
- name="name",
- module=["module", "module"],
- id="id",
- ),
- inputs={"inputs": {"key": "value"}},
- ),
- id="id",
- timestamp=datetime.datetime.fromisoformat(
- "2024-01-15 09:30:00+00:00",
- ),
- trace_id="trace_id",
- span_id="span_id",
- ),
- ],
- )
- """
- _response = self._raw_client.create(request=request, request_options=request_options)
- return _response.data
-
-
-class AsyncEventsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawEventsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawEventsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawEventsClient
- """
- return self._raw_client
-
- async def create(
- self, *, request: CreateWorkflowEventRequest, request_options: typing.Optional[RequestOptions] = None
- ) -> EventCreateResponse:
- """
- Accept an event or list of events and publish them to ClickHouse for analytics processing.
-
- Parameters
- ----------
- request : CreateWorkflowEventRequest
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- EventCreateResponse
-
-
- Examples
- --------
- import asyncio
- import datetime
-
- from vellum import (
- AsyncVellum,
- NodeExecutionInitiatedBody,
- NodeExecutionInitiatedEvent,
- VellumCodeResourceDefinition,
- )
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.events.create(
- request=[
- NodeExecutionInitiatedEvent(
- body=NodeExecutionInitiatedBody(
- node_definition=VellumCodeResourceDefinition(
- name="name",
- module=["module", "module"],
- id="id",
- ),
- inputs={"inputs": {"key": "value"}},
- ),
- id="id",
- timestamp=datetime.datetime.fromisoformat(
- "2024-01-15 09:30:00+00:00",
- ),
- trace_id="trace_id",
- span_id="span_id",
- ),
- NodeExecutionInitiatedEvent(
- body=NodeExecutionInitiatedBody(
- node_definition=VellumCodeResourceDefinition(
- name="name",
- module=["module", "module"],
- id="id",
- ),
- inputs={"inputs": {"key": "value"}},
- ),
- id="id",
- timestamp=datetime.datetime.fromisoformat(
- "2024-01-15 09:30:00+00:00",
- ),
- trace_id="trace_id",
- span_id="span_id",
- ),
- ],
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.create(request=request, request_options=request_options)
- return _response.data
diff --git a/src/vellum/client/resources/events/raw_client.py b/src/vellum/client/resources/events/raw_client.py
deleted file mode 100644
index b7642f7e81..0000000000
--- a/src/vellum/client/resources/events/raw_client.py
+++ /dev/null
@@ -1,211 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...core.serialization import convert_and_respect_annotation_metadata
-from ...errors.bad_request_error import BadRequestError
-from ...errors.forbidden_error import ForbiddenError
-from ...errors.too_many_requests_error import TooManyRequestsError
-from ...errors.unauthorized_error import UnauthorizedError
-from ...types.create_workflow_event_request import CreateWorkflowEventRequest
-from ...types.error_detail_response import ErrorDetailResponse
-from ...types.event_create_response import EventCreateResponse
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawEventsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def create(
- self, *, request: CreateWorkflowEventRequest, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[EventCreateResponse]:
- """
- Accept an event or list of events and publish them to ClickHouse for analytics processing.
-
- Parameters
- ----------
- request : CreateWorkflowEventRequest
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[EventCreateResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "monitoring/v1/events",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json=convert_and_respect_annotation_metadata(
- object_=request, annotation=CreateWorkflowEventRequest, direction="write"
- ),
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- EventCreateResponse,
- parse_obj_as(
- type_=EventCreateResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- ErrorDetailResponse,
- parse_obj_as(
- type_=ErrorDetailResponse, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- ErrorDetailResponse,
- parse_obj_as(
- type_=ErrorDetailResponse, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawEventsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def create(
- self, *, request: CreateWorkflowEventRequest, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[EventCreateResponse]:
- """
- Accept an event or list of events and publish them to ClickHouse for analytics processing.
-
- Parameters
- ----------
- request : CreateWorkflowEventRequest
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[EventCreateResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "monitoring/v1/events",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json=convert_and_respect_annotation_metadata(
- object_=request, annotation=CreateWorkflowEventRequest, direction="write"
- ),
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- EventCreateResponse,
- parse_obj_as(
- type_=EventCreateResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 401:
- raise UnauthorizedError(
- headers=dict(_response.headers),
- body=typing.cast(
- ErrorDetailResponse,
- parse_obj_as(
- type_=ErrorDetailResponse, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 429:
- raise TooManyRequestsError(
- headers=dict(_response.headers),
- body=typing.cast(
- ErrorDetailResponse,
- parse_obj_as(
- type_=ErrorDetailResponse, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/folder_entities/__init__.py b/src/vellum/client/resources/folder_entities/__init__.py
deleted file mode 100644
index e8d6e44655..0000000000
--- a/src/vellum/client/resources/folder_entities/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .types import FolderEntitiesListRequestEntityStatus
-
-__all__ = ["FolderEntitiesListRequestEntityStatus"]
diff --git a/src/vellum/client/resources/folder_entities/client.py b/src/vellum/client/resources/folder_entities/client.py
deleted file mode 100644
index 3803bd8e27..0000000000
--- a/src/vellum/client/resources/folder_entities/client.py
+++ /dev/null
@@ -1,296 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.paginated_folder_entity_list import PaginatedFolderEntityList
-from .raw_client import AsyncRawFolderEntitiesClient, RawFolderEntitiesClient
-from .types.folder_entities_list_request_entity_status import FolderEntitiesListRequestEntityStatus
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class FolderEntitiesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawFolderEntitiesClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawFolderEntitiesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawFolderEntitiesClient
- """
- return self._raw_client
-
- def list(
- self,
- *,
- parent_folder_id: str,
- entity_status: typing.Optional[FolderEntitiesListRequestEntityStatus] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedFolderEntityList:
- """
- List all folder entities within a specified folder.
-
- Parameters
- ----------
- parent_folder_id : str
- Filter down to only those entities whose parent folder has the specified ID.
-
- To filter by an entity's parent folder, provide the ID of the parent folder. To filter by the root directory, provide
- a string representing the entity type of the root directory. Supported root directories include:
- - PROMPT_SANDBOX
- - WORKFLOW_SANDBOX
- - DOCUMENT_INDEX
- - TEST_SUITE
-
- entity_status : typing.Optional[FolderEntitiesListRequestEntityStatus]
- Filter down to only those objects whose entities have a status matching the status specified.
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedFolderEntityList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.folder_entities.list(
- parent_folder_id="parent_folder_id",
- )
- """
- _response = self._raw_client.list(
- parent_folder_id=parent_folder_id,
- entity_status=entity_status,
- limit=limit,
- offset=offset,
- ordering=ordering,
- request_options=request_options,
- )
- return _response.data
-
- def add_entity_to_folder(
- self, folder_id: str, *, entity_id: str, request_options: typing.Optional[RequestOptions] = None
- ) -> None:
- """
- Add an entity to a specific folder or root directory.
-
- Adding an entity to a folder will remove it from any other folders it might have been a member of.
-
- Parameters
- ----------
- folder_id : str
- The ID of the folder to which the entity should be added. This can be a UUID of a folder, or the name of a root
- directory. Supported root directories include:
- - PROMPT_SANDBOX
- - WORKFLOW_SANDBOX
- - DOCUMENT_INDEX
- - TEST_SUITE
-
- entity_id : str
- The ID of the entity you would like to move.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.folder_entities.add_entity_to_folder(
- folder_id="folder_id",
- entity_id="entity_id",
- )
- """
- _response = self._raw_client.add_entity_to_folder(
- folder_id, entity_id=entity_id, request_options=request_options
- )
- return _response.data
-
-
-class AsyncFolderEntitiesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawFolderEntitiesClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawFolderEntitiesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawFolderEntitiesClient
- """
- return self._raw_client
-
- async def list(
- self,
- *,
- parent_folder_id: str,
- entity_status: typing.Optional[FolderEntitiesListRequestEntityStatus] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedFolderEntityList:
- """
- List all folder entities within a specified folder.
-
- Parameters
- ----------
- parent_folder_id : str
- Filter down to only those entities whose parent folder has the specified ID.
-
- To filter by an entity's parent folder, provide the ID of the parent folder. To filter by the root directory, provide
- a string representing the entity type of the root directory. Supported root directories include:
- - PROMPT_SANDBOX
- - WORKFLOW_SANDBOX
- - DOCUMENT_INDEX
- - TEST_SUITE
-
- entity_status : typing.Optional[FolderEntitiesListRequestEntityStatus]
- Filter down to only those objects whose entities have a status matching the status specified.
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedFolderEntityList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.folder_entities.list(
- parent_folder_id="parent_folder_id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list(
- parent_folder_id=parent_folder_id,
- entity_status=entity_status,
- limit=limit,
- offset=offset,
- ordering=ordering,
- request_options=request_options,
- )
- return _response.data
-
- async def add_entity_to_folder(
- self, folder_id: str, *, entity_id: str, request_options: typing.Optional[RequestOptions] = None
- ) -> None:
- """
- Add an entity to a specific folder or root directory.
-
- Adding an entity to a folder will remove it from any other folders it might have been a member of.
-
- Parameters
- ----------
- folder_id : str
- The ID of the folder to which the entity should be added. This can be a UUID of a folder, or the name of a root
- directory. Supported root directories include:
- - PROMPT_SANDBOX
- - WORKFLOW_SANDBOX
- - DOCUMENT_INDEX
- - TEST_SUITE
-
- entity_id : str
- The ID of the entity you would like to move.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.folder_entities.add_entity_to_folder(
- folder_id="folder_id",
- entity_id="entity_id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.add_entity_to_folder(
- folder_id, entity_id=entity_id, request_options=request_options
- )
- return _response.data
diff --git a/src/vellum/client/resources/folder_entities/raw_client.py b/src/vellum/client/resources/folder_entities/raw_client.py
deleted file mode 100644
index 7241ddd290..0000000000
--- a/src/vellum/client/resources/folder_entities/raw_client.py
+++ /dev/null
@@ -1,276 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...types.paginated_folder_entity_list import PaginatedFolderEntityList
-from .types.folder_entities_list_request_entity_status import FolderEntitiesListRequestEntityStatus
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawFolderEntitiesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def list(
- self,
- *,
- parent_folder_id: str,
- entity_status: typing.Optional[FolderEntitiesListRequestEntityStatus] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedFolderEntityList]:
- """
- List all folder entities within a specified folder.
-
- Parameters
- ----------
- parent_folder_id : str
- Filter down to only those entities whose parent folder has the specified ID.
-
- To filter by an entity's parent folder, provide the ID of the parent folder. To filter by the root directory, provide
- a string representing the entity type of the root directory. Supported root directories include:
- - PROMPT_SANDBOX
- - WORKFLOW_SANDBOX
- - DOCUMENT_INDEX
- - TEST_SUITE
-
- entity_status : typing.Optional[FolderEntitiesListRequestEntityStatus]
- Filter down to only those objects whose entities have a status matching the status specified.
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedFolderEntityList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/folder-entities",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "entity_status": entity_status,
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "parent_folder_id": parent_folder_id,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedFolderEntityList,
- parse_obj_as(
- type_=PaginatedFolderEntityList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def add_entity_to_folder(
- self, folder_id: str, *, entity_id: str, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[None]:
- """
- Add an entity to a specific folder or root directory.
-
- Adding an entity to a folder will remove it from any other folders it might have been a member of.
-
- Parameters
- ----------
- folder_id : str
- The ID of the folder to which the entity should be added. This can be a UUID of a folder, or the name of a root
- directory. Supported root directories include:
- - PROMPT_SANDBOX
- - WORKFLOW_SANDBOX
- - DOCUMENT_INDEX
- - TEST_SUITE
-
- entity_id : str
- The ID of the entity you would like to move.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[None]
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/folders/{jsonable_encoder(folder_id)}/add-entity",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "entity_id": entity_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- return HttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawFolderEntitiesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def list(
- self,
- *,
- parent_folder_id: str,
- entity_status: typing.Optional[FolderEntitiesListRequestEntityStatus] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedFolderEntityList]:
- """
- List all folder entities within a specified folder.
-
- Parameters
- ----------
- parent_folder_id : str
- Filter down to only those entities whose parent folder has the specified ID.
-
- To filter by an entity's parent folder, provide the ID of the parent folder. To filter by the root directory, provide
- a string representing the entity type of the root directory. Supported root directories include:
- - PROMPT_SANDBOX
- - WORKFLOW_SANDBOX
- - DOCUMENT_INDEX
- - TEST_SUITE
-
- entity_status : typing.Optional[FolderEntitiesListRequestEntityStatus]
- Filter down to only those objects whose entities have a status matching the status specified.
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedFolderEntityList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/folder-entities",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "entity_status": entity_status,
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "parent_folder_id": parent_folder_id,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedFolderEntityList,
- parse_obj_as(
- type_=PaginatedFolderEntityList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def add_entity_to_folder(
- self, folder_id: str, *, entity_id: str, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[None]:
- """
- Add an entity to a specific folder or root directory.
-
- Adding an entity to a folder will remove it from any other folders it might have been a member of.
-
- Parameters
- ----------
- folder_id : str
- The ID of the folder to which the entity should be added. This can be a UUID of a folder, or the name of a root
- directory. Supported root directories include:
- - PROMPT_SANDBOX
- - WORKFLOW_SANDBOX
- - DOCUMENT_INDEX
- - TEST_SUITE
-
- entity_id : str
- The ID of the entity you would like to move.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[None]
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/folders/{jsonable_encoder(folder_id)}/add-entity",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "entity_id": entity_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- return AsyncHttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/folder_entities/types/__init__.py b/src/vellum/client/resources/folder_entities/types/__init__.py
deleted file mode 100644
index fcff0a7885..0000000000
--- a/src/vellum/client/resources/folder_entities/types/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .folder_entities_list_request_entity_status import FolderEntitiesListRequestEntityStatus
-
-__all__ = ["FolderEntitiesListRequestEntityStatus"]
diff --git a/src/vellum/client/resources/folder_entities/types/folder_entities_list_request_entity_status.py b/src/vellum/client/resources/folder_entities/types/folder_entities_list_request_entity_status.py
deleted file mode 100644
index 812c8e4983..0000000000
--- a/src/vellum/client/resources/folder_entities/types/folder_entities_list_request_entity_status.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-FolderEntitiesListRequestEntityStatus = typing.Union[typing.Literal["ACTIVE", "ARCHIVED"], typing.Any]
diff --git a/src/vellum/client/resources/integration_auth_configs/__init__.py b/src/vellum/client/resources/integration_auth_configs/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/integration_auth_configs/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/integration_auth_configs/client.py b/src/vellum/client/resources/integration_auth_configs/client.py
deleted file mode 100644
index d42afaa2f4..0000000000
--- a/src/vellum/client/resources/integration_auth_configs/client.py
+++ /dev/null
@@ -1,186 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.paginated_slim_integration_auth_config_read_list import PaginatedSlimIntegrationAuthConfigReadList
-from .raw_client import AsyncRawIntegrationAuthConfigsClient, RawIntegrationAuthConfigsClient
-
-
-class IntegrationAuthConfigsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawIntegrationAuthConfigsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawIntegrationAuthConfigsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawIntegrationAuthConfigsClient
- """
- return self._raw_client
-
- def list_integration_auth_configs(
- self,
- *,
- expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
- integration_name: typing.Optional[str] = None,
- integration_provider: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimIntegrationAuthConfigReadList:
- """
- List Integration Auth Configs
-
- Parameters
- ----------
- expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
- The response fields to expand for more information.
- - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
-
- integration_name : typing.Optional[str]
-
- integration_provider : typing.Optional[str]
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimIntegrationAuthConfigReadList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.integration_auth_configs.list_integration_auth_configs()
- """
- _response = self._raw_client.list_integration_auth_configs(
- expand=expand,
- integration_name=integration_name,
- integration_provider=integration_provider,
- limit=limit,
- offset=offset,
- ordering=ordering,
- search=search,
- request_options=request_options,
- )
- return _response.data
-
-
-class AsyncIntegrationAuthConfigsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawIntegrationAuthConfigsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawIntegrationAuthConfigsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawIntegrationAuthConfigsClient
- """
- return self._raw_client
-
- async def list_integration_auth_configs(
- self,
- *,
- expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
- integration_name: typing.Optional[str] = None,
- integration_provider: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimIntegrationAuthConfigReadList:
- """
- List Integration Auth Configs
-
- Parameters
- ----------
- expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
- The response fields to expand for more information.
- - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
-
- integration_name : typing.Optional[str]
-
- integration_provider : typing.Optional[str]
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimIntegrationAuthConfigReadList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.integration_auth_configs.list_integration_auth_configs()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list_integration_auth_configs(
- expand=expand,
- integration_name=integration_name,
- integration_provider=integration_provider,
- limit=limit,
- offset=offset,
- ordering=ordering,
- search=search,
- request_options=request_options,
- )
- return _response.data
diff --git a/src/vellum/client/resources/integration_auth_configs/raw_client.py b/src/vellum/client/resources/integration_auth_configs/raw_client.py
deleted file mode 100644
index 94ee2a6f69..0000000000
--- a/src/vellum/client/resources/integration_auth_configs/raw_client.py
+++ /dev/null
@@ -1,171 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...types.paginated_slim_integration_auth_config_read_list import PaginatedSlimIntegrationAuthConfigReadList
-
-
-class RawIntegrationAuthConfigsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def list_integration_auth_configs(
- self,
- *,
- expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
- integration_name: typing.Optional[str] = None,
- integration_provider: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedSlimIntegrationAuthConfigReadList]:
- """
- List Integration Auth Configs
-
- Parameters
- ----------
- expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
- The response fields to expand for more information.
- - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
-
- integration_name : typing.Optional[str]
-
- integration_provider : typing.Optional[str]
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedSlimIntegrationAuthConfigReadList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/integration-auth-configs",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "expand": expand,
- "integration_name": integration_name,
- "integration_provider": integration_provider,
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "search": search,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimIntegrationAuthConfigReadList,
- parse_obj_as(
- type_=PaginatedSlimIntegrationAuthConfigReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawIntegrationAuthConfigsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def list_integration_auth_configs(
- self,
- *,
- expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
- integration_name: typing.Optional[str] = None,
- integration_provider: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedSlimIntegrationAuthConfigReadList]:
- """
- List Integration Auth Configs
-
- Parameters
- ----------
- expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
- The response fields to expand for more information.
- - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
-
- integration_name : typing.Optional[str]
-
- integration_provider : typing.Optional[str]
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedSlimIntegrationAuthConfigReadList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/integration-auth-configs",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "expand": expand,
- "integration_name": integration_name,
- "integration_provider": integration_provider,
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "search": search,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimIntegrationAuthConfigReadList,
- parse_obj_as(
- type_=PaginatedSlimIntegrationAuthConfigReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/integration_providers/__init__.py b/src/vellum/client/resources/integration_providers/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/integration_providers/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/integration_providers/client.py b/src/vellum/client/resources/integration_providers/client.py
deleted file mode 100644
index f33ffa1fbe..0000000000
--- a/src/vellum/client/resources/integration_providers/client.py
+++ /dev/null
@@ -1,299 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
-from ...types.paginated_slim_tool_definition_list import PaginatedSlimToolDefinitionList
-from .raw_client import AsyncRawIntegrationProvidersClient, RawIntegrationProvidersClient
-
-
-class IntegrationProvidersClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawIntegrationProvidersClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawIntegrationProvidersClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawIntegrationProvidersClient
- """
- return self._raw_client
-
- def retrieve_integration_provider_tool_definition(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> ComponentsSchemasComposioToolDefinition:
- """
- Retrieve a specific integration tool definition.
-
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ComponentsSchemasComposioToolDefinition
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.integration_providers.retrieve_integration_provider_tool_definition(
- integration_name="integration_name",
- integration_provider="integration_provider",
- tool_name="tool_name",
- )
- """
- _response = self._raw_client.retrieve_integration_provider_tool_definition(
- integration_name, integration_provider, tool_name, request_options=request_options
- )
- return _response.data
-
- def list_integration_tools(
- self,
- integration_provider: str,
- *,
- important: typing.Optional[bool] = None,
- include_deprecated: typing.Optional[bool] = None,
- integration_name: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimToolDefinitionList:
- """
- List all integration tools for a given provider and integration.
-
- Parameters
- ----------
- integration_provider : str
- The integration provider name
-
- important : typing.Optional[bool]
- Whether to filter the tools by important
-
- include_deprecated : typing.Optional[bool]
- Whether to include deprecated tools
-
- integration_name : typing.Optional[str]
- The Vellum Integration name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- search : typing.Optional[str]
- The search term to filter the tools by
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimToolDefinitionList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.integration_providers.list_integration_tools(
- integration_provider="integration_provider",
- )
- """
- _response = self._raw_client.list_integration_tools(
- integration_provider,
- important=important,
- include_deprecated=include_deprecated,
- integration_name=integration_name,
- limit=limit,
- offset=offset,
- search=search,
- request_options=request_options,
- )
- return _response.data
-
-
-class AsyncIntegrationProvidersClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawIntegrationProvidersClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawIntegrationProvidersClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawIntegrationProvidersClient
- """
- return self._raw_client
-
- async def retrieve_integration_provider_tool_definition(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> ComponentsSchemasComposioToolDefinition:
- """
- Retrieve a specific integration tool definition.
-
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ComponentsSchemasComposioToolDefinition
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.integration_providers.retrieve_integration_provider_tool_definition(
- integration_name="integration_name",
- integration_provider="integration_provider",
- tool_name="tool_name",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve_integration_provider_tool_definition(
- integration_name, integration_provider, tool_name, request_options=request_options
- )
- return _response.data
-
- async def list_integration_tools(
- self,
- integration_provider: str,
- *,
- important: typing.Optional[bool] = None,
- include_deprecated: typing.Optional[bool] = None,
- integration_name: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimToolDefinitionList:
- """
- List all integration tools for a given provider and integration.
-
- Parameters
- ----------
- integration_provider : str
- The integration provider name
-
- important : typing.Optional[bool]
- Whether to filter the tools by important
-
- include_deprecated : typing.Optional[bool]
- Whether to include deprecated tools
-
- integration_name : typing.Optional[str]
- The Vellum Integration name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- search : typing.Optional[str]
- The search term to filter the tools by
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimToolDefinitionList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.integration_providers.list_integration_tools(
- integration_provider="integration_provider",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list_integration_tools(
- integration_provider,
- important=important,
- include_deprecated=include_deprecated,
- integration_name=integration_name,
- limit=limit,
- offset=offset,
- search=search,
- request_options=request_options,
- )
- return _response.data
diff --git a/src/vellum/client/resources/integration_providers/raw_client.py b/src/vellum/client/resources/integration_providers/raw_client.py
deleted file mode 100644
index 2534a70a34..0000000000
--- a/src/vellum/client/resources/integration_providers/raw_client.py
+++ /dev/null
@@ -1,275 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
-from ...types.paginated_slim_tool_definition_list import PaginatedSlimToolDefinitionList
-
-
-class RawIntegrationProvidersClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def retrieve_integration_provider_tool_definition(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[ComponentsSchemasComposioToolDefinition]:
- """
- Retrieve a specific integration tool definition.
-
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[ComponentsSchemasComposioToolDefinition]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/integration-providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ComponentsSchemasComposioToolDefinition,
- parse_obj_as(
- type_=ComponentsSchemasComposioToolDefinition, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def list_integration_tools(
- self,
- integration_provider: str,
- *,
- important: typing.Optional[bool] = None,
- include_deprecated: typing.Optional[bool] = None,
- integration_name: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedSlimToolDefinitionList]:
- """
- List all integration tools for a given provider and integration.
-
- Parameters
- ----------
- integration_provider : str
- The integration provider name
-
- important : typing.Optional[bool]
- Whether to filter the tools by important
-
- include_deprecated : typing.Optional[bool]
- Whether to include deprecated tools
-
- integration_name : typing.Optional[str]
- The Vellum Integration name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- search : typing.Optional[str]
- The search term to filter the tools by
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedSlimToolDefinitionList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/integration-providers/{jsonable_encoder(integration_provider)}/tools",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "important": important,
- "include_deprecated": include_deprecated,
- "integration_name": integration_name,
- "limit": limit,
- "offset": offset,
- "search": search,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimToolDefinitionList,
- parse_obj_as(
- type_=PaginatedSlimToolDefinitionList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawIntegrationProvidersClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def retrieve_integration_provider_tool_definition(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[ComponentsSchemasComposioToolDefinition]:
- """
- Retrieve a specific integration tool definition.
-
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[ComponentsSchemasComposioToolDefinition]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/integration-providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ComponentsSchemasComposioToolDefinition,
- parse_obj_as(
- type_=ComponentsSchemasComposioToolDefinition, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def list_integration_tools(
- self,
- integration_provider: str,
- *,
- important: typing.Optional[bool] = None,
- include_deprecated: typing.Optional[bool] = None,
- integration_name: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- search: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedSlimToolDefinitionList]:
- """
- List all integration tools for a given provider and integration.
-
- Parameters
- ----------
- integration_provider : str
- The integration provider name
-
- important : typing.Optional[bool]
- Whether to filter the tools by important
-
- include_deprecated : typing.Optional[bool]
- Whether to include deprecated tools
-
- integration_name : typing.Optional[str]
- The Vellum Integration name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- search : typing.Optional[str]
- The search term to filter the tools by
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedSlimToolDefinitionList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/integration-providers/{jsonable_encoder(integration_provider)}/tools",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "important": important,
- "include_deprecated": include_deprecated,
- "integration_name": integration_name,
- "limit": limit,
- "offset": offset,
- "search": search,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimToolDefinitionList,
- parse_obj_as(
- type_=PaginatedSlimToolDefinitionList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/integrations/__init__.py b/src/vellum/client/resources/integrations/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/integrations/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/integrations/client.py b/src/vellum/client/resources/integrations/client.py
deleted file mode 100644
index 44cc4e067b..0000000000
--- a/src/vellum/client/resources/integrations/client.py
+++ /dev/null
@@ -1,466 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.components_schemas_composio_execute_tool_response import ComponentsSchemasComposioExecuteToolResponse
-from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
-from ...types.integration_read import IntegrationRead
-from ...types.paginated_slim_integration_read_list import PaginatedSlimIntegrationReadList
-from .raw_client import AsyncRawIntegrationsClient, RawIntegrationsClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class IntegrationsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawIntegrationsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawIntegrationsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawIntegrationsClient
- """
- return self._raw_client
-
- def retrieve_integration_tool_definition(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> ComponentsSchemasComposioToolDefinition:
- """
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ComponentsSchemasComposioToolDefinition
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.integrations.retrieve_integration_tool_definition(
- integration_name="integration_name",
- integration_provider="integration_provider",
- tool_name="tool_name",
- )
- """
- _response = self._raw_client.retrieve_integration_tool_definition(
- integration_name, integration_provider, tool_name, request_options=request_options
- )
- return _response.data
-
- def execute_integration_tool(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- arguments: typing.Dict[str, typing.Optional[typing.Any]],
- request_options: typing.Optional[RequestOptions] = None,
- ) -> ComponentsSchemasComposioExecuteToolResponse:
- """
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- arguments : typing.Dict[str, typing.Optional[typing.Any]]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ComponentsSchemasComposioExecuteToolResponse
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.integrations.execute_integration_tool(
- integration_name="integration_name",
- integration_provider="integration_provider",
- tool_name="tool_name",
- arguments={"arguments": {"key": "value"}},
- )
- """
- _response = self._raw_client.execute_integration_tool(
- integration_name, integration_provider, tool_name, arguments=arguments, request_options=request_options
- )
- return _response.data
-
- def list(
- self,
- *,
- integration_provider: typing.Optional[typing.Literal["COMPOSIO"]] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- supports_integration_triggers: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimIntegrationReadList:
- """
- List all integrations
-
- Parameters
- ----------
- integration_provider : typing.Optional[typing.Literal["COMPOSIO"]]
- * `COMPOSIO` - Composio
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- supports_integration_triggers : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimIntegrationReadList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.integrations.list()
- """
- _response = self._raw_client.list(
- integration_provider=integration_provider,
- limit=limit,
- offset=offset,
- ordering=ordering,
- search=search,
- supports_integration_triggers=supports_integration_triggers,
- request_options=request_options,
- )
- return _response.data
-
- def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> IntegrationRead:
- """
- Retrieve an integration
-
- Parameters
- ----------
- id : str
- A UUID string identifying this integration.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- IntegrationRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.integrations.retrieve(
- id="id",
- )
- """
- _response = self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
-
-class AsyncIntegrationsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawIntegrationsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawIntegrationsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawIntegrationsClient
- """
- return self._raw_client
-
- async def retrieve_integration_tool_definition(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> ComponentsSchemasComposioToolDefinition:
- """
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ComponentsSchemasComposioToolDefinition
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.integrations.retrieve_integration_tool_definition(
- integration_name="integration_name",
- integration_provider="integration_provider",
- tool_name="tool_name",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve_integration_tool_definition(
- integration_name, integration_provider, tool_name, request_options=request_options
- )
- return _response.data
-
- async def execute_integration_tool(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- arguments: typing.Dict[str, typing.Optional[typing.Any]],
- request_options: typing.Optional[RequestOptions] = None,
- ) -> ComponentsSchemasComposioExecuteToolResponse:
- """
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- arguments : typing.Dict[str, typing.Optional[typing.Any]]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- ComponentsSchemasComposioExecuteToolResponse
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.integrations.execute_integration_tool(
- integration_name="integration_name",
- integration_provider="integration_provider",
- tool_name="tool_name",
- arguments={"arguments": {"key": "value"}},
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.execute_integration_tool(
- integration_name, integration_provider, tool_name, arguments=arguments, request_options=request_options
- )
- return _response.data
-
- async def list(
- self,
- *,
- integration_provider: typing.Optional[typing.Literal["COMPOSIO"]] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- supports_integration_triggers: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimIntegrationReadList:
- """
- List all integrations
-
- Parameters
- ----------
- integration_provider : typing.Optional[typing.Literal["COMPOSIO"]]
- * `COMPOSIO` - Composio
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- supports_integration_triggers : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimIntegrationReadList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.integrations.list()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list(
- integration_provider=integration_provider,
- limit=limit,
- offset=offset,
- ordering=ordering,
- search=search,
- supports_integration_triggers=supports_integration_triggers,
- request_options=request_options,
- )
- return _response.data
-
- async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> IntegrationRead:
- """
- Retrieve an integration
-
- Parameters
- ----------
- id : str
- A UUID string identifying this integration.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- IntegrationRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.integrations.retrieve(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
diff --git a/src/vellum/client/resources/integrations/raw_client.py b/src/vellum/client/resources/integrations/raw_client.py
deleted file mode 100644
index 1a0f9e6651..0000000000
--- a/src/vellum/client/resources/integrations/raw_client.py
+++ /dev/null
@@ -1,557 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...errors.bad_request_error import BadRequestError
-from ...errors.forbidden_error import ForbiddenError
-from ...errors.not_found_error import NotFoundError
-from ...types.components_schemas_composio_execute_tool_response import ComponentsSchemasComposioExecuteToolResponse
-from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
-from ...types.integration_read import IntegrationRead
-from ...types.paginated_slim_integration_read_list import PaginatedSlimIntegrationReadList
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawIntegrationsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def retrieve_integration_tool_definition(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[ComponentsSchemasComposioToolDefinition]:
- """
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[ComponentsSchemasComposioToolDefinition]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"integrations/v1/providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ComponentsSchemasComposioToolDefinition,
- parse_obj_as(
- type_=ComponentsSchemasComposioToolDefinition, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def execute_integration_tool(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- arguments: typing.Dict[str, typing.Optional[typing.Any]],
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[ComponentsSchemasComposioExecuteToolResponse]:
- """
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- arguments : typing.Dict[str, typing.Optional[typing.Any]]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[ComponentsSchemasComposioExecuteToolResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"integrations/v1/providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}/execute",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "arguments": arguments,
- "provider": "COMPOSIO",
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ComponentsSchemasComposioExecuteToolResponse,
- parse_obj_as(
- type_=ComponentsSchemasComposioExecuteToolResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def list(
- self,
- *,
- integration_provider: typing.Optional[typing.Literal["COMPOSIO"]] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- supports_integration_triggers: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedSlimIntegrationReadList]:
- """
- List all integrations
-
- Parameters
- ----------
- integration_provider : typing.Optional[typing.Literal["COMPOSIO"]]
- * `COMPOSIO` - Composio
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- supports_integration_triggers : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedSlimIntegrationReadList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/integrations",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "integration_provider": integration_provider,
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "search": search,
- "supports_integration_triggers": supports_integration_triggers,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimIntegrationReadList,
- parse_obj_as(
- type_=PaginatedSlimIntegrationReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[IntegrationRead]:
- """
- Retrieve an integration
-
- Parameters
- ----------
- id : str
- A UUID string identifying this integration.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[IntegrationRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/integrations/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- IntegrationRead,
- parse_obj_as(
- type_=IntegrationRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawIntegrationsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def retrieve_integration_tool_definition(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[ComponentsSchemasComposioToolDefinition]:
- """
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[ComponentsSchemasComposioToolDefinition]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"integrations/v1/providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ComponentsSchemasComposioToolDefinition,
- parse_obj_as(
- type_=ComponentsSchemasComposioToolDefinition, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def execute_integration_tool(
- self,
- integration_name: str,
- integration_provider: str,
- tool_name: str,
- *,
- arguments: typing.Dict[str, typing.Optional[typing.Any]],
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[ComponentsSchemasComposioExecuteToolResponse]:
- """
- Parameters
- ----------
- integration_name : str
- The integration name
-
- integration_provider : str
- The integration provider name
-
- tool_name : str
- The tool's unique name, as specified by the integration provider
-
- arguments : typing.Dict[str, typing.Optional[typing.Any]]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[ComponentsSchemasComposioExecuteToolResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"integrations/v1/providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}/execute",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "arguments": arguments,
- "provider": "COMPOSIO",
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- ComponentsSchemasComposioExecuteToolResponse,
- parse_obj_as(
- type_=ComponentsSchemasComposioExecuteToolResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 403:
- raise ForbiddenError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def list(
- self,
- *,
- integration_provider: typing.Optional[typing.Literal["COMPOSIO"]] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- search: typing.Optional[str] = None,
- supports_integration_triggers: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedSlimIntegrationReadList]:
- """
- List all integrations
-
- Parameters
- ----------
- integration_provider : typing.Optional[typing.Literal["COMPOSIO"]]
- * `COMPOSIO` - Composio
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- search : typing.Optional[str]
- A search term.
-
- supports_integration_triggers : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedSlimIntegrationReadList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/integrations",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "integration_provider": integration_provider,
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "search": search,
- "supports_integration_triggers": supports_integration_triggers,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimIntegrationReadList,
- parse_obj_as(
- type_=PaginatedSlimIntegrationReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[IntegrationRead]:
- """
- Retrieve an integration
-
- Parameters
- ----------
- id : str
- A UUID string identifying this integration.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[IntegrationRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/integrations/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- IntegrationRead,
- parse_obj_as(
- type_=IntegrationRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/metric_definitions/__init__.py b/src/vellum/client/resources/metric_definitions/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/metric_definitions/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/metric_definitions/client.py b/src/vellum/client/resources/metric_definitions/client.py
deleted file mode 100644
index 94a1c843c8..0000000000
--- a/src/vellum/client/resources/metric_definitions/client.py
+++ /dev/null
@@ -1,247 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.metric_definition_execution import MetricDefinitionExecution
-from ...types.metric_definition_history_item import MetricDefinitionHistoryItem
-from ...types.metric_definition_input import MetricDefinitionInput
-from .raw_client import AsyncRawMetricDefinitionsClient, RawMetricDefinitionsClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class MetricDefinitionsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawMetricDefinitionsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawMetricDefinitionsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawMetricDefinitionsClient
- """
- return self._raw_client
-
- def execute_metric_definition(
- self,
- id: str,
- *,
- inputs: typing.Sequence[MetricDefinitionInput],
- release_tag: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> MetricDefinitionExecution:
- """
- Parameters
- ----------
- id : str
- Either the Metric Definition's ID or its unique name
-
- inputs : typing.Sequence[MetricDefinitionInput]
-
- release_tag : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- MetricDefinitionExecution
-
-
- Examples
- --------
- from vellum import StringInput, Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.metric_definitions.execute_metric_definition(
- id="id",
- inputs=[
- StringInput(
- name="x",
- value="value",
- ),
- StringInput(
- name="x",
- value="value",
- ),
- ],
- )
- """
- _response = self._raw_client.execute_metric_definition(
- id, inputs=inputs, release_tag=release_tag, request_options=request_options
- )
- return _response.data
-
- def metric_definition_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> MetricDefinitionHistoryItem:
- """
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Metric Definition History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Metric Definition History Item you'd like to retrieve.
-
- id : str
- A UUID string identifying this metric definition.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- MetricDefinitionHistoryItem
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.metric_definitions.metric_definition_history_item_retrieve(
- history_id_or_release_tag="history_id_or_release_tag",
- id="id",
- )
- """
- _response = self._raw_client.metric_definition_history_item_retrieve(
- history_id_or_release_tag, id, request_options=request_options
- )
- return _response.data
-
-
-class AsyncMetricDefinitionsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawMetricDefinitionsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawMetricDefinitionsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawMetricDefinitionsClient
- """
- return self._raw_client
-
- async def execute_metric_definition(
- self,
- id: str,
- *,
- inputs: typing.Sequence[MetricDefinitionInput],
- release_tag: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> MetricDefinitionExecution:
- """
- Parameters
- ----------
- id : str
- Either the Metric Definition's ID or its unique name
-
- inputs : typing.Sequence[MetricDefinitionInput]
-
- release_tag : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- MetricDefinitionExecution
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum, StringInput
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.metric_definitions.execute_metric_definition(
- id="id",
- inputs=[
- StringInput(
- name="x",
- value="value",
- ),
- StringInput(
- name="x",
- value="value",
- ),
- ],
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.execute_metric_definition(
- id, inputs=inputs, release_tag=release_tag, request_options=request_options
- )
- return _response.data
-
- async def metric_definition_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> MetricDefinitionHistoryItem:
- """
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Metric Definition History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Metric Definition History Item you'd like to retrieve.
-
- id : str
- A UUID string identifying this metric definition.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- MetricDefinitionHistoryItem
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.metric_definitions.metric_definition_history_item_retrieve(
- history_id_or_release_tag="history_id_or_release_tag",
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.metric_definition_history_item_retrieve(
- history_id_or_release_tag, id, request_options=request_options
- )
- return _response.data
diff --git a/src/vellum/client/resources/metric_definitions/raw_client.py b/src/vellum/client/resources/metric_definitions/raw_client.py
deleted file mode 100644
index 3d53e2bc82..0000000000
--- a/src/vellum/client/resources/metric_definitions/raw_client.py
+++ /dev/null
@@ -1,224 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...core.serialization import convert_and_respect_annotation_metadata
-from ...types.metric_definition_execution import MetricDefinitionExecution
-from ...types.metric_definition_history_item import MetricDefinitionHistoryItem
-from ...types.metric_definition_input import MetricDefinitionInput
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawMetricDefinitionsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def execute_metric_definition(
- self,
- id: str,
- *,
- inputs: typing.Sequence[MetricDefinitionInput],
- release_tag: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[MetricDefinitionExecution]:
- """
- Parameters
- ----------
- id : str
- Either the Metric Definition's ID or its unique name
-
- inputs : typing.Sequence[MetricDefinitionInput]
-
- release_tag : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[MetricDefinitionExecution]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/metric-definitions/{jsonable_encoder(id)}/execute",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[MetricDefinitionInput], direction="write"
- ),
- "release_tag": release_tag,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- MetricDefinitionExecution,
- parse_obj_as(
- type_=MetricDefinitionExecution, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def metric_definition_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[MetricDefinitionHistoryItem]:
- """
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Metric Definition History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Metric Definition History Item you'd like to retrieve.
-
- id : str
- A UUID string identifying this metric definition.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[MetricDefinitionHistoryItem]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/metric-definitions/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- MetricDefinitionHistoryItem,
- parse_obj_as(
- type_=MetricDefinitionHistoryItem, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawMetricDefinitionsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def execute_metric_definition(
- self,
- id: str,
- *,
- inputs: typing.Sequence[MetricDefinitionInput],
- release_tag: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[MetricDefinitionExecution]:
- """
- Parameters
- ----------
- id : str
- Either the Metric Definition's ID or its unique name
-
- inputs : typing.Sequence[MetricDefinitionInput]
-
- release_tag : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[MetricDefinitionExecution]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/metric-definitions/{jsonable_encoder(id)}/execute",
- base_url=self._client_wrapper.get_environment().predict,
- method="POST",
- json={
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[MetricDefinitionInput], direction="write"
- ),
- "release_tag": release_tag,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- MetricDefinitionExecution,
- parse_obj_as(
- type_=MetricDefinitionExecution, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def metric_definition_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[MetricDefinitionHistoryItem]:
- """
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Metric Definition History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Metric Definition History Item you'd like to retrieve.
-
- id : str
- A UUID string identifying this metric definition.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[MetricDefinitionHistoryItem]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/metric-definitions/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- MetricDefinitionHistoryItem,
- parse_obj_as(
- type_=MetricDefinitionHistoryItem, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/ml_models/__init__.py b/src/vellum/client/resources/ml_models/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/ml_models/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/ml_models/client.py b/src/vellum/client/resources/ml_models/client.py
deleted file mode 100644
index 2d2c2cc25d..0000000000
--- a/src/vellum/client/resources/ml_models/client.py
+++ /dev/null
@@ -1,116 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.ml_model_read import MlModelRead
-from .raw_client import AsyncRawMlModelsClient, RawMlModelsClient
-
-
-class MlModelsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawMlModelsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawMlModelsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawMlModelsClient
- """
- return self._raw_client
-
- def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> MlModelRead:
- """
- Retrieve details about an ML Model
-
- Parameters
- ----------
- id : str
- Either the ML Model's ID, its unique name, or its ID in the workspace.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- MlModelRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.ml_models.retrieve(
- id="id",
- )
- """
- _response = self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
-
-class AsyncMlModelsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawMlModelsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawMlModelsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawMlModelsClient
- """
- return self._raw_client
-
- async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> MlModelRead:
- """
- Retrieve details about an ML Model
-
- Parameters
- ----------
- id : str
- Either the ML Model's ID, its unique name, or its ID in the workspace.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- MlModelRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.ml_models.retrieve(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
diff --git a/src/vellum/client/resources/ml_models/raw_client.py b/src/vellum/client/resources/ml_models/raw_client.py
deleted file mode 100644
index 926d563468..0000000000
--- a/src/vellum/client/resources/ml_models/raw_client.py
+++ /dev/null
@@ -1,102 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...types.ml_model_read import MlModelRead
-
-
-class RawMlModelsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[MlModelRead]:
- """
- Retrieve details about an ML Model
-
- Parameters
- ----------
- id : str
- Either the ML Model's ID, its unique name, or its ID in the workspace.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[MlModelRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/ml-models/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- MlModelRead,
- parse_obj_as(
- type_=MlModelRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawMlModelsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[MlModelRead]:
- """
- Retrieve details about an ML Model
-
- Parameters
- ----------
- id : str
- Either the ML Model's ID, its unique name, or its ID in the workspace.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[MlModelRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/ml-models/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- MlModelRead,
- parse_obj_as(
- type_=MlModelRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/organizations/__init__.py b/src/vellum/client/resources/organizations/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/organizations/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/organizations/client.py b/src/vellum/client/resources/organizations/client.py
deleted file mode 100644
index 36f9688127..0000000000
--- a/src/vellum/client/resources/organizations/client.py
+++ /dev/null
@@ -1,108 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.organization_read import OrganizationRead
-from .raw_client import AsyncRawOrganizationsClient, RawOrganizationsClient
-
-
-class OrganizationsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawOrganizationsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawOrganizationsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawOrganizationsClient
- """
- return self._raw_client
-
- def organization_identity(self, *, request_options: typing.Optional[RequestOptions] = None) -> OrganizationRead:
- """
- Retrieves information about the active Organization
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- OrganizationRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.organizations.organization_identity()
- """
- _response = self._raw_client.organization_identity(request_options=request_options)
- return _response.data
-
-
-class AsyncOrganizationsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawOrganizationsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawOrganizationsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawOrganizationsClient
- """
- return self._raw_client
-
- async def organization_identity(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> OrganizationRead:
- """
- Retrieves information about the active Organization
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- OrganizationRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.organizations.organization_identity()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.organization_identity(request_options=request_options)
- return _response.data
diff --git a/src/vellum/client/resources/organizations/raw_client.py b/src/vellum/client/resources/organizations/raw_client.py
deleted file mode 100644
index 31cb1d35ca..0000000000
--- a/src/vellum/client/resources/organizations/raw_client.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...types.organization_read import OrganizationRead
-
-
-class RawOrganizationsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def organization_identity(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[OrganizationRead]:
- """
- Retrieves information about the active Organization
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[OrganizationRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/organizations/identity",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- OrganizationRead,
- parse_obj_as(
- type_=OrganizationRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawOrganizationsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def organization_identity(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[OrganizationRead]:
- """
- Retrieves information about the active Organization
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[OrganizationRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/organizations/identity",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- OrganizationRead,
- parse_obj_as(
- type_=OrganizationRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/prompts/__init__.py b/src/vellum/client/resources/prompts/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/prompts/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/prompts/client.py b/src/vellum/client/resources/prompts/client.py
deleted file mode 100644
index be1859badb..0000000000
--- a/src/vellum/client/resources/prompts/client.py
+++ /dev/null
@@ -1,312 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.prompt_exec_config import PromptExecConfig
-from ...types.prompt_push_response import PromptPushResponse
-from .raw_client import AsyncRawPromptsClient, RawPromptsClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class PromptsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawPromptsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawPromptsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawPromptsClient
- """
- return self._raw_client
-
- def pull(
- self,
- id: str,
- *,
- prompt_variant_id: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PromptExecConfig:
- """
- Used to pull the definition of a Prompt from Vellum.
-
- Parameters
- ----------
- id : str
- The ID of the Prompt to pull from. Prompt Sandbox IDs are currently supported.
-
- prompt_variant_id : typing.Optional[str]
- The ID of the Prompt Variant within a Prompt Sandbox to pull. Must be included if providing the ID of a Prompt Sandbox.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PromptExecConfig
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.prompts.pull(
- id="id",
- )
- """
- _response = self._raw_client.pull(id, prompt_variant_id=prompt_variant_id, request_options=request_options)
- return _response.data
-
- def push(
- self,
- *,
- exec_config: PromptExecConfig,
- prompt_variant_id: typing.Optional[str] = OMIT,
- prompt_variant_label: typing.Optional[str] = OMIT,
- prompt_sandbox_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PromptPushResponse:
- """
- Used to push updates to a Prompt in Vellum.
-
- Parameters
- ----------
- exec_config : PromptExecConfig
-
- prompt_variant_id : typing.Optional[str]
- If specified, an existing Prompt Variant by the provided ID will be updated. Otherwise, a new Prompt Variant will be created and an ID generated.
-
- prompt_variant_label : typing.Optional[str]
- If provided, then the created/updated Prompt Variant will have this label.
-
- prompt_sandbox_id : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PromptPushResponse
-
-
- Examples
- --------
- from vellum import (
- JinjaPromptBlock,
- PromptExecConfig,
- PromptParameters,
- Vellum,
- VellumVariable,
- )
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.prompts.push(
- exec_config=PromptExecConfig(
- ml_model="ml_model",
- input_variables=[
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- ],
- parameters=PromptParameters(),
- blocks=[
- JinjaPromptBlock(
- template="template",
- ),
- JinjaPromptBlock(
- template="template",
- ),
- ],
- ),
- )
- """
- _response = self._raw_client.push(
- exec_config=exec_config,
- prompt_variant_id=prompt_variant_id,
- prompt_variant_label=prompt_variant_label,
- prompt_sandbox_id=prompt_sandbox_id,
- request_options=request_options,
- )
- return _response.data
-
-
-class AsyncPromptsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawPromptsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawPromptsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawPromptsClient
- """
- return self._raw_client
-
- async def pull(
- self,
- id: str,
- *,
- prompt_variant_id: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PromptExecConfig:
- """
- Used to pull the definition of a Prompt from Vellum.
-
- Parameters
- ----------
- id : str
- The ID of the Prompt to pull from. Prompt Sandbox IDs are currently supported.
-
- prompt_variant_id : typing.Optional[str]
- The ID of the Prompt Variant within a Prompt Sandbox to pull. Must be included if providing the ID of a Prompt Sandbox.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PromptExecConfig
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.prompts.pull(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.pull(
- id, prompt_variant_id=prompt_variant_id, request_options=request_options
- )
- return _response.data
-
- async def push(
- self,
- *,
- exec_config: PromptExecConfig,
- prompt_variant_id: typing.Optional[str] = OMIT,
- prompt_variant_label: typing.Optional[str] = OMIT,
- prompt_sandbox_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PromptPushResponse:
- """
- Used to push updates to a Prompt in Vellum.
-
- Parameters
- ----------
- exec_config : PromptExecConfig
-
- prompt_variant_id : typing.Optional[str]
- If specified, an existing Prompt Variant by the provided ID will be updated. Otherwise, a new Prompt Variant will be created and an ID generated.
-
- prompt_variant_label : typing.Optional[str]
- If provided, then the created/updated Prompt Variant will have this label.
-
- prompt_sandbox_id : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PromptPushResponse
-
-
- Examples
- --------
- import asyncio
-
- from vellum import (
- AsyncVellum,
- JinjaPromptBlock,
- PromptExecConfig,
- PromptParameters,
- VellumVariable,
- )
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.prompts.push(
- exec_config=PromptExecConfig(
- ml_model="ml_model",
- input_variables=[
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- VellumVariable(
- id="x",
- key="key",
- type="STRING",
- ),
- ],
- parameters=PromptParameters(),
- blocks=[
- JinjaPromptBlock(
- template="template",
- ),
- JinjaPromptBlock(
- template="template",
- ),
- ],
- ),
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.push(
- exec_config=exec_config,
- prompt_variant_id=prompt_variant_id,
- prompt_variant_label=prompt_variant_label,
- prompt_sandbox_id=prompt_sandbox_id,
- request_options=request_options,
- )
- return _response.data
diff --git a/src/vellum/client/resources/prompts/raw_client.py b/src/vellum/client/resources/prompts/raw_client.py
deleted file mode 100644
index d7642128a3..0000000000
--- a/src/vellum/client/resources/prompts/raw_client.py
+++ /dev/null
@@ -1,353 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...core.serialization import convert_and_respect_annotation_metadata
-from ...errors.bad_request_error import BadRequestError
-from ...errors.not_found_error import NotFoundError
-from ...types.prompt_exec_config import PromptExecConfig
-from ...types.prompt_push_response import PromptPushResponse
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawPromptsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def pull(
- self,
- id: str,
- *,
- prompt_variant_id: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PromptExecConfig]:
- """
- Used to pull the definition of a Prompt from Vellum.
-
- Parameters
- ----------
- id : str
- The ID of the Prompt to pull from. Prompt Sandbox IDs are currently supported.
-
- prompt_variant_id : typing.Optional[str]
- The ID of the Prompt Variant within a Prompt Sandbox to pull. Must be included if providing the ID of a Prompt Sandbox.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PromptExecConfig]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/prompts/{jsonable_encoder(id)}/pull",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "prompt_variant_id": prompt_variant_id,
- },
- headers={
- "Accept": "application/json",
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PromptExecConfig,
- parse_obj_as(
- type_=PromptExecConfig, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def push(
- self,
- *,
- exec_config: PromptExecConfig,
- prompt_variant_id: typing.Optional[str] = OMIT,
- prompt_variant_label: typing.Optional[str] = OMIT,
- prompt_sandbox_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PromptPushResponse]:
- """
- Used to push updates to a Prompt in Vellum.
-
- Parameters
- ----------
- exec_config : PromptExecConfig
-
- prompt_variant_id : typing.Optional[str]
- If specified, an existing Prompt Variant by the provided ID will be updated. Otherwise, a new Prompt Variant will be created and an ID generated.
-
- prompt_variant_label : typing.Optional[str]
- If provided, then the created/updated Prompt Variant will have this label.
-
- prompt_sandbox_id : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PromptPushResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/prompts/push",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "prompt_variant_id": prompt_variant_id,
- "prompt_variant_label": prompt_variant_label,
- "prompt_sandbox_id": prompt_sandbox_id,
- "exec_config": convert_and_respect_annotation_metadata(
- object_=exec_config, annotation=PromptExecConfig, direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PromptPushResponse,
- parse_obj_as(
- type_=PromptPushResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawPromptsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def pull(
- self,
- id: str,
- *,
- prompt_variant_id: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PromptExecConfig]:
- """
- Used to pull the definition of a Prompt from Vellum.
-
- Parameters
- ----------
- id : str
- The ID of the Prompt to pull from. Prompt Sandbox IDs are currently supported.
-
- prompt_variant_id : typing.Optional[str]
- The ID of the Prompt Variant within a Prompt Sandbox to pull. Must be included if providing the ID of a Prompt Sandbox.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PromptExecConfig]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/prompts/{jsonable_encoder(id)}/pull",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "prompt_variant_id": prompt_variant_id,
- },
- headers={
- "Accept": "application/json",
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PromptExecConfig,
- parse_obj_as(
- type_=PromptExecConfig, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def push(
- self,
- *,
- exec_config: PromptExecConfig,
- prompt_variant_id: typing.Optional[str] = OMIT,
- prompt_variant_label: typing.Optional[str] = OMIT,
- prompt_sandbox_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PromptPushResponse]:
- """
- Used to push updates to a Prompt in Vellum.
-
- Parameters
- ----------
- exec_config : PromptExecConfig
-
- prompt_variant_id : typing.Optional[str]
- If specified, an existing Prompt Variant by the provided ID will be updated. Otherwise, a new Prompt Variant will be created and an ID generated.
-
- prompt_variant_label : typing.Optional[str]
- If provided, then the created/updated Prompt Variant will have this label.
-
- prompt_sandbox_id : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PromptPushResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/prompts/push",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "prompt_variant_id": prompt_variant_id,
- "prompt_variant_label": prompt_variant_label,
- "prompt_sandbox_id": prompt_sandbox_id,
- "exec_config": convert_and_respect_annotation_metadata(
- object_=exec_config, annotation=PromptExecConfig, direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PromptPushResponse,
- parse_obj_as(
- type_=PromptPushResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/sandboxes/__init__.py b/src/vellum/client/resources/sandboxes/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/sandboxes/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/sandboxes/client.py b/src/vellum/client/resources/sandboxes/client.py
deleted file mode 100644
index 7d2a59c1bb..0000000000
--- a/src/vellum/client/resources/sandboxes/client.py
+++ /dev/null
@@ -1,413 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.deployment_read import DeploymentRead
-from ...types.named_scenario_input_request import NamedScenarioInputRequest
-from ...types.sandbox_scenario import SandboxScenario
-from .raw_client import AsyncRawSandboxesClient, RawSandboxesClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class SandboxesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawSandboxesClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawSandboxesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawSandboxesClient
- """
- return self._raw_client
-
- def deploy_prompt(
- self,
- id: str,
- prompt_variant_id: str,
- *,
- prompt_deployment_id: typing.Optional[str] = OMIT,
- prompt_deployment_name: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
- release_description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DeploymentRead:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- prompt_variant_id : str
- An ID identifying the Prompt you'd like to deploy.
-
- prompt_deployment_id : typing.Optional[str]
- The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment.
-
- prompt_deployment_name : typing.Optional[str]
- The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
-
- label : typing.Optional[str]
- In the event that a new Prompt Deployment is created, this will be the label it's given.
-
- release_tags : typing.Optional[typing.Sequence[str]]
- Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
-
- release_description : typing.Optional[str]
- Optionally provide a description that details what's new in this Release.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.sandboxes.deploy_prompt(
- id="id",
- prompt_variant_id="prompt_variant_id",
- )
- """
- _response = self._raw_client.deploy_prompt(
- id,
- prompt_variant_id,
- prompt_deployment_id=prompt_deployment_id,
- prompt_deployment_name=prompt_deployment_name,
- label=label,
- release_tags=release_tags,
- release_description=release_description,
- request_options=request_options,
- )
- return _response.data
-
- def upsert_sandbox_scenario(
- self,
- id: str,
- *,
- inputs: typing.Sequence[NamedScenarioInputRequest],
- label: typing.Optional[str] = OMIT,
- scenario_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> SandboxScenario:
- """
- Upserts a new scenario for a sandbox, keying off of the optionally provided scenario id.
-
- If an id is provided and has a match, the scenario will be updated. If no id is provided or no match
- is found, a new scenario will be appended to the end.
-
- Note that a full replacement of the scenario is performed, so any fields not provided will be removed
- or overwritten with default values.
-
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- inputs : typing.Sequence[NamedScenarioInputRequest]
- The inputs for the scenario
-
- label : typing.Optional[str]
-
- scenario_id : typing.Optional[str]
- The id of the scenario to update. If none is provided, an id will be generated and a new scenario will be appended.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- SandboxScenario
-
-
- Examples
- --------
- from vellum import NamedScenarioInputStringVariableValueRequest, Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.sandboxes.upsert_sandbox_scenario(
- id="id",
- inputs=[
- NamedScenarioInputStringVariableValueRequest(
- name="x",
- ),
- NamedScenarioInputStringVariableValueRequest(
- name="x",
- ),
- ],
- )
- """
- _response = self._raw_client.upsert_sandbox_scenario(
- id, inputs=inputs, label=label, scenario_id=scenario_id, request_options=request_options
- )
- return _response.data
-
- def delete_sandbox_scenario(
- self, id: str, scenario_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> None:
- """
- Deletes an existing scenario from a sandbox, keying off of the provided scenario id.
-
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- scenario_id : str
- An id identifying the scenario that you'd like to delete
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.sandboxes.delete_sandbox_scenario(
- id="id",
- scenario_id="scenario_id",
- )
- """
- _response = self._raw_client.delete_sandbox_scenario(id, scenario_id, request_options=request_options)
- return _response.data
-
-
-class AsyncSandboxesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawSandboxesClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawSandboxesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawSandboxesClient
- """
- return self._raw_client
-
- async def deploy_prompt(
- self,
- id: str,
- prompt_variant_id: str,
- *,
- prompt_deployment_id: typing.Optional[str] = OMIT,
- prompt_deployment_name: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
- release_description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> DeploymentRead:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- prompt_variant_id : str
- An ID identifying the Prompt you'd like to deploy.
-
- prompt_deployment_id : typing.Optional[str]
- The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment.
-
- prompt_deployment_name : typing.Optional[str]
- The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
-
- label : typing.Optional[str]
- In the event that a new Prompt Deployment is created, this will be the label it's given.
-
- release_tags : typing.Optional[typing.Sequence[str]]
- Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
-
- release_description : typing.Optional[str]
- Optionally provide a description that details what's new in this Release.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- DeploymentRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.sandboxes.deploy_prompt(
- id="id",
- prompt_variant_id="prompt_variant_id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.deploy_prompt(
- id,
- prompt_variant_id,
- prompt_deployment_id=prompt_deployment_id,
- prompt_deployment_name=prompt_deployment_name,
- label=label,
- release_tags=release_tags,
- release_description=release_description,
- request_options=request_options,
- )
- return _response.data
-
- async def upsert_sandbox_scenario(
- self,
- id: str,
- *,
- inputs: typing.Sequence[NamedScenarioInputRequest],
- label: typing.Optional[str] = OMIT,
- scenario_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> SandboxScenario:
- """
- Upserts a new scenario for a sandbox, keying off of the optionally provided scenario id.
-
- If an id is provided and has a match, the scenario will be updated. If no id is provided or no match
- is found, a new scenario will be appended to the end.
-
- Note that a full replacement of the scenario is performed, so any fields not provided will be removed
- or overwritten with default values.
-
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- inputs : typing.Sequence[NamedScenarioInputRequest]
- The inputs for the scenario
-
- label : typing.Optional[str]
-
- scenario_id : typing.Optional[str]
- The id of the scenario to update. If none is provided, an id will be generated and a new scenario will be appended.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- SandboxScenario
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum, NamedScenarioInputStringVariableValueRequest
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.sandboxes.upsert_sandbox_scenario(
- id="id",
- inputs=[
- NamedScenarioInputStringVariableValueRequest(
- name="x",
- ),
- NamedScenarioInputStringVariableValueRequest(
- name="x",
- ),
- ],
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.upsert_sandbox_scenario(
- id, inputs=inputs, label=label, scenario_id=scenario_id, request_options=request_options
- )
- return _response.data
-
- async def delete_sandbox_scenario(
- self, id: str, scenario_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> None:
- """
- Deletes an existing scenario from a sandbox, keying off of the provided scenario id.
-
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- scenario_id : str
- An id identifying the scenario that you'd like to delete
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.sandboxes.delete_sandbox_scenario(
- id="id",
- scenario_id="scenario_id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.delete_sandbox_scenario(id, scenario_id, request_options=request_options)
- return _response.data
diff --git a/src/vellum/client/resources/sandboxes/raw_client.py b/src/vellum/client/resources/sandboxes/raw_client.py
deleted file mode 100644
index 821d493c3c..0000000000
--- a/src/vellum/client/resources/sandboxes/raw_client.py
+++ /dev/null
@@ -1,392 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...core.serialization import convert_and_respect_annotation_metadata
-from ...types.deployment_read import DeploymentRead
-from ...types.named_scenario_input_request import NamedScenarioInputRequest
-from ...types.sandbox_scenario import SandboxScenario
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawSandboxesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def deploy_prompt(
- self,
- id: str,
- prompt_variant_id: str,
- *,
- prompt_deployment_id: typing.Optional[str] = OMIT,
- prompt_deployment_name: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
- release_description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[DeploymentRead]:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- prompt_variant_id : str
- An ID identifying the Prompt you'd like to deploy.
-
- prompt_deployment_id : typing.Optional[str]
- The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment.
-
- prompt_deployment_name : typing.Optional[str]
- The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
-
- label : typing.Optional[str]
- In the event that a new Prompt Deployment is created, this will be the label it's given.
-
- release_tags : typing.Optional[typing.Sequence[str]]
- Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
-
- release_description : typing.Optional[str]
- Optionally provide a description that details what's new in this Release.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[DeploymentRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/sandboxes/{jsonable_encoder(id)}/prompts/{jsonable_encoder(prompt_variant_id)}/deploy",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "prompt_deployment_id": prompt_deployment_id,
- "prompt_deployment_name": prompt_deployment_name,
- "label": label,
- "release_tags": release_tags,
- "release_description": release_description,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentRead,
- parse_obj_as(
- type_=DeploymentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def upsert_sandbox_scenario(
- self,
- id: str,
- *,
- inputs: typing.Sequence[NamedScenarioInputRequest],
- label: typing.Optional[str] = OMIT,
- scenario_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[SandboxScenario]:
- """
- Upserts a new scenario for a sandbox, keying off of the optionally provided scenario id.
-
- If an id is provided and has a match, the scenario will be updated. If no id is provided or no match
- is found, a new scenario will be appended to the end.
-
- Note that a full replacement of the scenario is performed, so any fields not provided will be removed
- or overwritten with default values.
-
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- inputs : typing.Sequence[NamedScenarioInputRequest]
- The inputs for the scenario
-
- label : typing.Optional[str]
-
- scenario_id : typing.Optional[str]
- The id of the scenario to update. If none is provided, an id will be generated and a new scenario will be appended.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[SandboxScenario]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/sandboxes/{jsonable_encoder(id)}/scenarios",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "label": label,
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[NamedScenarioInputRequest], direction="write"
- ),
- "scenario_id": scenario_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- SandboxScenario,
- parse_obj_as(
- type_=SandboxScenario, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def delete_sandbox_scenario(
- self, id: str, scenario_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[None]:
- """
- Deletes an existing scenario from a sandbox, keying off of the provided scenario id.
-
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- scenario_id : str
- An id identifying the scenario that you'd like to delete
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[None]
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/sandboxes/{jsonable_encoder(id)}/scenarios/{jsonable_encoder(scenario_id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return HttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawSandboxesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def deploy_prompt(
- self,
- id: str,
- prompt_variant_id: str,
- *,
- prompt_deployment_id: typing.Optional[str] = OMIT,
- prompt_deployment_name: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
- release_description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[DeploymentRead]:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- prompt_variant_id : str
- An ID identifying the Prompt you'd like to deploy.
-
- prompt_deployment_id : typing.Optional[str]
- The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment.
-
- prompt_deployment_name : typing.Optional[str]
- The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
-
- label : typing.Optional[str]
- In the event that a new Prompt Deployment is created, this will be the label it's given.
-
- release_tags : typing.Optional[typing.Sequence[str]]
- Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
-
- release_description : typing.Optional[str]
- Optionally provide a description that details what's new in this Release.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[DeploymentRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/sandboxes/{jsonable_encoder(id)}/prompts/{jsonable_encoder(prompt_variant_id)}/deploy",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "prompt_deployment_id": prompt_deployment_id,
- "prompt_deployment_name": prompt_deployment_name,
- "label": label,
- "release_tags": release_tags,
- "release_description": release_description,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- DeploymentRead,
- parse_obj_as(
- type_=DeploymentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def upsert_sandbox_scenario(
- self,
- id: str,
- *,
- inputs: typing.Sequence[NamedScenarioInputRequest],
- label: typing.Optional[str] = OMIT,
- scenario_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[SandboxScenario]:
- """
- Upserts a new scenario for a sandbox, keying off of the optionally provided scenario id.
-
- If an id is provided and has a match, the scenario will be updated. If no id is provided or no match
- is found, a new scenario will be appended to the end.
-
- Note that a full replacement of the scenario is performed, so any fields not provided will be removed
- or overwritten with default values.
-
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- inputs : typing.Sequence[NamedScenarioInputRequest]
- The inputs for the scenario
-
- label : typing.Optional[str]
-
- scenario_id : typing.Optional[str]
- The id of the scenario to update. If none is provided, an id will be generated and a new scenario will be appended.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[SandboxScenario]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/sandboxes/{jsonable_encoder(id)}/scenarios",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "label": label,
- "inputs": convert_and_respect_annotation_metadata(
- object_=inputs, annotation=typing.Sequence[NamedScenarioInputRequest], direction="write"
- ),
- "scenario_id": scenario_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- SandboxScenario,
- parse_obj_as(
- type_=SandboxScenario, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def delete_sandbox_scenario(
- self, id: str, scenario_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[None]:
- """
- Deletes an existing scenario from a sandbox, keying off of the provided scenario id.
-
- Parameters
- ----------
- id : str
- A UUID string identifying this sandbox.
-
- scenario_id : str
- An id identifying the scenario that you'd like to delete
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[None]
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/sandboxes/{jsonable_encoder(id)}/scenarios/{jsonable_encoder(scenario_id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return AsyncHttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/test_suite_runs/__init__.py b/src/vellum/client/resources/test_suite_runs/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/test_suite_runs/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/test_suite_runs/client.py b/src/vellum/client/resources/test_suite_runs/client.py
deleted file mode 100644
index 22598c084b..0000000000
--- a/src/vellum/client/resources/test_suite_runs/client.py
+++ /dev/null
@@ -1,357 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.paginated_test_suite_run_execution_list import PaginatedTestSuiteRunExecutionList
-from ...types.test_suite_run_exec_config_request import TestSuiteRunExecConfigRequest
-from ...types.test_suite_run_read import TestSuiteRunRead
-from .raw_client import AsyncRawTestSuiteRunsClient, RawTestSuiteRunsClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class TestSuiteRunsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawTestSuiteRunsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawTestSuiteRunsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawTestSuiteRunsClient
- """
- return self._raw_client
-
- def create(
- self,
- *,
- exec_config: TestSuiteRunExecConfigRequest,
- test_suite_id: typing.Optional[str] = OMIT,
- test_suite_name: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> TestSuiteRunRead:
- """
- Trigger a Test Suite and create a new Test Suite Run
-
- Parameters
- ----------
- exec_config : TestSuiteRunExecConfigRequest
- Configuration that defines how the Test Suite should be run
-
- test_suite_id : typing.Optional[str]
- The ID of the Test Suite to run. Must provide either this or test_suite_id.
-
- test_suite_name : typing.Optional[str]
- The name of the Test Suite to run. Must provide either this or test_suite_id.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- TestSuiteRunRead
-
-
- Examples
- --------
- from vellum import (
- TestSuiteRunDeploymentReleaseTagExecConfigDataRequest,
- TestSuiteRunDeploymentReleaseTagExecConfigRequest,
- Vellum,
- )
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.test_suite_runs.create(
- exec_config=TestSuiteRunDeploymentReleaseTagExecConfigRequest(
- data=TestSuiteRunDeploymentReleaseTagExecConfigDataRequest(
- deployment_id="deployment_id",
- ),
- ),
- )
- """
- _response = self._raw_client.create(
- exec_config=exec_config,
- test_suite_id=test_suite_id,
- test_suite_name=test_suite_name,
- request_options=request_options,
- )
- return _response.data
-
- def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> TestSuiteRunRead:
- """
- Retrieve a specific Test Suite Run by ID
-
- Parameters
- ----------
- id : str
- A UUID string identifying this test suite run.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- TestSuiteRunRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.test_suite_runs.retrieve(
- id="id",
- )
- """
- _response = self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- def list_executions(
- self,
- id: str,
- *,
- expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedTestSuiteRunExecutionList:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this test suite run.
-
- expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
- The response fields to expand for more information.
- - 'metric_results.metric_label' expands the metric label for each metric result.
- - 'metric_results.metric_definition' expands the metric definition for each metric result.
- - 'metric_results.metric_definition.name' expands the metric definition name for each metric result.
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedTestSuiteRunExecutionList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.test_suite_runs.list_executions(
- id="id",
- )
- """
- _response = self._raw_client.list_executions(
- id, expand=expand, limit=limit, offset=offset, request_options=request_options
- )
- return _response.data
-
-
-class AsyncTestSuiteRunsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawTestSuiteRunsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawTestSuiteRunsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawTestSuiteRunsClient
- """
- return self._raw_client
-
- async def create(
- self,
- *,
- exec_config: TestSuiteRunExecConfigRequest,
- test_suite_id: typing.Optional[str] = OMIT,
- test_suite_name: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> TestSuiteRunRead:
- """
- Trigger a Test Suite and create a new Test Suite Run
-
- Parameters
- ----------
- exec_config : TestSuiteRunExecConfigRequest
- Configuration that defines how the Test Suite should be run
-
- test_suite_id : typing.Optional[str]
- The ID of the Test Suite to run. Must provide either this or test_suite_id.
-
- test_suite_name : typing.Optional[str]
- The name of the Test Suite to run. Must provide either this or test_suite_id.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- TestSuiteRunRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import (
- AsyncVellum,
- TestSuiteRunDeploymentReleaseTagExecConfigDataRequest,
- TestSuiteRunDeploymentReleaseTagExecConfigRequest,
- )
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.test_suite_runs.create(
- exec_config=TestSuiteRunDeploymentReleaseTagExecConfigRequest(
- data=TestSuiteRunDeploymentReleaseTagExecConfigDataRequest(
- deployment_id="deployment_id",
- ),
- ),
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.create(
- exec_config=exec_config,
- test_suite_id=test_suite_id,
- test_suite_name=test_suite_name,
- request_options=request_options,
- )
- return _response.data
-
- async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> TestSuiteRunRead:
- """
- Retrieve a specific Test Suite Run by ID
-
- Parameters
- ----------
- id : str
- A UUID string identifying this test suite run.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- TestSuiteRunRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.test_suite_runs.retrieve(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- async def list_executions(
- self,
- id: str,
- *,
- expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedTestSuiteRunExecutionList:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this test suite run.
-
- expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
- The response fields to expand for more information.
- - 'metric_results.metric_label' expands the metric label for each metric result.
- - 'metric_results.metric_definition' expands the metric definition for each metric result.
- - 'metric_results.metric_definition.name' expands the metric definition name for each metric result.
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedTestSuiteRunExecutionList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.test_suite_runs.list_executions(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list_executions(
- id, expand=expand, limit=limit, offset=offset, request_options=request_options
- )
- return _response.data
diff --git a/src/vellum/client/resources/test_suite_runs/raw_client.py b/src/vellum/client/resources/test_suite_runs/raw_client.py
deleted file mode 100644
index a8f005b987..0000000000
--- a/src/vellum/client/resources/test_suite_runs/raw_client.py
+++ /dev/null
@@ -1,354 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...core.serialization import convert_and_respect_annotation_metadata
-from ...types.paginated_test_suite_run_execution_list import PaginatedTestSuiteRunExecutionList
-from ...types.test_suite_run_exec_config_request import TestSuiteRunExecConfigRequest
-from ...types.test_suite_run_read import TestSuiteRunRead
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawTestSuiteRunsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def create(
- self,
- *,
- exec_config: TestSuiteRunExecConfigRequest,
- test_suite_id: typing.Optional[str] = OMIT,
- test_suite_name: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[TestSuiteRunRead]:
- """
- Trigger a Test Suite and create a new Test Suite Run
-
- Parameters
- ----------
- exec_config : TestSuiteRunExecConfigRequest
- Configuration that defines how the Test Suite should be run
-
- test_suite_id : typing.Optional[str]
- The ID of the Test Suite to run. Must provide either this or test_suite_id.
-
- test_suite_name : typing.Optional[str]
- The name of the Test Suite to run. Must provide either this or test_suite_id.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[TestSuiteRunRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/test-suite-runs",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "test_suite_id": test_suite_id,
- "test_suite_name": test_suite_name,
- "exec_config": convert_and_respect_annotation_metadata(
- object_=exec_config, annotation=TestSuiteRunExecConfigRequest, direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- TestSuiteRunRead,
- parse_obj_as(
- type_=TestSuiteRunRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[TestSuiteRunRead]:
- """
- Retrieve a specific Test Suite Run by ID
-
- Parameters
- ----------
- id : str
- A UUID string identifying this test suite run.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[TestSuiteRunRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/test-suite-runs/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- TestSuiteRunRead,
- parse_obj_as(
- type_=TestSuiteRunRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def list_executions(
- self,
- id: str,
- *,
- expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedTestSuiteRunExecutionList]:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this test suite run.
-
- expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
- The response fields to expand for more information.
- - 'metric_results.metric_label' expands the metric label for each metric result.
- - 'metric_results.metric_definition' expands the metric definition for each metric result.
- - 'metric_results.metric_definition.name' expands the metric definition name for each metric result.
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedTestSuiteRunExecutionList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/test-suite-runs/{jsonable_encoder(id)}/executions",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "expand": expand,
- "limit": limit,
- "offset": offset,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedTestSuiteRunExecutionList,
- parse_obj_as(
- type_=PaginatedTestSuiteRunExecutionList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawTestSuiteRunsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def create(
- self,
- *,
- exec_config: TestSuiteRunExecConfigRequest,
- test_suite_id: typing.Optional[str] = OMIT,
- test_suite_name: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[TestSuiteRunRead]:
- """
- Trigger a Test Suite and create a new Test Suite Run
-
- Parameters
- ----------
- exec_config : TestSuiteRunExecConfigRequest
- Configuration that defines how the Test Suite should be run
-
- test_suite_id : typing.Optional[str]
- The ID of the Test Suite to run. Must provide either this or test_suite_id.
-
- test_suite_name : typing.Optional[str]
- The name of the Test Suite to run. Must provide either this or test_suite_id.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[TestSuiteRunRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/test-suite-runs",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "test_suite_id": test_suite_id,
- "test_suite_name": test_suite_name,
- "exec_config": convert_and_respect_annotation_metadata(
- object_=exec_config, annotation=TestSuiteRunExecConfigRequest, direction="write"
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- TestSuiteRunRead,
- parse_obj_as(
- type_=TestSuiteRunRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[TestSuiteRunRead]:
- """
- Retrieve a specific Test Suite Run by ID
-
- Parameters
- ----------
- id : str
- A UUID string identifying this test suite run.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[TestSuiteRunRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/test-suite-runs/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- TestSuiteRunRead,
- parse_obj_as(
- type_=TestSuiteRunRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def list_executions(
- self,
- id: str,
- *,
- expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedTestSuiteRunExecutionList]:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this test suite run.
-
- expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
- The response fields to expand for more information.
- - 'metric_results.metric_label' expands the metric label for each metric result.
- - 'metric_results.metric_definition' expands the metric definition for each metric result.
- - 'metric_results.metric_definition.name' expands the metric definition name for each metric result.
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedTestSuiteRunExecutionList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/test-suite-runs/{jsonable_encoder(id)}/executions",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "expand": expand,
- "limit": limit,
- "offset": offset,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedTestSuiteRunExecutionList,
- parse_obj_as(
- type_=PaginatedTestSuiteRunExecutionList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/test_suites/__init__.py b/src/vellum/client/resources/test_suites/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/test_suites/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/test_suites/client.py b/src/vellum/client/resources/test_suites/client.py
deleted file mode 100644
index 7e3b04b85f..0000000000
--- a/src/vellum/client/resources/test_suites/client.py
+++ /dev/null
@@ -1,612 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
-from ...types.paginated_test_suite_test_case_list import PaginatedTestSuiteTestCaseList
-from ...types.test_suite_test_case import TestSuiteTestCase
-from ...types.test_suite_test_case_bulk_operation_request import TestSuiteTestCaseBulkOperationRequest
-from ...types.test_suite_test_case_bulk_result import TestSuiteTestCaseBulkResult
-from .raw_client import AsyncRawTestSuitesClient, RawTestSuitesClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class TestSuitesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawTestSuitesClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawTestSuitesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawTestSuitesClient
- """
- return self._raw_client
-
- def list_test_suite_test_cases(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedTestSuiteTestCaseList:
- """
- List the Test Cases associated with a Test Suite
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedTestSuiteTestCaseList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.test_suites.list_test_suite_test_cases(
- id="id",
- )
- """
- _response = self._raw_client.list_test_suite_test_cases(
- id, limit=limit, offset=offset, request_options=request_options
- )
- return _response.data
-
- def upsert_test_suite_test_case(
- self,
- id_: str,
- *,
- input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
- evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
- id: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> TestSuiteTestCase:
- """
- Upserts a new test case for a test suite, keying off of the optionally provided test case id.
-
- If an id is provided and has a match, the test case will be updated. If no id is provided or no match
- is found, a new test case will be appended to the end.
-
- Note that a full replacement of the test case is performed, so any fields not provided will be removed
- or overwritten with default values.
-
- Parameters
- ----------
- id_ : str
- Either the Test Suites' ID or its unique name
-
- input_values : typing.Sequence[NamedTestCaseVariableValueRequest]
- Values for each of the Test Case's input variables
-
- evaluation_values : typing.Sequence[NamedTestCaseVariableValueRequest]
- Values for each of the Test Case's evaluation variables
-
- id : typing.Optional[str]
- The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
-
- external_id : typing.Optional[str]
- An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
-
- label : typing.Optional[str]
- A human-readable label used to convey the intention of this Test Case
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- TestSuiteTestCase
-
-
- Examples
- --------
- from vellum import NamedTestCaseStringVariableValueRequest, Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.test_suites.upsert_test_suite_test_case(
- id_="id",
- input_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- evaluation_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- )
- """
- _response = self._raw_client.upsert_test_suite_test_case(
- id_,
- input_values=input_values,
- evaluation_values=evaluation_values,
- id=id,
- external_id=external_id,
- label=label,
- request_options=request_options,
- )
- return _response.data
-
- def test_suite_test_cases_bulk(
- self,
- id: str,
- *,
- request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest],
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]:
- """
- Created, replace, and delete Test Cases within the specified Test Suite in bulk
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- request : typing.Sequence[TestSuiteTestCaseBulkOperationRequest]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]
-
-
- Examples
- --------
- from vellum import (
- CreateTestSuiteTestCaseRequest,
- NamedTestCaseStringVariableValueRequest,
- TestSuiteTestCaseCreateBulkOperationRequest,
- Vellum,
- )
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- response = client.test_suites.test_suite_test_cases_bulk(
- id="id",
- request=[
- TestSuiteTestCaseCreateBulkOperationRequest(
- id="id",
- data=CreateTestSuiteTestCaseRequest(
- input_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- evaluation_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- ),
- ),
- TestSuiteTestCaseCreateBulkOperationRequest(
- id="id",
- data=CreateTestSuiteTestCaseRequest(
- input_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- evaluation_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- ),
- ),
- ],
- )
- for chunk in response:
- yield chunk
- """
- with self._raw_client.test_suite_test_cases_bulk(id, request=request, request_options=request_options) as r:
- yield from r.data
-
- def delete_test_suite_test_case(
- self, id: str, test_case_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> None:
- """
- Deletes an existing test case for a test suite, keying off of the test case id.
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- test_case_id : str
- An id identifying the test case that you'd like to delete
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.test_suites.delete_test_suite_test_case(
- id="id",
- test_case_id="test_case_id",
- )
- """
- _response = self._raw_client.delete_test_suite_test_case(id, test_case_id, request_options=request_options)
- return _response.data
-
-
-class AsyncTestSuitesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawTestSuitesClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawTestSuitesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawTestSuitesClient
- """
- return self._raw_client
-
- async def list_test_suite_test_cases(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedTestSuiteTestCaseList:
- """
- List the Test Cases associated with a Test Suite
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedTestSuiteTestCaseList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.test_suites.list_test_suite_test_cases(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list_test_suite_test_cases(
- id, limit=limit, offset=offset, request_options=request_options
- )
- return _response.data
-
- async def upsert_test_suite_test_case(
- self,
- id_: str,
- *,
- input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
- evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
- id: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> TestSuiteTestCase:
- """
- Upserts a new test case for a test suite, keying off of the optionally provided test case id.
-
- If an id is provided and has a match, the test case will be updated. If no id is provided or no match
- is found, a new test case will be appended to the end.
-
- Note that a full replacement of the test case is performed, so any fields not provided will be removed
- or overwritten with default values.
-
- Parameters
- ----------
- id_ : str
- Either the Test Suites' ID or its unique name
-
- input_values : typing.Sequence[NamedTestCaseVariableValueRequest]
- Values for each of the Test Case's input variables
-
- evaluation_values : typing.Sequence[NamedTestCaseVariableValueRequest]
- Values for each of the Test Case's evaluation variables
-
- id : typing.Optional[str]
- The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
-
- external_id : typing.Optional[str]
- An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
-
- label : typing.Optional[str]
- A human-readable label used to convey the intention of this Test Case
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- TestSuiteTestCase
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum, NamedTestCaseStringVariableValueRequest
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.test_suites.upsert_test_suite_test_case(
- id_="id",
- input_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- evaluation_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.upsert_test_suite_test_case(
- id_,
- input_values=input_values,
- evaluation_values=evaluation_values,
- id=id,
- external_id=external_id,
- label=label,
- request_options=request_options,
- )
- return _response.data
-
- async def test_suite_test_cases_bulk(
- self,
- id: str,
- *,
- request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest],
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]:
- """
- Created, replace, and delete Test Cases within the specified Test Suite in bulk
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- request : typing.Sequence[TestSuiteTestCaseBulkOperationRequest]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]
-
-
- Examples
- --------
- import asyncio
-
- from vellum import (
- AsyncVellum,
- CreateTestSuiteTestCaseRequest,
- NamedTestCaseStringVariableValueRequest,
- TestSuiteTestCaseCreateBulkOperationRequest,
- )
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- response = await client.test_suites.test_suite_test_cases_bulk(
- id="id",
- request=[
- TestSuiteTestCaseCreateBulkOperationRequest(
- id="id",
- data=CreateTestSuiteTestCaseRequest(
- input_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- evaluation_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- ),
- ),
- TestSuiteTestCaseCreateBulkOperationRequest(
- id="id",
- data=CreateTestSuiteTestCaseRequest(
- input_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- evaluation_values=[
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- NamedTestCaseStringVariableValueRequest(
- name="x",
- ),
- ],
- ),
- ),
- ],
- )
- async for chunk in response:
- yield chunk
-
-
- asyncio.run(main())
- """
- async with self._raw_client.test_suite_test_cases_bulk(
- id, request=request, request_options=request_options
- ) as r:
- async for _chunk in r.data:
- yield _chunk
-
- async def delete_test_suite_test_case(
- self, id: str, test_case_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> None:
- """
- Deletes an existing test case for a test suite, keying off of the test case id.
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- test_case_id : str
- An id identifying the test case that you'd like to delete
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- None
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.test_suites.delete_test_suite_test_case(
- id="id",
- test_case_id="test_case_id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.delete_test_suite_test_case(
- id, test_case_id, request_options=request_options
- )
- return _response.data
diff --git a/src/vellum/client/resources/test_suites/raw_client.py b/src/vellum/client/resources/test_suites/raw_client.py
deleted file mode 100644
index 0aa3dcb5c1..0000000000
--- a/src/vellum/client/resources/test_suites/raw_client.py
+++ /dev/null
@@ -1,530 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import contextlib
-import json
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...core.serialization import convert_and_respect_annotation_metadata
-from ...types.named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
-from ...types.paginated_test_suite_test_case_list import PaginatedTestSuiteTestCaseList
-from ...types.test_suite_test_case import TestSuiteTestCase
-from ...types.test_suite_test_case_bulk_operation_request import TestSuiteTestCaseBulkOperationRequest
-from ...types.test_suite_test_case_bulk_result import TestSuiteTestCaseBulkResult
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawTestSuitesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def list_test_suite_test_cases(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedTestSuiteTestCaseList]:
- """
- List the Test Cases associated with a Test Suite
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedTestSuiteTestCaseList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/test-suites/{jsonable_encoder(id)}/test-cases",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedTestSuiteTestCaseList,
- parse_obj_as(
- type_=PaginatedTestSuiteTestCaseList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def upsert_test_suite_test_case(
- self,
- id_: str,
- *,
- input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
- evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
- id: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[TestSuiteTestCase]:
- """
- Upserts a new test case for a test suite, keying off of the optionally provided test case id.
-
- If an id is provided and has a match, the test case will be updated. If no id is provided or no match
- is found, a new test case will be appended to the end.
-
- Note that a full replacement of the test case is performed, so any fields not provided will be removed
- or overwritten with default values.
-
- Parameters
- ----------
- id_ : str
- Either the Test Suites' ID or its unique name
-
- input_values : typing.Sequence[NamedTestCaseVariableValueRequest]
- Values for each of the Test Case's input variables
-
- evaluation_values : typing.Sequence[NamedTestCaseVariableValueRequest]
- Values for each of the Test Case's evaluation variables
-
- id : typing.Optional[str]
- The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
-
- external_id : typing.Optional[str]
- An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
-
- label : typing.Optional[str]
- A human-readable label used to convey the intention of this Test Case
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[TestSuiteTestCase]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/test-suites/{jsonable_encoder(id_)}/test-cases",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "id": id,
- "external_id": external_id,
- "label": label,
- "input_values": convert_and_respect_annotation_metadata(
- object_=input_values,
- annotation=typing.Sequence[NamedTestCaseVariableValueRequest],
- direction="write",
- ),
- "evaluation_values": convert_and_respect_annotation_metadata(
- object_=evaluation_values,
- annotation=typing.Sequence[NamedTestCaseVariableValueRequest],
- direction="write",
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- TestSuiteTestCase,
- parse_obj_as(
- type_=TestSuiteTestCase, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- @contextlib.contextmanager
- def test_suite_test_cases_bulk(
- self,
- id: str,
- *,
- request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest],
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Iterator[HttpResponse[typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]]]:
- """
- Created, replace, and delete Test Cases within the specified Test Suite in bulk
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- request : typing.Sequence[TestSuiteTestCaseBulkOperationRequest]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.Iterator[HttpResponse[typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]]]
-
- """
- with self._client_wrapper.httpx_client.stream(
- f"v1/test-suites/{jsonable_encoder(id)}/test-cases-bulk",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json=convert_and_respect_annotation_metadata(
- object_=request, annotation=typing.Sequence[TestSuiteTestCaseBulkOperationRequest], direction="write"
- ),
- headers={
- "content-type": "application/x-ndjson",
- },
- request_options=request_options,
- omit=OMIT,
- ) as _response:
-
- def _stream() -> HttpResponse[typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]]:
- try:
- if 200 <= _response.status_code < 300:
-
- def _iter():
- for _text in _response.iter_lines():
- try:
- if len(_text) == 0:
- continue
- yield typing.cast(
- typing.List[TestSuiteTestCaseBulkResult],
- parse_obj_as(
- type_=typing.List[TestSuiteTestCaseBulkResult], # type: ignore
- object_=json.loads(_text),
- ),
- )
- except Exception:
- pass
- return
-
- return HttpResponse(response=_response, data=_iter())
- _response.read()
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield _stream()
-
- def delete_test_suite_test_case(
- self, id: str, test_case_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[None]:
- """
- Deletes an existing test case for a test suite, keying off of the test case id.
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- test_case_id : str
- An id identifying the test case that you'd like to delete
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[None]
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/test-suites/{jsonable_encoder(id)}/test-cases/{jsonable_encoder(test_case_id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return HttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawTestSuitesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def list_test_suite_test_cases(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedTestSuiteTestCaseList]:
- """
- List the Test Cases associated with a Test Suite
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedTestSuiteTestCaseList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/test-suites/{jsonable_encoder(id)}/test-cases",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedTestSuiteTestCaseList,
- parse_obj_as(
- type_=PaginatedTestSuiteTestCaseList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def upsert_test_suite_test_case(
- self,
- id_: str,
- *,
- input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
- evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
- id: typing.Optional[str] = OMIT,
- external_id: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[TestSuiteTestCase]:
- """
- Upserts a new test case for a test suite, keying off of the optionally provided test case id.
-
- If an id is provided and has a match, the test case will be updated. If no id is provided or no match
- is found, a new test case will be appended to the end.
-
- Note that a full replacement of the test case is performed, so any fields not provided will be removed
- or overwritten with default values.
-
- Parameters
- ----------
- id_ : str
- Either the Test Suites' ID or its unique name
-
- input_values : typing.Sequence[NamedTestCaseVariableValueRequest]
- Values for each of the Test Case's input variables
-
- evaluation_values : typing.Sequence[NamedTestCaseVariableValueRequest]
- Values for each of the Test Case's evaluation variables
-
- id : typing.Optional[str]
- The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
-
- external_id : typing.Optional[str]
- An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
-
- label : typing.Optional[str]
- A human-readable label used to convey the intention of this Test Case
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[TestSuiteTestCase]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/test-suites/{jsonable_encoder(id_)}/test-cases",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "id": id,
- "external_id": external_id,
- "label": label,
- "input_values": convert_and_respect_annotation_metadata(
- object_=input_values,
- annotation=typing.Sequence[NamedTestCaseVariableValueRequest],
- direction="write",
- ),
- "evaluation_values": convert_and_respect_annotation_metadata(
- object_=evaluation_values,
- annotation=typing.Sequence[NamedTestCaseVariableValueRequest],
- direction="write",
- ),
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- TestSuiteTestCase,
- parse_obj_as(
- type_=TestSuiteTestCase, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- @contextlib.asynccontextmanager
- async def test_suite_test_cases_bulk(
- self,
- id: str,
- *,
- request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest],
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]]]:
- """
- Created, replace, and delete Test Cases within the specified Test Suite in bulk
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- request : typing.Sequence[TestSuiteTestCaseBulkOperationRequest]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Yields
- ------
- typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]]]
-
- """
- async with self._client_wrapper.httpx_client.stream(
- f"v1/test-suites/{jsonable_encoder(id)}/test-cases-bulk",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json=convert_and_respect_annotation_metadata(
- object_=request, annotation=typing.Sequence[TestSuiteTestCaseBulkOperationRequest], direction="write"
- ),
- headers={
- "content-type": "application/x-ndjson",
- },
- request_options=request_options,
- omit=OMIT,
- ) as _response:
-
- async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]]:
- try:
- if 200 <= _response.status_code < 300:
-
- async def _iter():
- async for _text in _response.aiter_lines():
- try:
- if len(_text) == 0:
- continue
- yield typing.cast(
- typing.List[TestSuiteTestCaseBulkResult],
- parse_obj_as(
- type_=typing.List[TestSuiteTestCaseBulkResult], # type: ignore
- object_=json.loads(_text),
- ),
- )
- except Exception:
- pass
- return
-
- return AsyncHttpResponse(response=_response, data=_iter())
- await _response.aread()
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield await _stream()
-
- async def delete_test_suite_test_case(
- self, id: str, test_case_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[None]:
- """
- Deletes an existing test case for a test suite, keying off of the test case id.
-
- Parameters
- ----------
- id : str
- Either the Test Suites' ID or its unique name
-
- test_case_id : str
- An id identifying the test case that you'd like to delete
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[None]
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/test-suites/{jsonable_encoder(id)}/test-cases/{jsonable_encoder(test_case_id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="DELETE",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- return AsyncHttpResponse(response=_response, data=None)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/workflow_deployments/__init__.py b/src/vellum/client/resources/workflow_deployments/__init__.py
deleted file mode 100644
index add4aace9c..0000000000
--- a/src/vellum/client/resources/workflow_deployments/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .types import ListWorkflowReleaseTagsRequestSource, WorkflowDeploymentsListRequestStatus
-
-__all__ = ["ListWorkflowReleaseTagsRequestSource", "WorkflowDeploymentsListRequestStatus"]
diff --git a/src/vellum/client/resources/workflow_deployments/client.py b/src/vellum/client/resources/workflow_deployments/client.py
deleted file mode 100644
index 83413abdfb..0000000000
--- a/src/vellum/client/resources/workflow_deployments/client.py
+++ /dev/null
@@ -1,1017 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.paginated_slim_workflow_deployment_list import PaginatedSlimWorkflowDeploymentList
-from ...types.paginated_workflow_deployment_release_list import PaginatedWorkflowDeploymentReleaseList
-from ...types.paginated_workflow_release_tag_read_list import PaginatedWorkflowReleaseTagReadList
-from ...types.workflow_deployment_event_executions_response import WorkflowDeploymentEventExecutionsResponse
-from ...types.workflow_deployment_history_item import WorkflowDeploymentHistoryItem
-from ...types.workflow_deployment_read import WorkflowDeploymentRead
-from ...types.workflow_deployment_release import WorkflowDeploymentRelease
-from ...types.workflow_event_execution_read import WorkflowEventExecutionRead
-from ...types.workflow_release_tag_read import WorkflowReleaseTagRead
-from .raw_client import AsyncRawWorkflowDeploymentsClient, RawWorkflowDeploymentsClient
-from .types.list_workflow_release_tags_request_source import ListWorkflowReleaseTagsRequestSource
-from .types.workflow_deployments_list_request_status import WorkflowDeploymentsListRequestStatus
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class WorkflowDeploymentsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawWorkflowDeploymentsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawWorkflowDeploymentsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawWorkflowDeploymentsClient
- """
- return self._raw_client
-
- def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- status: typing.Optional[WorkflowDeploymentsListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimWorkflowDeploymentList:
- """
- Used to list all Workflow Deployments.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- status : typing.Optional[WorkflowDeploymentsListRequestStatus]
- status
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimWorkflowDeploymentList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_deployments.list()
- """
- _response = self._raw_client.list(
- limit=limit, offset=offset, ordering=ordering, status=status, request_options=request_options
- )
- return _response.data
-
- def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> WorkflowDeploymentRead:
- """
- Used to retrieve a workflow deployment given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowDeploymentRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_deployments.retrieve(
- id="id",
- )
- """
- _response = self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- def list_workflow_deployment_event_executions(
- self,
- id: str,
- *,
- filters: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkflowDeploymentEventExecutionsResponse:
- """
- Parameters
- ----------
- id : str
-
- filters : typing.Optional[str]
-
- limit : typing.Optional[int]
- Number of executions to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the executions.
-
- ordering : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowDeploymentEventExecutionsResponse
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_deployments.list_workflow_deployment_event_executions(
- id="id",
- )
- """
- _response = self._raw_client.list_workflow_deployment_event_executions(
- id, filters=filters, limit=limit, offset=offset, ordering=ordering, request_options=request_options
- )
- return _response.data
-
- def workflow_deployment_event_execution(
- self, execution_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowEventExecutionRead:
- """
- Parameters
- ----------
- execution_id : str
-
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowEventExecutionRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_deployments.workflow_deployment_event_execution(
- execution_id="execution_id",
- id="id",
- )
- """
- _response = self._raw_client.workflow_deployment_event_execution(
- execution_id, id, request_options=request_options
- )
- return _response.data
-
- def workflow_deployment_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowDeploymentHistoryItem:
- """
- DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
- `retrieve_workflow_deployment_release` endpoint instead.
-
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Workflow Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment History Item you'd like to retrieve.
-
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowDeploymentHistoryItem
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_deployments.workflow_deployment_history_item_retrieve(
- history_id_or_release_tag="history_id_or_release_tag",
- id="id",
- )
- """
- _response = self._raw_client.workflow_deployment_history_item_retrieve(
- history_id_or_release_tag, id, request_options=request_options
- )
- return _response.data
-
- def list_workflow_release_tags(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- source: typing.Optional[ListWorkflowReleaseTagsRequestSource] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedWorkflowReleaseTagReadList:
- """
- List Release Tags associated with the specified Workflow Deployment
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- source : typing.Optional[ListWorkflowReleaseTagsRequestSource]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedWorkflowReleaseTagReadList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_deployments.list_workflow_release_tags(
- id="id",
- )
- """
- _response = self._raw_client.list_workflow_release_tags(
- id, limit=limit, offset=offset, ordering=ordering, source=source, request_options=request_options
- )
- return _response.data
-
- def retrieve_workflow_release_tag(
- self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowReleaseTagRead:
- """
- Retrieve a Workflow Release Tag by tag name, associated with a specified Workflow Deployment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Workflow Deployment that you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowReleaseTagRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_deployments.retrieve_workflow_release_tag(
- id="id",
- name="name",
- )
- """
- _response = self._raw_client.retrieve_workflow_release_tag(id, name, request_options=request_options)
- return _response.data
-
- def update_workflow_release_tag(
- self,
- id: str,
- name: str,
- *,
- history_item_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkflowReleaseTagRead:
- """
- Updates an existing Release Tag associated with the specified Workflow Deployment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Workflow Deployment that you'd like to update.
-
- history_item_id : typing.Optional[str]
- The ID of the Workflow Deployment History Item to tag
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowReleaseTagRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_deployments.update_workflow_release_tag(
- id="id",
- name="name",
- )
- """
- _response = self._raw_client.update_workflow_release_tag(
- id, name, history_item_id=history_item_id, request_options=request_options
- )
- return _response.data
-
- def list_workflow_deployment_releases(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedWorkflowDeploymentReleaseList:
- """
- List the Releases of the specified Workflow Deployment for the current Environment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedWorkflowDeploymentReleaseList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_deployments.list_workflow_deployment_releases(
- id="id",
- )
- """
- _response = self._raw_client.list_workflow_deployment_releases(
- id, limit=limit, offset=offset, ordering=ordering, request_options=request_options
- )
- return _response.data
-
- def retrieve_workflow_deployment_release(
- self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowDeploymentRelease:
- """
- Retrieve a specific Workflow Deployment Release by either its UUID or the name of a Release Tag that points to it.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- release_id_or_release_tag : str
- Either the UUID of Workflow Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment Release you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowDeploymentRelease
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_deployments.retrieve_workflow_deployment_release(
- id="id",
- release_id_or_release_tag="release_id_or_release_tag",
- )
- """
- _response = self._raw_client.retrieve_workflow_deployment_release(
- id, release_id_or_release_tag, request_options=request_options
- )
- return _response.data
-
-
-class AsyncWorkflowDeploymentsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawWorkflowDeploymentsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawWorkflowDeploymentsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawWorkflowDeploymentsClient
- """
- return self._raw_client
-
- async def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- status: typing.Optional[WorkflowDeploymentsListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedSlimWorkflowDeploymentList:
- """
- Used to list all Workflow Deployments.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- status : typing.Optional[WorkflowDeploymentsListRequestStatus]
- status
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedSlimWorkflowDeploymentList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_deployments.list()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list(
- limit=limit, offset=offset, ordering=ordering, status=status, request_options=request_options
- )
- return _response.data
-
- async def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowDeploymentRead:
- """
- Used to retrieve a workflow deployment given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowDeploymentRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_deployments.retrieve(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- async def list_workflow_deployment_event_executions(
- self,
- id: str,
- *,
- filters: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkflowDeploymentEventExecutionsResponse:
- """
- Parameters
- ----------
- id : str
-
- filters : typing.Optional[str]
-
- limit : typing.Optional[int]
- Number of executions to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the executions.
-
- ordering : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowDeploymentEventExecutionsResponse
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_deployments.list_workflow_deployment_event_executions(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list_workflow_deployment_event_executions(
- id, filters=filters, limit=limit, offset=offset, ordering=ordering, request_options=request_options
- )
- return _response.data
-
- async def workflow_deployment_event_execution(
- self, execution_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowEventExecutionRead:
- """
- Parameters
- ----------
- execution_id : str
-
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowEventExecutionRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_deployments.workflow_deployment_event_execution(
- execution_id="execution_id",
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.workflow_deployment_event_execution(
- execution_id, id, request_options=request_options
- )
- return _response.data
-
- async def workflow_deployment_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowDeploymentHistoryItem:
- """
- DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
- `retrieve_workflow_deployment_release` endpoint instead.
-
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Workflow Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment History Item you'd like to retrieve.
-
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowDeploymentHistoryItem
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_deployments.workflow_deployment_history_item_retrieve(
- history_id_or_release_tag="history_id_or_release_tag",
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.workflow_deployment_history_item_retrieve(
- history_id_or_release_tag, id, request_options=request_options
- )
- return _response.data
-
- async def list_workflow_release_tags(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- source: typing.Optional[ListWorkflowReleaseTagsRequestSource] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedWorkflowReleaseTagReadList:
- """
- List Release Tags associated with the specified Workflow Deployment
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- source : typing.Optional[ListWorkflowReleaseTagsRequestSource]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedWorkflowReleaseTagReadList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_deployments.list_workflow_release_tags(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list_workflow_release_tags(
- id, limit=limit, offset=offset, ordering=ordering, source=source, request_options=request_options
- )
- return _response.data
-
- async def retrieve_workflow_release_tag(
- self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowReleaseTagRead:
- """
- Retrieve a Workflow Release Tag by tag name, associated with a specified Workflow Deployment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Workflow Deployment that you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowReleaseTagRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_deployments.retrieve_workflow_release_tag(
- id="id",
- name="name",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve_workflow_release_tag(id, name, request_options=request_options)
- return _response.data
-
- async def update_workflow_release_tag(
- self,
- id: str,
- name: str,
- *,
- history_item_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkflowReleaseTagRead:
- """
- Updates an existing Release Tag associated with the specified Workflow Deployment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Workflow Deployment that you'd like to update.
-
- history_item_id : typing.Optional[str]
- The ID of the Workflow Deployment History Item to tag
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowReleaseTagRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_deployments.update_workflow_release_tag(
- id="id",
- name="name",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.update_workflow_release_tag(
- id, name, history_item_id=history_item_id, request_options=request_options
- )
- return _response.data
-
- async def list_workflow_deployment_releases(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedWorkflowDeploymentReleaseList:
- """
- List the Releases of the specified Workflow Deployment for the current Environment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedWorkflowDeploymentReleaseList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_deployments.list_workflow_deployment_releases(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list_workflow_deployment_releases(
- id, limit=limit, offset=offset, ordering=ordering, request_options=request_options
- )
- return _response.data
-
- async def retrieve_workflow_deployment_release(
- self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowDeploymentRelease:
- """
- Retrieve a specific Workflow Deployment Release by either its UUID or the name of a Release Tag that points to it.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- release_id_or_release_tag : str
- Either the UUID of Workflow Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment Release you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowDeploymentRelease
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_deployments.retrieve_workflow_deployment_release(
- id="id",
- release_id_or_release_tag="release_id_or_release_tag",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve_workflow_deployment_release(
- id, release_id_or_release_tag, request_options=request_options
- )
- return _response.data
diff --git a/src/vellum/client/resources/workflow_deployments/raw_client.py b/src/vellum/client/resources/workflow_deployments/raw_client.py
deleted file mode 100644
index 4220b49a56..0000000000
--- a/src/vellum/client/resources/workflow_deployments/raw_client.py
+++ /dev/null
@@ -1,1059 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...types.paginated_slim_workflow_deployment_list import PaginatedSlimWorkflowDeploymentList
-from ...types.paginated_workflow_deployment_release_list import PaginatedWorkflowDeploymentReleaseList
-from ...types.paginated_workflow_release_tag_read_list import PaginatedWorkflowReleaseTagReadList
-from ...types.workflow_deployment_event_executions_response import WorkflowDeploymentEventExecutionsResponse
-from ...types.workflow_deployment_history_item import WorkflowDeploymentHistoryItem
-from ...types.workflow_deployment_read import WorkflowDeploymentRead
-from ...types.workflow_deployment_release import WorkflowDeploymentRelease
-from ...types.workflow_event_execution_read import WorkflowEventExecutionRead
-from ...types.workflow_release_tag_read import WorkflowReleaseTagRead
-from .types.list_workflow_release_tags_request_source import ListWorkflowReleaseTagsRequestSource
-from .types.workflow_deployments_list_request_status import WorkflowDeploymentsListRequestStatus
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawWorkflowDeploymentsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- status: typing.Optional[WorkflowDeploymentsListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedSlimWorkflowDeploymentList]:
- """
- Used to list all Workflow Deployments.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- status : typing.Optional[WorkflowDeploymentsListRequestStatus]
- status
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedSlimWorkflowDeploymentList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/workflow-deployments",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "status": status,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimWorkflowDeploymentList,
- parse_obj_as(
- type_=PaginatedSlimWorkflowDeploymentList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[WorkflowDeploymentRead]:
- """
- Used to retrieve a workflow deployment given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowDeploymentRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowDeploymentRead,
- parse_obj_as(
- type_=WorkflowDeploymentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def list_workflow_deployment_event_executions(
- self,
- id: str,
- *,
- filters: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[WorkflowDeploymentEventExecutionsResponse]:
- """
- Parameters
- ----------
- id : str
-
- filters : typing.Optional[str]
-
- limit : typing.Optional[int]
- Number of executions to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the executions.
-
- ordering : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowDeploymentEventExecutionsResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/execution-events",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "filters": filters,
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowDeploymentEventExecutionsResponse,
- parse_obj_as(
- type_=WorkflowDeploymentEventExecutionsResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def workflow_deployment_event_execution(
- self, execution_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[WorkflowEventExecutionRead]:
- """
- Parameters
- ----------
- execution_id : str
-
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowEventExecutionRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/execution-events/{jsonable_encoder(execution_id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowEventExecutionRead,
- parse_obj_as(
- type_=WorkflowEventExecutionRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def workflow_deployment_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[WorkflowDeploymentHistoryItem]:
- """
- DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
- `retrieve_workflow_deployment_release` endpoint instead.
-
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Workflow Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment History Item you'd like to retrieve.
-
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowDeploymentHistoryItem]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowDeploymentHistoryItem,
- parse_obj_as(
- type_=WorkflowDeploymentHistoryItem, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def list_workflow_release_tags(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- source: typing.Optional[ListWorkflowReleaseTagsRequestSource] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedWorkflowReleaseTagReadList]:
- """
- List Release Tags associated with the specified Workflow Deployment
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- source : typing.Optional[ListWorkflowReleaseTagsRequestSource]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedWorkflowReleaseTagReadList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "source": source,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedWorkflowReleaseTagReadList,
- parse_obj_as(
- type_=PaginatedWorkflowReleaseTagReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve_workflow_release_tag(
- self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[WorkflowReleaseTagRead]:
- """
- Retrieve a Workflow Release Tag by tag name, associated with a specified Workflow Deployment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Workflow Deployment that you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowReleaseTagRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowReleaseTagRead,
- parse_obj_as(
- type_=WorkflowReleaseTagRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def update_workflow_release_tag(
- self,
- id: str,
- name: str,
- *,
- history_item_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[WorkflowReleaseTagRead]:
- """
- Updates an existing Release Tag associated with the specified Workflow Deployment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Workflow Deployment that you'd like to update.
-
- history_item_id : typing.Optional[str]
- The ID of the Workflow Deployment History Item to tag
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowReleaseTagRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="PATCH",
- json={
- "history_item_id": history_item_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowReleaseTagRead,
- parse_obj_as(
- type_=WorkflowReleaseTagRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def list_workflow_deployment_releases(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedWorkflowDeploymentReleaseList]:
- """
- List the Releases of the specified Workflow Deployment for the current Environment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedWorkflowDeploymentReleaseList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/releases",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedWorkflowDeploymentReleaseList,
- parse_obj_as(
- type_=PaginatedWorkflowDeploymentReleaseList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def retrieve_workflow_deployment_release(
- self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[WorkflowDeploymentRelease]:
- """
- Retrieve a specific Workflow Deployment Release by either its UUID or the name of a Release Tag that points to it.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- release_id_or_release_tag : str
- Either the UUID of Workflow Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment Release you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowDeploymentRelease]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/releases/{jsonable_encoder(release_id_or_release_tag)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowDeploymentRelease,
- parse_obj_as(
- type_=WorkflowDeploymentRelease, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawWorkflowDeploymentsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def list(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- status: typing.Optional[WorkflowDeploymentsListRequestStatus] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedSlimWorkflowDeploymentList]:
- """
- Used to list all Workflow Deployments.
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- status : typing.Optional[WorkflowDeploymentsListRequestStatus]
- status
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedSlimWorkflowDeploymentList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/workflow-deployments",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "status": status,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedSlimWorkflowDeploymentList,
- parse_obj_as(
- type_=PaginatedSlimWorkflowDeploymentList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[WorkflowDeploymentRead]:
- """
- Used to retrieve a workflow deployment given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowDeploymentRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowDeploymentRead,
- parse_obj_as(
- type_=WorkflowDeploymentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def list_workflow_deployment_event_executions(
- self,
- id: str,
- *,
- filters: typing.Optional[str] = None,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[WorkflowDeploymentEventExecutionsResponse]:
- """
- Parameters
- ----------
- id : str
-
- filters : typing.Optional[str]
-
- limit : typing.Optional[int]
- Number of executions to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the executions.
-
- ordering : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowDeploymentEventExecutionsResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/execution-events",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "filters": filters,
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowDeploymentEventExecutionsResponse,
- parse_obj_as(
- type_=WorkflowDeploymentEventExecutionsResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def workflow_deployment_event_execution(
- self, execution_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[WorkflowEventExecutionRead]:
- """
- Parameters
- ----------
- execution_id : str
-
- id : str
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowEventExecutionRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/execution-events/{jsonable_encoder(execution_id)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowEventExecutionRead,
- parse_obj_as(
- type_=WorkflowEventExecutionRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def workflow_deployment_history_item_retrieve(
- self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[WorkflowDeploymentHistoryItem]:
- """
- DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
- `retrieve_workflow_deployment_release` endpoint instead.
-
- Parameters
- ----------
- history_id_or_release_tag : str
- Either the UUID of Workflow Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment History Item you'd like to retrieve.
-
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowDeploymentHistoryItem]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowDeploymentHistoryItem,
- parse_obj_as(
- type_=WorkflowDeploymentHistoryItem, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def list_workflow_release_tags(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- source: typing.Optional[ListWorkflowReleaseTagsRequestSource] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedWorkflowReleaseTagReadList]:
- """
- List Release Tags associated with the specified Workflow Deployment
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- source : typing.Optional[ListWorkflowReleaseTagsRequestSource]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedWorkflowReleaseTagReadList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "source": source,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedWorkflowReleaseTagReadList,
- parse_obj_as(
- type_=PaginatedWorkflowReleaseTagReadList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve_workflow_release_tag(
- self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[WorkflowReleaseTagRead]:
- """
- Retrieve a Workflow Release Tag by tag name, associated with a specified Workflow Deployment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Workflow Deployment that you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowReleaseTagRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowReleaseTagRead,
- parse_obj_as(
- type_=WorkflowReleaseTagRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def update_workflow_release_tag(
- self,
- id: str,
- name: str,
- *,
- history_item_id: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[WorkflowReleaseTagRead]:
- """
- Updates an existing Release Tag associated with the specified Workflow Deployment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- name : str
- The name of the Release Tag associated with this Workflow Deployment that you'd like to update.
-
- history_item_id : typing.Optional[str]
- The ID of the Workflow Deployment History Item to tag
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowReleaseTagRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
- base_url=self._client_wrapper.get_environment().default,
- method="PATCH",
- json={
- "history_item_id": history_item_id,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowReleaseTagRead,
- parse_obj_as(
- type_=WorkflowReleaseTagRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def list_workflow_deployment_releases(
- self,
- id: str,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedWorkflowDeploymentReleaseList]:
- """
- List the Releases of the specified Workflow Deployment for the current Environment.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedWorkflowDeploymentReleaseList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/releases",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedWorkflowDeploymentReleaseList,
- parse_obj_as(
- type_=PaginatedWorkflowDeploymentReleaseList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def retrieve_workflow_deployment_release(
- self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[WorkflowDeploymentRelease]:
- """
- Retrieve a specific Workflow Deployment Release by either its UUID or the name of a Release Tag that points to it.
-
- Parameters
- ----------
- id : str
- Either the Workflow Deployment's ID or its unique name
-
- release_id_or_release_tag : str
- Either the UUID of Workflow Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment Release you'd like to retrieve.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowDeploymentRelease]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-deployments/{jsonable_encoder(id)}/releases/{jsonable_encoder(release_id_or_release_tag)}",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowDeploymentRelease,
- parse_obj_as(
- type_=WorkflowDeploymentRelease, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/workflow_deployments/types/__init__.py b/src/vellum/client/resources/workflow_deployments/types/__init__.py
deleted file mode 100644
index 5b5a7c44a1..0000000000
--- a/src/vellum/client/resources/workflow_deployments/types/__init__.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .list_workflow_release_tags_request_source import ListWorkflowReleaseTagsRequestSource
-from .workflow_deployments_list_request_status import WorkflowDeploymentsListRequestStatus
-
-__all__ = ["ListWorkflowReleaseTagsRequestSource", "WorkflowDeploymentsListRequestStatus"]
diff --git a/src/vellum/client/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py b/src/vellum/client/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py
deleted file mode 100644
index 81690cef0b..0000000000
--- a/src/vellum/client/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ListWorkflowReleaseTagsRequestSource = typing.Union[typing.Literal["SYSTEM", "USER"], typing.Any]
diff --git a/src/vellum/client/resources/workflow_deployments/types/workflow_deployments_list_request_status.py b/src/vellum/client/resources/workflow_deployments/types/workflow_deployments_list_request_status.py
deleted file mode 100644
index 9b73d467fb..0000000000
--- a/src/vellum/client/resources/workflow_deployments/types/workflow_deployments_list_request_status.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-WorkflowDeploymentsListRequestStatus = typing.Union[typing.Literal["ACTIVE", "ARCHIVED"], typing.Any]
diff --git a/src/vellum/client/resources/workflow_executions/__init__.py b/src/vellum/client/resources/workflow_executions/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/workflow_executions/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/workflow_executions/client.py b/src/vellum/client/resources/workflow_executions/client.py
deleted file mode 100644
index 9eaf32bccd..0000000000
--- a/src/vellum/client/resources/workflow_executions/client.py
+++ /dev/null
@@ -1,140 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.workflow_execution_detail import WorkflowExecutionDetail
-from .raw_client import AsyncRawWorkflowExecutionsClient, RawWorkflowExecutionsClient
-
-
-class WorkflowExecutionsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawWorkflowExecutionsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawWorkflowExecutionsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawWorkflowExecutionsClient
- """
- return self._raw_client
-
- def retrieve_workflow_execution_detail(
- self,
- execution_id: str,
- *,
- prev_span_id: typing.Optional[str] = None,
- span_limit: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkflowExecutionDetail:
- """
- Parameters
- ----------
- execution_id : str
-
- prev_span_id : typing.Optional[str]
- Optional keyset cursor span_id to continue from (exclusive)
-
- span_limit : typing.Optional[int]
- Maximum number of spans to return (for lazy loading)
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowExecutionDetail
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_executions.retrieve_workflow_execution_detail(
- execution_id="execution_id",
- )
- """
- _response = self._raw_client.retrieve_workflow_execution_detail(
- execution_id, prev_span_id=prev_span_id, span_limit=span_limit, request_options=request_options
- )
- return _response.data
-
-
-class AsyncWorkflowExecutionsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawWorkflowExecutionsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawWorkflowExecutionsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawWorkflowExecutionsClient
- """
- return self._raw_client
-
- async def retrieve_workflow_execution_detail(
- self,
- execution_id: str,
- *,
- prev_span_id: typing.Optional[str] = None,
- span_limit: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkflowExecutionDetail:
- """
- Parameters
- ----------
- execution_id : str
-
- prev_span_id : typing.Optional[str]
- Optional keyset cursor span_id to continue from (exclusive)
-
- span_limit : typing.Optional[int]
- Maximum number of spans to return (for lazy loading)
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowExecutionDetail
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_executions.retrieve_workflow_execution_detail(
- execution_id="execution_id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve_workflow_execution_detail(
- execution_id, prev_span_id=prev_span_id, span_limit=span_limit, request_options=request_options
- )
- return _response.data
diff --git a/src/vellum/client/resources/workflow_executions/raw_client.py b/src/vellum/client/resources/workflow_executions/raw_client.py
deleted file mode 100644
index a9686f3f2c..0000000000
--- a/src/vellum/client/resources/workflow_executions/raw_client.py
+++ /dev/null
@@ -1,173 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...errors.misdirected_request_error import MisdirectedRequestError
-from ...errors.not_found_error import NotFoundError
-from ...types.update_active_workspace_response import UpdateActiveWorkspaceResponse
-from ...types.workflow_execution_detail import WorkflowExecutionDetail
-
-
-class RawWorkflowExecutionsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def retrieve_workflow_execution_detail(
- self,
- execution_id: str,
- *,
- prev_span_id: typing.Optional[str] = None,
- span_limit: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[WorkflowExecutionDetail]:
- """
- Parameters
- ----------
- execution_id : str
-
- prev_span_id : typing.Optional[str]
- Optional keyset cursor span_id to continue from (exclusive)
-
- span_limit : typing.Optional[int]
- Maximum number of spans to return (for lazy loading)
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowExecutionDetail]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-executions/{jsonable_encoder(execution_id)}/detail",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "prev_span_id": prev_span_id,
- "span_limit": span_limit,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowExecutionDetail,
- parse_obj_as(
- type_=WorkflowExecutionDetail, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 421:
- raise MisdirectedRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- UpdateActiveWorkspaceResponse,
- parse_obj_as(
- type_=UpdateActiveWorkspaceResponse, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawWorkflowExecutionsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def retrieve_workflow_execution_detail(
- self,
- execution_id: str,
- *,
- prev_span_id: typing.Optional[str] = None,
- span_limit: typing.Optional[int] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[WorkflowExecutionDetail]:
- """
- Parameters
- ----------
- execution_id : str
-
- prev_span_id : typing.Optional[str]
- Optional keyset cursor span_id to continue from (exclusive)
-
- span_limit : typing.Optional[int]
- Maximum number of spans to return (for lazy loading)
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowExecutionDetail]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-executions/{jsonable_encoder(execution_id)}/detail",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "prev_span_id": prev_span_id,
- "span_limit": span_limit,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowExecutionDetail,
- parse_obj_as(
- type_=WorkflowExecutionDetail, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- if _response.status_code == 404:
- raise NotFoundError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- if _response.status_code == 421:
- raise MisdirectedRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- UpdateActiveWorkspaceResponse,
- parse_obj_as(
- type_=UpdateActiveWorkspaceResponse, # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/workflow_sandboxes/__init__.py b/src/vellum/client/resources/workflow_sandboxes/__init__.py
deleted file mode 100644
index e0a5cb5b30..0000000000
--- a/src/vellum/client/resources/workflow_sandboxes/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .types import ListWorkflowSandboxExamplesRequestTag
-
-__all__ = ["ListWorkflowSandboxExamplesRequestTag"]
diff --git a/src/vellum/client/resources/workflow_sandboxes/client.py b/src/vellum/client/resources/workflow_sandboxes/client.py
deleted file mode 100644
index bf03e15b46..0000000000
--- a/src/vellum/client/resources/workflow_sandboxes/client.py
+++ /dev/null
@@ -1,287 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.paginated_workflow_sandbox_example_list import PaginatedWorkflowSandboxExampleList
-from ...types.workflow_deployment_read import WorkflowDeploymentRead
-from .raw_client import AsyncRawWorkflowSandboxesClient, RawWorkflowSandboxesClient
-from .types.list_workflow_sandbox_examples_request_tag import ListWorkflowSandboxExamplesRequestTag
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class WorkflowSandboxesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawWorkflowSandboxesClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawWorkflowSandboxesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawWorkflowSandboxesClient
- """
- return self._raw_client
-
- def deploy_workflow(
- self,
- id: str,
- *,
- workflow_deployment_id: typing.Optional[str] = OMIT,
- workflow_deployment_name: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
- release_description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkflowDeploymentRead:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this workflow sandbox.
-
- workflow_deployment_id : typing.Optional[str]
- The Vellum-generated ID of the Workflow Deployment you'd like to update. Cannot specify both this and workflow_deployment_name. Leave null to create a new Workflow Deployment.
-
- workflow_deployment_name : typing.Optional[str]
- The unique name of the Workflow Deployment you'd like to either create or update. Cannot specify both this and workflow_deployment_id. If provided and matches an existing Workflow Deployment, that Workflow Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
-
- label : typing.Optional[str]
- In the event that a new Workflow Deployment is created, this will be the label it's given.
-
- release_tags : typing.Optional[typing.Sequence[str]]
- Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
-
- release_description : typing.Optional[str]
- Optionally provide a description that details what's new in this Release.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowDeploymentRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_sandboxes.deploy_workflow(
- id="id",
- )
- """
- _response = self._raw_client.deploy_workflow(
- id,
- workflow_deployment_id=workflow_deployment_id,
- workflow_deployment_name=workflow_deployment_name,
- label=label,
- release_tags=release_tags,
- release_description=release_description,
- request_options=request_options,
- )
- return _response.data
-
- def list_workflow_sandbox_examples(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- tag: typing.Optional[ListWorkflowSandboxExamplesRequestTag] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedWorkflowSandboxExampleList:
- """
- List Workflow Sandbox examples that were previously cloned into the User's Workspace
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- tag : typing.Optional[ListWorkflowSandboxExamplesRequestTag]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedWorkflowSandboxExampleList
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflow_sandboxes.list_workflow_sandbox_examples()
- """
- _response = self._raw_client.list_workflow_sandbox_examples(
- limit=limit, offset=offset, ordering=ordering, tag=tag, request_options=request_options
- )
- return _response.data
-
-
-class AsyncWorkflowSandboxesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawWorkflowSandboxesClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawWorkflowSandboxesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawWorkflowSandboxesClient
- """
- return self._raw_client
-
- async def deploy_workflow(
- self,
- id: str,
- *,
- workflow_deployment_id: typing.Optional[str] = OMIT,
- workflow_deployment_name: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
- release_description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkflowDeploymentRead:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this workflow sandbox.
-
- workflow_deployment_id : typing.Optional[str]
- The Vellum-generated ID of the Workflow Deployment you'd like to update. Cannot specify both this and workflow_deployment_name. Leave null to create a new Workflow Deployment.
-
- workflow_deployment_name : typing.Optional[str]
- The unique name of the Workflow Deployment you'd like to either create or update. Cannot specify both this and workflow_deployment_id. If provided and matches an existing Workflow Deployment, that Workflow Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
-
- label : typing.Optional[str]
- In the event that a new Workflow Deployment is created, this will be the label it's given.
-
- release_tags : typing.Optional[typing.Sequence[str]]
- Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
-
- release_description : typing.Optional[str]
- Optionally provide a description that details what's new in this Release.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowDeploymentRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_sandboxes.deploy_workflow(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.deploy_workflow(
- id,
- workflow_deployment_id=workflow_deployment_id,
- workflow_deployment_name=workflow_deployment_name,
- label=label,
- release_tags=release_tags,
- release_description=release_description,
- request_options=request_options,
- )
- return _response.data
-
- async def list_workflow_sandbox_examples(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- tag: typing.Optional[ListWorkflowSandboxExamplesRequestTag] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> PaginatedWorkflowSandboxExampleList:
- """
- List Workflow Sandbox examples that were previously cloned into the User's Workspace
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- tag : typing.Optional[ListWorkflowSandboxExamplesRequestTag]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- PaginatedWorkflowSandboxExampleList
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflow_sandboxes.list_workflow_sandbox_examples()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.list_workflow_sandbox_examples(
- limit=limit, offset=offset, ordering=ordering, tag=tag, request_options=request_options
- )
- return _response.data
diff --git a/src/vellum/client/resources/workflow_sandboxes/raw_client.py b/src/vellum/client/resources/workflow_sandboxes/raw_client.py
deleted file mode 100644
index acc3d6bf4d..0000000000
--- a/src/vellum/client/resources/workflow_sandboxes/raw_client.py
+++ /dev/null
@@ -1,291 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...types.paginated_workflow_sandbox_example_list import PaginatedWorkflowSandboxExampleList
-from ...types.workflow_deployment_read import WorkflowDeploymentRead
-from .types.list_workflow_sandbox_examples_request_tag import ListWorkflowSandboxExamplesRequestTag
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawWorkflowSandboxesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def deploy_workflow(
- self,
- id: str,
- *,
- workflow_deployment_id: typing.Optional[str] = OMIT,
- workflow_deployment_name: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
- release_description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[WorkflowDeploymentRead]:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this workflow sandbox.
-
- workflow_deployment_id : typing.Optional[str]
- The Vellum-generated ID of the Workflow Deployment you'd like to update. Cannot specify both this and workflow_deployment_name. Leave null to create a new Workflow Deployment.
-
- workflow_deployment_name : typing.Optional[str]
- The unique name of the Workflow Deployment you'd like to either create or update. Cannot specify both this and workflow_deployment_id. If provided and matches an existing Workflow Deployment, that Workflow Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
-
- label : typing.Optional[str]
- In the event that a new Workflow Deployment is created, this will be the label it's given.
-
- release_tags : typing.Optional[typing.Sequence[str]]
- Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
-
- release_description : typing.Optional[str]
- Optionally provide a description that details what's new in this Release.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowDeploymentRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflow-sandboxes/{jsonable_encoder(id)}/deploy",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "workflow_deployment_id": workflow_deployment_id,
- "workflow_deployment_name": workflow_deployment_name,
- "label": label,
- "release_tags": release_tags,
- "release_description": release_description,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowDeploymentRead,
- parse_obj_as(
- type_=WorkflowDeploymentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def list_workflow_sandbox_examples(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- tag: typing.Optional[ListWorkflowSandboxExamplesRequestTag] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[PaginatedWorkflowSandboxExampleList]:
- """
- List Workflow Sandbox examples that were previously cloned into the User's Workspace
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- tag : typing.Optional[ListWorkflowSandboxExamplesRequestTag]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[PaginatedWorkflowSandboxExampleList]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/workflow-sandboxes/examples",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "tag": tag,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedWorkflowSandboxExampleList,
- parse_obj_as(
- type_=PaginatedWorkflowSandboxExampleList, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawWorkflowSandboxesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def deploy_workflow(
- self,
- id: str,
- *,
- workflow_deployment_id: typing.Optional[str] = OMIT,
- workflow_deployment_name: typing.Optional[str] = OMIT,
- label: typing.Optional[str] = OMIT,
- release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
- release_description: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[WorkflowDeploymentRead]:
- """
- Parameters
- ----------
- id : str
- A UUID string identifying this workflow sandbox.
-
- workflow_deployment_id : typing.Optional[str]
- The Vellum-generated ID of the Workflow Deployment you'd like to update. Cannot specify both this and workflow_deployment_name. Leave null to create a new Workflow Deployment.
-
- workflow_deployment_name : typing.Optional[str]
- The unique name of the Workflow Deployment you'd like to either create or update. Cannot specify both this and workflow_deployment_id. If provided and matches an existing Workflow Deployment, that Workflow Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
-
- label : typing.Optional[str]
- In the event that a new Workflow Deployment is created, this will be the label it's given.
-
- release_tags : typing.Optional[typing.Sequence[str]]
- Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
-
- release_description : typing.Optional[str]
- Optionally provide a description that details what's new in this Release.
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowDeploymentRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflow-sandboxes/{jsonable_encoder(id)}/deploy",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "workflow_deployment_id": workflow_deployment_id,
- "workflow_deployment_name": workflow_deployment_name,
- "label": label,
- "release_tags": release_tags,
- "release_description": release_description,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowDeploymentRead,
- parse_obj_as(
- type_=WorkflowDeploymentRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def list_workflow_sandbox_examples(
- self,
- *,
- limit: typing.Optional[int] = None,
- offset: typing.Optional[int] = None,
- ordering: typing.Optional[str] = None,
- tag: typing.Optional[ListWorkflowSandboxExamplesRequestTag] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[PaginatedWorkflowSandboxExampleList]:
- """
- List Workflow Sandbox examples that were previously cloned into the User's Workspace
-
- Parameters
- ----------
- limit : typing.Optional[int]
- Number of results to return per page.
-
- offset : typing.Optional[int]
- The initial index from which to return the results.
-
- ordering : typing.Optional[str]
- Which field to use when ordering the results.
-
- tag : typing.Optional[ListWorkflowSandboxExamplesRequestTag]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[PaginatedWorkflowSandboxExampleList]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/workflow-sandboxes/examples",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- params={
- "limit": limit,
- "offset": offset,
- "ordering": ordering,
- "tag": tag,
- },
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- PaginatedWorkflowSandboxExampleList,
- parse_obj_as(
- type_=PaginatedWorkflowSandboxExampleList, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/workflow_sandboxes/types/__init__.py b/src/vellum/client/resources/workflow_sandboxes/types/__init__.py
deleted file mode 100644
index a122e5789d..0000000000
--- a/src/vellum/client/resources/workflow_sandboxes/types/__init__.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .list_workflow_sandbox_examples_request_tag import ListWorkflowSandboxExamplesRequestTag
-
-__all__ = ["ListWorkflowSandboxExamplesRequestTag"]
diff --git a/src/vellum/client/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py b/src/vellum/client/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py
deleted file mode 100644
index bfbd1109c8..0000000000
--- a/src/vellum/client/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ListWorkflowSandboxExamplesRequestTag = typing.Union[typing.Literal["ONBOARDING", "TEMPLATES"], typing.Any]
diff --git a/src/vellum/client/resources/workflows/__init__.py b/src/vellum/client/resources/workflows/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/workflows/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/workflows/client.py b/src/vellum/client/resources/workflows/client.py
deleted file mode 100644
index 986b5dae8e..0000000000
--- a/src/vellum/client/resources/workflows/client.py
+++ /dev/null
@@ -1,439 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ... import core
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.dataset_row_push_request import DatasetRowPushRequest
-from ...types.workflow_push_deployment_config_request import WorkflowPushDeploymentConfigRequest
-from ...types.workflow_push_exec_config import WorkflowPushExecConfig
-from ...types.workflow_push_response import WorkflowPushResponse
-from ...types.workflow_resolved_state import WorkflowResolvedState
-from .raw_client import AsyncRawWorkflowsClient, RawWorkflowsClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class WorkflowsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawWorkflowsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawWorkflowsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawWorkflowsClient
- """
- return self._raw_client
-
- def pull(
- self,
- id: str,
- *,
- exclude_code: typing.Optional[bool] = None,
- exclude_display: typing.Optional[bool] = None,
- include_json: typing.Optional[bool] = None,
- include_sandbox: typing.Optional[bool] = None,
- release_tag: typing.Optional[str] = None,
- strict: typing.Optional[bool] = None,
- version: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Iterator[bytes]:
- """
- Parameters
- ----------
- id : str
- The ID of the Workflow to pull from
-
- exclude_code : typing.Optional[bool]
-
- exclude_display : typing.Optional[bool]
-
- include_json : typing.Optional[bool]
-
- include_sandbox : typing.Optional[bool]
-
- release_tag : typing.Optional[str]
- Release tag to use when pulling from deployment (implies deployment-only lookup)
-
- strict : typing.Optional[bool]
-
- version : typing.Optional[str]
- Semantic version range to validate against the Workflow SDK version (e.g., '>=1.0.0,<1.2.3')
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
-
- Returns
- -------
- typing.Iterator[bytes]
-
- """
- with self._raw_client.pull(
- id,
- exclude_code=exclude_code,
- exclude_display=exclude_display,
- include_json=include_json,
- include_sandbox=include_sandbox,
- release_tag=release_tag,
- strict=strict,
- version=version,
- request_options=request_options,
- ) as r:
- yield from r.data
-
- def retrieve_state(
- self, span_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowResolvedState:
- """
- Retrieve the current state of a workflow execution.
-
- **Note:** Uses a base url of `https://predict.vellum.ai`.
-
- Parameters
- ----------
- span_id : str
- The span ID of the workflow execution to retrieve state for
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowResolvedState
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflows.retrieve_state(
- span_id="span_id",
- )
- """
- _response = self._raw_client.retrieve_state(span_id, request_options=request_options)
- return _response.data
-
- def push(
- self,
- *,
- exec_config: WorkflowPushExecConfig,
- workflow_sandbox_id: typing.Optional[str] = OMIT,
- deployment_config: typing.Optional[WorkflowPushDeploymentConfigRequest] = OMIT,
- artifact: typing.Optional[core.File] = OMIT,
- dataset: typing.Optional[typing.List[DatasetRowPushRequest]] = OMIT,
- dry_run: typing.Optional[bool] = OMIT,
- strict: typing.Optional[bool] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkflowPushResponse:
- """
- Parameters
- ----------
- exec_config : WorkflowPushExecConfig
- The execution configuration of the workflow.
-
- workflow_sandbox_id : typing.Optional[str]
-
- deployment_config : typing.Optional[WorkflowPushDeploymentConfigRequest]
-
- artifact : typing.Optional[core.File]
- See core.File for more documentation
-
- dataset : typing.Optional[typing.List[DatasetRowPushRequest]]
- List of dataset rows with inputs for scenarios.
-
- dry_run : typing.Optional[bool]
-
- strict : typing.Optional[bool]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowPushResponse
-
- """
- _response = self._raw_client.push(
- exec_config=exec_config,
- workflow_sandbox_id=workflow_sandbox_id,
- deployment_config=deployment_config,
- artifact=artifact,
- dataset=dataset,
- dry_run=dry_run,
- strict=strict,
- request_options=request_options,
- )
- return _response.data
-
- def serialize_workflow_files(
- self,
- *,
- files: typing.Dict[str, typing.Optional[typing.Any]],
- module: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Dict[str, typing.Optional[typing.Any]]:
- """
- Serialize files
-
- Parameters
- ----------
- files : typing.Dict[str, typing.Optional[typing.Any]]
-
- module : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- typing.Dict[str, typing.Optional[typing.Any]]
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workflows.serialize_workflow_files(
- files={"files": {"key": "value"}},
- )
- """
- _response = self._raw_client.serialize_workflow_files(
- files=files, module=module, request_options=request_options
- )
- return _response.data
-
-
-class AsyncWorkflowsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawWorkflowsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawWorkflowsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawWorkflowsClient
- """
- return self._raw_client
-
- async def pull(
- self,
- id: str,
- *,
- exclude_code: typing.Optional[bool] = None,
- exclude_display: typing.Optional[bool] = None,
- include_json: typing.Optional[bool] = None,
- include_sandbox: typing.Optional[bool] = None,
- release_tag: typing.Optional[str] = None,
- strict: typing.Optional[bool] = None,
- version: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.AsyncIterator[bytes]:
- """
- Parameters
- ----------
- id : str
- The ID of the Workflow to pull from
-
- exclude_code : typing.Optional[bool]
-
- exclude_display : typing.Optional[bool]
-
- include_json : typing.Optional[bool]
-
- include_sandbox : typing.Optional[bool]
-
- release_tag : typing.Optional[str]
- Release tag to use when pulling from deployment (implies deployment-only lookup)
-
- strict : typing.Optional[bool]
-
- version : typing.Optional[str]
- Semantic version range to validate against the Workflow SDK version (e.g., '>=1.0.0,<1.2.3')
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
-
- Returns
- -------
- typing.AsyncIterator[bytes]
-
- """
- async with self._raw_client.pull(
- id,
- exclude_code=exclude_code,
- exclude_display=exclude_display,
- include_json=include_json,
- include_sandbox=include_sandbox,
- release_tag=release_tag,
- strict=strict,
- version=version,
- request_options=request_options,
- ) as r:
- async for _chunk in r.data:
- yield _chunk
-
- async def retrieve_state(
- self, span_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkflowResolvedState:
- """
- Retrieve the current state of a workflow execution.
-
- **Note:** Uses a base url of `https://predict.vellum.ai`.
-
- Parameters
- ----------
- span_id : str
- The span ID of the workflow execution to retrieve state for
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowResolvedState
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflows.retrieve_state(
- span_id="span_id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve_state(span_id, request_options=request_options)
- return _response.data
-
- async def push(
- self,
- *,
- exec_config: WorkflowPushExecConfig,
- workflow_sandbox_id: typing.Optional[str] = OMIT,
- deployment_config: typing.Optional[WorkflowPushDeploymentConfigRequest] = OMIT,
- artifact: typing.Optional[core.File] = OMIT,
- dataset: typing.Optional[typing.List[DatasetRowPushRequest]] = OMIT,
- dry_run: typing.Optional[bool] = OMIT,
- strict: typing.Optional[bool] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkflowPushResponse:
- """
- Parameters
- ----------
- exec_config : WorkflowPushExecConfig
- The execution configuration of the workflow.
-
- workflow_sandbox_id : typing.Optional[str]
-
- deployment_config : typing.Optional[WorkflowPushDeploymentConfigRequest]
-
- artifact : typing.Optional[core.File]
- See core.File for more documentation
-
- dataset : typing.Optional[typing.List[DatasetRowPushRequest]]
- List of dataset rows with inputs for scenarios.
-
- dry_run : typing.Optional[bool]
-
- strict : typing.Optional[bool]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkflowPushResponse
-
- """
- _response = await self._raw_client.push(
- exec_config=exec_config,
- workflow_sandbox_id=workflow_sandbox_id,
- deployment_config=deployment_config,
- artifact=artifact,
- dataset=dataset,
- dry_run=dry_run,
- strict=strict,
- request_options=request_options,
- )
- return _response.data
-
- async def serialize_workflow_files(
- self,
- *,
- files: typing.Dict[str, typing.Optional[typing.Any]],
- module: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Dict[str, typing.Optional[typing.Any]]:
- """
- Serialize files
-
- Parameters
- ----------
- files : typing.Dict[str, typing.Optional[typing.Any]]
-
- module : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- typing.Dict[str, typing.Optional[typing.Any]]
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workflows.serialize_workflow_files(
- files={"files": {"key": "value"}},
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.serialize_workflow_files(
- files=files, module=module, request_options=request_options
- )
- return _response.data
diff --git a/src/vellum/client/resources/workflows/raw_client.py b/src/vellum/client/resources/workflows/raw_client.py
deleted file mode 100644
index 44925fe893..0000000000
--- a/src/vellum/client/resources/workflows/raw_client.py
+++ /dev/null
@@ -1,547 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import contextlib
-import typing
-from json.decoder import JSONDecodeError
-
-from ... import core
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.jsonable_encoder import jsonable_encoder
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...errors.bad_request_error import BadRequestError
-from ...types.dataset_row_push_request import DatasetRowPushRequest
-from ...types.workflow_push_deployment_config_request import WorkflowPushDeploymentConfigRequest
-from ...types.workflow_push_exec_config import WorkflowPushExecConfig
-from ...types.workflow_push_response import WorkflowPushResponse
-from ...types.workflow_resolved_state import WorkflowResolvedState
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class RawWorkflowsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- @contextlib.contextmanager
- def pull(
- self,
- id: str,
- *,
- exclude_code: typing.Optional[bool] = None,
- exclude_display: typing.Optional[bool] = None,
- include_json: typing.Optional[bool] = None,
- include_sandbox: typing.Optional[bool] = None,
- release_tag: typing.Optional[str] = None,
- strict: typing.Optional[bool] = None,
- version: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.Iterator[HttpResponse[typing.Iterator[bytes]]]:
- """
- Parameters
- ----------
- id : str
- The ID of the Workflow to pull from
-
- exclude_code : typing.Optional[bool]
-
- exclude_display : typing.Optional[bool]
-
- include_json : typing.Optional[bool]
-
- include_sandbox : typing.Optional[bool]
-
- release_tag : typing.Optional[str]
- Release tag to use when pulling from deployment (implies deployment-only lookup)
-
- strict : typing.Optional[bool]
-
- version : typing.Optional[str]
- Semantic version range to validate against the Workflow SDK version (e.g., '>=1.0.0,<1.2.3')
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
-
- Returns
- -------
- typing.Iterator[HttpResponse[typing.Iterator[bytes]]]
-
- """
- with self._client_wrapper.httpx_client.stream(
- f"v1/workflows/{jsonable_encoder(id)}/pull",
- base_url=self._client_wrapper.get_environment().predict,
- method="GET",
- params={
- "exclude_code": exclude_code,
- "exclude_display": exclude_display,
- "include_json": include_json,
- "include_sandbox": include_sandbox,
- "release_tag": release_tag,
- "strict": strict,
- "version": version,
- },
- request_options=request_options,
- ) as _response:
-
- def _stream() -> HttpResponse[typing.Iterator[bytes]]:
- try:
- if 200 <= _response.status_code < 300:
- _chunk_size = request_options.get("chunk_size", None) if request_options is not None else None
- return HttpResponse(
- response=_response, data=(_chunk for _chunk in _response.iter_bytes(chunk_size=_chunk_size))
- )
- _response.read()
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield _stream()
-
- def retrieve_state(
- self, span_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[WorkflowResolvedState]:
- """
- Retrieve the current state of a workflow execution.
-
- **Note:** Uses a base url of `https://predict.vellum.ai`.
-
- Parameters
- ----------
- span_id : str
- The span ID of the workflow execution to retrieve state for
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowResolvedState]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- f"v1/workflows/{jsonable_encoder(span_id)}/state",
- base_url=self._client_wrapper.get_environment().predict,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowResolvedState,
- parse_obj_as(
- type_=WorkflowResolvedState, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def push(
- self,
- *,
- exec_config: WorkflowPushExecConfig,
- workflow_sandbox_id: typing.Optional[str] = OMIT,
- deployment_config: typing.Optional[WorkflowPushDeploymentConfigRequest] = OMIT,
- artifact: typing.Optional[core.File] = OMIT,
- dataset: typing.Optional[typing.List[DatasetRowPushRequest]] = OMIT,
- dry_run: typing.Optional[bool] = OMIT,
- strict: typing.Optional[bool] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[WorkflowPushResponse]:
- """
- Parameters
- ----------
- exec_config : WorkflowPushExecConfig
- The execution configuration of the workflow.
-
- workflow_sandbox_id : typing.Optional[str]
-
- deployment_config : typing.Optional[WorkflowPushDeploymentConfigRequest]
-
- artifact : typing.Optional[core.File]
- See core.File for more documentation
-
- dataset : typing.Optional[typing.List[DatasetRowPushRequest]]
- List of dataset rows with inputs for scenarios.
-
- dry_run : typing.Optional[bool]
-
- strict : typing.Optional[bool]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkflowPushResponse]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/workflows/push",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- data={
- "exec_config": exec_config,
- "workflow_sandbox_id": workflow_sandbox_id,
- "deployment_config": deployment_config,
- "dataset": dataset,
- "dry_run": dry_run,
- "strict": strict,
- },
- files={
- **({"artifact": artifact} if artifact is not None else {}),
- },
- request_options=request_options,
- omit=OMIT,
- force_multipart=True,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowPushResponse,
- parse_obj_as(
- type_=WorkflowPushResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- def serialize_workflow_files(
- self,
- *,
- files: typing.Dict[str, typing.Optional[typing.Any]],
- module: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]:
- """
- Serialize files
-
- Parameters
- ----------
- files : typing.Dict[str, typing.Optional[typing.Any]]
-
- module : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/workflows/serialize",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "files": files,
- "module": module,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- typing.Dict[str, typing.Optional[typing.Any]],
- parse_obj_as(
- type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawWorkflowsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- @contextlib.asynccontextmanager
- async def pull(
- self,
- id: str,
- *,
- exclude_code: typing.Optional[bool] = None,
- exclude_display: typing.Optional[bool] = None,
- include_json: typing.Optional[bool] = None,
- include_sandbox: typing.Optional[bool] = None,
- release_tag: typing.Optional[str] = None,
- strict: typing.Optional[bool] = None,
- version: typing.Optional[str] = None,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[bytes]]]:
- """
- Parameters
- ----------
- id : str
- The ID of the Workflow to pull from
-
- exclude_code : typing.Optional[bool]
-
- exclude_display : typing.Optional[bool]
-
- include_json : typing.Optional[bool]
-
- include_sandbox : typing.Optional[bool]
-
- release_tag : typing.Optional[str]
- Release tag to use when pulling from deployment (implies deployment-only lookup)
-
- strict : typing.Optional[bool]
-
- version : typing.Optional[str]
- Semantic version range to validate against the Workflow SDK version (e.g., '>=1.0.0,<1.2.3')
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
-
- Returns
- -------
- typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[bytes]]]
-
- """
- async with self._client_wrapper.httpx_client.stream(
- f"v1/workflows/{jsonable_encoder(id)}/pull",
- base_url=self._client_wrapper.get_environment().predict,
- method="GET",
- params={
- "exclude_code": exclude_code,
- "exclude_display": exclude_display,
- "include_json": include_json,
- "include_sandbox": include_sandbox,
- "release_tag": release_tag,
- "strict": strict,
- "version": version,
- },
- request_options=request_options,
- ) as _response:
-
- async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[bytes]]:
- try:
- if 200 <= _response.status_code < 300:
- _chunk_size = request_options.get("chunk_size", None) if request_options is not None else None
- return AsyncHttpResponse(
- response=_response,
- data=(_chunk async for _chunk in _response.aiter_bytes(chunk_size=_chunk_size)),
- )
- await _response.aread()
- if _response.status_code == 400:
- raise BadRequestError(
- headers=dict(_response.headers),
- body=typing.cast(
- typing.Optional[typing.Any],
- parse_obj_as(
- type_=typing.Optional[typing.Any], # type: ignore
- object_=_response.json(),
- ),
- ),
- )
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(
- status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
- )
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- yield await _stream()
-
- async def retrieve_state(
- self, span_id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[WorkflowResolvedState]:
- """
- Retrieve the current state of a workflow execution.
-
- **Note:** Uses a base url of `https://predict.vellum.ai`.
-
- Parameters
- ----------
- span_id : str
- The span ID of the workflow execution to retrieve state for
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowResolvedState]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- f"v1/workflows/{jsonable_encoder(span_id)}/state",
- base_url=self._client_wrapper.get_environment().predict,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowResolvedState,
- parse_obj_as(
- type_=WorkflowResolvedState, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def push(
- self,
- *,
- exec_config: WorkflowPushExecConfig,
- workflow_sandbox_id: typing.Optional[str] = OMIT,
- deployment_config: typing.Optional[WorkflowPushDeploymentConfigRequest] = OMIT,
- artifact: typing.Optional[core.File] = OMIT,
- dataset: typing.Optional[typing.List[DatasetRowPushRequest]] = OMIT,
- dry_run: typing.Optional[bool] = OMIT,
- strict: typing.Optional[bool] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[WorkflowPushResponse]:
- """
- Parameters
- ----------
- exec_config : WorkflowPushExecConfig
- The execution configuration of the workflow.
-
- workflow_sandbox_id : typing.Optional[str]
-
- deployment_config : typing.Optional[WorkflowPushDeploymentConfigRequest]
-
- artifact : typing.Optional[core.File]
- See core.File for more documentation
-
- dataset : typing.Optional[typing.List[DatasetRowPushRequest]]
- List of dataset rows with inputs for scenarios.
-
- dry_run : typing.Optional[bool]
-
- strict : typing.Optional[bool]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkflowPushResponse]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/workflows/push",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- data={
- "exec_config": exec_config,
- "workflow_sandbox_id": workflow_sandbox_id,
- "deployment_config": deployment_config,
- "dataset": dataset,
- "dry_run": dry_run,
- "strict": strict,
- },
- files={
- **({"artifact": artifact} if artifact is not None else {}),
- },
- request_options=request_options,
- omit=OMIT,
- force_multipart=True,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkflowPushResponse,
- parse_obj_as(
- type_=WorkflowPushResponse, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
- async def serialize_workflow_files(
- self,
- *,
- files: typing.Dict[str, typing.Optional[typing.Any]],
- module: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]:
- """
- Serialize files
-
- Parameters
- ----------
- files : typing.Dict[str, typing.Optional[typing.Any]]
-
- module : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/workflows/serialize",
- base_url=self._client_wrapper.get_environment().default,
- method="POST",
- json={
- "files": files,
- "module": module,
- },
- headers={
- "content-type": "application/json",
- },
- request_options=request_options,
- omit=OMIT,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- typing.Dict[str, typing.Optional[typing.Any]],
- parse_obj_as(
- type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/workspace_secrets/__init__.py b/src/vellum/client/resources/workspace_secrets/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/workspace_secrets/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/workspace_secrets/client.py b/src/vellum/client/resources/workspace_secrets/client.py
deleted file mode 100644
index 542ecb7213..0000000000
--- a/src/vellum/client/resources/workspace_secrets/client.py
+++ /dev/null
@@ -1,215 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.workspace_secret_read import WorkspaceSecretRead
-from .raw_client import AsyncRawWorkspaceSecretsClient, RawWorkspaceSecretsClient
-
-# this is used as the default value for optional parameters
-OMIT = typing.cast(typing.Any, ...)
-
-
-class WorkspaceSecretsClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawWorkspaceSecretsClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawWorkspaceSecretsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawWorkspaceSecretsClient
- """
- return self._raw_client
-
- def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> WorkspaceSecretRead:
- """
- Used to retrieve a Workspace Secret given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Workspace Secret's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkspaceSecretRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workspace_secrets.retrieve(
- id="id",
- )
- """
- _response = self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- value: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkspaceSecretRead:
- """
- Used to update a Workspace Secret given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Workspace Secret's ID or its unique name
-
- label : typing.Optional[str]
-
- value : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkspaceSecretRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workspace_secrets.partial_update(
- id="id",
- )
- """
- _response = self._raw_client.partial_update(id, label=label, value=value, request_options=request_options)
- return _response.data
-
-
-class AsyncWorkspaceSecretsClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawWorkspaceSecretsClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawWorkspaceSecretsClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawWorkspaceSecretsClient
- """
- return self._raw_client
-
- async def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> WorkspaceSecretRead:
- """
- Used to retrieve a Workspace Secret given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Workspace Secret's ID or its unique name
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkspaceSecretRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workspace_secrets.retrieve(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.retrieve(id, request_options=request_options)
- return _response.data
-
- async def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- value: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> WorkspaceSecretRead:
- """
- Used to update a Workspace Secret given its ID or name.
-
- Parameters
- ----------
- id : str
- Either the Workspace Secret's ID or its unique name
-
- label : typing.Optional[str]
-
- value : typing.Optional[str]
-
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkspaceSecretRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workspace_secrets.partial_update(
- id="id",
- )
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.partial_update(id, label=label, value=value, request_options=request_options)
- return _response.data
diff --git a/src/vellum/client/resources/workspaces/__init__.py b/src/vellum/client/resources/workspaces/__init__.py
deleted file mode 100644
index 5cde0202dc..0000000000
--- a/src/vellum/client/resources/workspaces/__init__.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
diff --git a/src/vellum/client/resources/workspaces/client.py b/src/vellum/client/resources/workspaces/client.py
deleted file mode 100644
index f66952ba63..0000000000
--- a/src/vellum/client/resources/workspaces/client.py
+++ /dev/null
@@ -1,106 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.request_options import RequestOptions
-from ...types.workspace_read import WorkspaceRead
-from .raw_client import AsyncRawWorkspacesClient, RawWorkspacesClient
-
-
-class WorkspacesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._raw_client = RawWorkspacesClient(client_wrapper=client_wrapper)
-
- @property
- def _client_wrapper(self) -> SyncClientWrapper:
- return self._raw_client._client_wrapper
-
- @property
- def with_raw_response(self) -> RawWorkspacesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- RawWorkspacesClient
- """
- return self._raw_client
-
- def workspace_identity(self, *, request_options: typing.Optional[RequestOptions] = None) -> WorkspaceRead:
- """
- Retrieves information about the active Workspace
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkspaceRead
-
-
- Examples
- --------
- from vellum import Vellum
-
- client = Vellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
- client.workspaces.workspace_identity()
- """
- _response = self._raw_client.workspace_identity(request_options=request_options)
- return _response.data
-
-
-class AsyncWorkspacesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._raw_client = AsyncRawWorkspacesClient(client_wrapper=client_wrapper)
-
- @property
- def with_raw_response(self) -> AsyncRawWorkspacesClient:
- """
- Retrieves a raw implementation of this client that returns raw responses.
-
- Returns
- -------
- AsyncRawWorkspacesClient
- """
- return self._raw_client
-
- async def workspace_identity(self, *, request_options: typing.Optional[RequestOptions] = None) -> WorkspaceRead:
- """
- Retrieves information about the active Workspace
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- WorkspaceRead
-
-
- Examples
- --------
- import asyncio
-
- from vellum import AsyncVellum
-
- client = AsyncVellum(
- api_version="YOUR_API_VERSION",
- api_key="YOUR_API_KEY",
- )
-
-
- async def main() -> None:
- await client.workspaces.workspace_identity()
-
-
- asyncio.run(main())
- """
- _response = await self._raw_client.workspace_identity(request_options=request_options)
- return _response.data
diff --git a/src/vellum/client/resources/workspaces/raw_client.py b/src/vellum/client/resources/workspaces/raw_client.py
deleted file mode 100644
index 417c02d3d1..0000000000
--- a/src/vellum/client/resources/workspaces/raw_client.py
+++ /dev/null
@@ -1,95 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from json.decoder import JSONDecodeError
-
-from ...core.api_error import ApiError
-from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
-from ...core.http_response import AsyncHttpResponse, HttpResponse
-from ...core.pydantic_utilities import parse_obj_as
-from ...core.request_options import RequestOptions
-from ...types.workspace_read import WorkspaceRead
-
-
-class RawWorkspacesClient:
- def __init__(self, *, client_wrapper: SyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- def workspace_identity(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[WorkspaceRead]:
- """
- Retrieves information about the active Workspace
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- HttpResponse[WorkspaceRead]
-
- """
- _response = self._client_wrapper.httpx_client.request(
- "v1/workspaces/identity",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkspaceRead,
- parse_obj_as(
- type_=WorkspaceRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return HttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-
-
-class AsyncRawWorkspacesClient:
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
- self._client_wrapper = client_wrapper
-
- async def workspace_identity(
- self, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[WorkspaceRead]:
- """
- Retrieves information about the active Workspace
-
- Parameters
- ----------
- request_options : typing.Optional[RequestOptions]
- Request-specific configuration.
-
- Returns
- -------
- AsyncHttpResponse[WorkspaceRead]
-
- """
- _response = await self._client_wrapper.httpx_client.request(
- "v1/workspaces/identity",
- base_url=self._client_wrapper.get_environment().default,
- method="GET",
- request_options=request_options,
- )
- try:
- if 200 <= _response.status_code < 300:
- _data = typing.cast(
- WorkspaceRead,
- parse_obj_as(
- type_=WorkspaceRead, # type: ignore
- object_=_response.json(),
- ),
- )
- return AsyncHttpResponse(response=_response, data=_data)
- _response_json = _response.json()
- except JSONDecodeError:
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
- raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/types/__init__.py b/src/vellum/client/types/__init__.py
deleted file mode 100644
index ef48b102bb..0000000000
--- a/src/vellum/client/types/__init__.py
+++ /dev/null
@@ -1,1445 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-# isort: skip_file
-
-from .ad_hoc_execute_prompt_event import AdHocExecutePromptEvent
-from .ad_hoc_expand_meta import AdHocExpandMeta
-from .ad_hoc_fulfilled_prompt_execution_meta import AdHocFulfilledPromptExecutionMeta
-from .ad_hoc_initiated_prompt_execution_meta import AdHocInitiatedPromptExecutionMeta
-from .ad_hoc_rejected_prompt_execution_meta import AdHocRejectedPromptExecutionMeta
-from .ad_hoc_streaming_prompt_execution_meta import AdHocStreamingPromptExecutionMeta
-from .add_openai_api_key_enum import AddOpenaiApiKeyEnum
-from .api_actor_type_enum import ApiActorTypeEnum
-from .api_node_result import ApiNodeResult
-from .api_node_result_data import ApiNodeResultData
-from .api_request_parent_context import ApiRequestParentContext
-from .api_version_enum import ApiVersionEnum
-from .array_chat_message_content import ArrayChatMessageContent
-from .array_chat_message_content_item import ArrayChatMessageContentItem
-from .array_chat_message_content_item_request import ArrayChatMessageContentItemRequest
-from .array_chat_message_content_request import ArrayChatMessageContentRequest
-from .array_input import ArrayInput
-from .array_vellum_value import ArrayVellumValue
-from .array_vellum_value_request import ArrayVellumValueRequest
-from .audio_chat_message_content import AudioChatMessageContent
-from .audio_chat_message_content_request import AudioChatMessageContentRequest
-from .audio_input import AudioInput
-from .audio_input_request import AudioInputRequest
-from .audio_prompt_block import AudioPromptBlock
-from .audio_vellum_value import AudioVellumValue
-from .audio_vellum_value_request import AudioVellumValueRequest
-from .auth_type_enum import AuthTypeEnum
-from .base_output import BaseOutput
-from .basic_vectorizer_intfloat_multilingual_e_5_large import BasicVectorizerIntfloatMultilingualE5Large
-from .basic_vectorizer_intfloat_multilingual_e_5_large_request import BasicVectorizerIntfloatMultilingualE5LargeRequest
-from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1 import (
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1,
-)
-from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request import (
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request,
-)
-from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1 import (
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1,
-)
-from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request import (
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
-)
-from .build_status_enum import BuildStatusEnum
-from .chat_history_input import ChatHistoryInput
-from .chat_history_input_request import ChatHistoryInputRequest
-from .chat_history_vellum_value import ChatHistoryVellumValue
-from .chat_history_vellum_value_request import ChatHistoryVellumValueRequest
-from .chat_message import ChatMessage
-from .chat_message_content import ChatMessageContent
-from .chat_message_content_request import ChatMessageContentRequest
-from .chat_message_prompt_block import ChatMessagePromptBlock
-from .chat_message_request import ChatMessageRequest
-from .chat_message_role import ChatMessageRole
-from .code_execution_node_array_result import CodeExecutionNodeArrayResult
-from .code_execution_node_chat_history_result import CodeExecutionNodeChatHistoryResult
-from .code_execution_node_error_result import CodeExecutionNodeErrorResult
-from .code_execution_node_function_call_result import CodeExecutionNodeFunctionCallResult
-from .code_execution_node_json_result import CodeExecutionNodeJsonResult
-from .code_execution_node_number_result import CodeExecutionNodeNumberResult
-from .code_execution_node_result import CodeExecutionNodeResult
-from .code_execution_node_result_data import CodeExecutionNodeResultData
-from .code_execution_node_result_output import CodeExecutionNodeResultOutput
-from .code_execution_node_search_results_result import CodeExecutionNodeSearchResultsResult
-from .code_execution_node_string_result import CodeExecutionNodeStringResult
-from .code_execution_package import CodeExecutionPackage
-from .code_execution_runtime import CodeExecutionRuntime
-from .code_executor_input import CodeExecutorInput
-from .code_executor_response import CodeExecutorResponse
-from .code_executor_secret_input import CodeExecutorSecretInput
-from .code_resource_definition import CodeResourceDefinition
-from .compile_prompt_deployment_expand_meta_request import CompilePromptDeploymentExpandMetaRequest
-from .compile_prompt_meta import CompilePromptMeta
-from .components_schemas_composio_execute_tool_request import ComponentsSchemasComposioExecuteToolRequest
-from .components_schemas_composio_execute_tool_response import ComponentsSchemasComposioExecuteToolResponse
-from .components_schemas_composio_integration_exec_config import ComponentsSchemasComposioIntegrationExecConfig
-from .components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
-from .components_schemas_pdf_search_result_meta_source import ComponentsSchemasPdfSearchResultMetaSource
-from .components_schemas_pdf_search_result_meta_source_request import ComponentsSchemasPdfSearchResultMetaSourceRequest
-from .components_schemas_prompt_version_build_config_sandbox import ComponentsSchemasPromptVersionBuildConfigSandbox
-from .components_schemas_slim_composio_tool_definition import ComponentsSchemasSlimComposioToolDefinition
-from .composio_execute_tool_request import ComposioExecuteToolRequest
-from .composio_execute_tool_response import ComposioExecuteToolResponse
-from .composio_integration_exec_config import ComposioIntegrationExecConfig
-from .composio_tool_definition import ComposioToolDefinition
-from .condition_combinator import ConditionCombinator
-from .conditional_node_result import ConditionalNodeResult
-from .conditional_node_result_data import ConditionalNodeResultData
-from .container_image_build_config import ContainerImageBuildConfig
-from .container_image_container_image_tag import ContainerImageContainerImageTag
-from .container_image_read import ContainerImageRead
-from .create_test_suite_test_case_request import CreateTestSuiteTestCaseRequest
-from .create_workflow_event_request import CreateWorkflowEventRequest
-from .dataset_row_push_request import DatasetRowPushRequest
-from .delimiter_chunker_config import DelimiterChunkerConfig
-from .delimiter_chunker_config_request import DelimiterChunkerConfigRequest
-from .delimiter_chunking import DelimiterChunking
-from .delimiter_chunking_request import DelimiterChunkingRequest
-from .deployment_history_item import DeploymentHistoryItem
-from .deployment_provider_payload_response import DeploymentProviderPayloadResponse
-from .deployment_provider_payload_response_payload import DeploymentProviderPayloadResponsePayload
-from .deployment_read import DeploymentRead
-from .deployment_release_tag_deployment_history_item import DeploymentReleaseTagDeploymentHistoryItem
-from .deployment_release_tag_read import DeploymentReleaseTagRead
-from .deprecated_prompt_request_input import DeprecatedPromptRequestInput
-from .docker_service_token import DockerServiceToken
-from .document_chat_message_content import DocumentChatMessageContent
-from .document_chat_message_content_request import DocumentChatMessageContentRequest
-from .document_document_to_document_index import DocumentDocumentToDocumentIndex
-from .document_index_chunking import DocumentIndexChunking
-from .document_index_chunking_request import DocumentIndexChunkingRequest
-from .document_index_indexing_config import DocumentIndexIndexingConfig
-from .document_index_indexing_config_request import DocumentIndexIndexingConfigRequest
-from .document_index_read import DocumentIndexRead
-from .document_input import DocumentInput
-from .document_input_request import DocumentInputRequest
-from .document_processing_state import DocumentProcessingState
-from .document_prompt_block import DocumentPromptBlock
-from .document_read import DocumentRead
-from .document_status import DocumentStatus
-from .document_vellum_value import DocumentVellumValue
-from .document_vellum_value_request import DocumentVellumValueRequest
-from .enriched_normalized_completion import EnrichedNormalizedCompletion
-from .entity_status import EntityStatus
-from .entity_visibility import EntityVisibility
-from .environment_display_config import EnvironmentDisplayConfig
-from .environment_enum import EnvironmentEnum
-from .environment_read import EnvironmentRead
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .ephemeral_prompt_cache_config_type_enum import EphemeralPromptCacheConfigTypeEnum
-from .error_detail_response import ErrorDetailResponse
-from .error_input import ErrorInput
-from .error_vellum_value import ErrorVellumValue
-from .error_vellum_value_request import ErrorVellumValueRequest
-from .event_create_response import EventCreateResponse
-from .execute_api_request_bearer_token import ExecuteApiRequestBearerToken
-from .execute_api_request_body import ExecuteApiRequestBody
-from .execute_api_request_headers_value import ExecuteApiRequestHeadersValue
-from .execute_api_response import ExecuteApiResponse
-from .execute_api_response_json import ExecuteApiResponseJson
-from .execute_prompt_event import ExecutePromptEvent
-from .execute_prompt_response import ExecutePromptResponse
-from .execute_workflow_response import ExecuteWorkflowResponse
-from .execute_workflow_workflow_result_event import ExecuteWorkflowWorkflowResultEvent
-from .execution_array_vellum_value import ExecutionArrayVellumValue
-from .execution_audio_vellum_value import ExecutionAudioVellumValue
-from .execution_chat_history_vellum_value import ExecutionChatHistoryVellumValue
-from .execution_document_vellum_value import ExecutionDocumentVellumValue
-from .execution_error_vellum_value import ExecutionErrorVellumValue
-from .execution_function_call_vellum_value import ExecutionFunctionCallVellumValue
-from .execution_image_vellum_value import ExecutionImageVellumValue
-from .execution_json_vellum_value import ExecutionJsonVellumValue
-from .execution_number_vellum_value import ExecutionNumberVellumValue
-from .execution_search_results_vellum_value import ExecutionSearchResultsVellumValue
-from .execution_string_vellum_value import ExecutionStringVellumValue
-from .execution_thinking_vellum_value import ExecutionThinkingVellumValue
-from .execution_vellum_value import ExecutionVellumValue
-from .execution_video_vellum_value import ExecutionVideoVellumValue
-from .external_input_descriptor import ExternalInputDescriptor
-from .external_parent_context import ExternalParentContext
-from .external_test_case_execution import ExternalTestCaseExecution
-from .external_test_case_execution_request import ExternalTestCaseExecutionRequest
-from .fast_embed_vectorizer_baai_bge_small_en_v_15 import FastEmbedVectorizerBaaiBgeSmallEnV15
-from .fast_embed_vectorizer_baai_bge_small_en_v_15_request import FastEmbedVectorizerBaaiBgeSmallEnV15Request
-from .finish_reason_enum import FinishReasonEnum
-from .folder_entity import FolderEntity
-from .folder_entity_dataset import FolderEntityDataset
-from .folder_entity_dataset_data import FolderEntityDatasetData
-from .folder_entity_document_index import FolderEntityDocumentIndex
-from .folder_entity_document_index_data import FolderEntityDocumentIndexData
-from .folder_entity_folder import FolderEntityFolder
-from .folder_entity_folder_data import FolderEntityFolderData
-from .folder_entity_prompt_sandbox import FolderEntityPromptSandbox
-from .folder_entity_prompt_sandbox_data import FolderEntityPromptSandboxData
-from .folder_entity_test_suite import FolderEntityTestSuite
-from .folder_entity_test_suite_data import FolderEntityTestSuiteData
-from .folder_entity_workflow_sandbox import FolderEntityWorkflowSandbox
-from .folder_entity_workflow_sandbox_data import FolderEntityWorkflowSandboxData
-from .fulfilled_ad_hoc_execute_prompt_event import FulfilledAdHocExecutePromptEvent
-from .fulfilled_execute_prompt_event import FulfilledExecutePromptEvent
-from .fulfilled_execute_prompt_response import FulfilledExecutePromptResponse
-from .fulfilled_execute_workflow_workflow_result_event import FulfilledExecuteWorkflowWorkflowResultEvent
-from .fulfilled_prompt_execution_meta import FulfilledPromptExecutionMeta
-from .fulfilled_workflow_node_result_event import FulfilledWorkflowNodeResultEvent
-from .function_call import FunctionCall
-from .function_call_chat_message_content import FunctionCallChatMessageContent
-from .function_call_chat_message_content_request import FunctionCallChatMessageContentRequest
-from .function_call_chat_message_content_value import FunctionCallChatMessageContentValue
-from .function_call_chat_message_content_value_request import FunctionCallChatMessageContentValueRequest
-from .function_call_input import FunctionCallInput
-from .function_call_prompt_block import FunctionCallPromptBlock
-from .function_call_request import FunctionCallRequest
-from .function_call_vellum_value import FunctionCallVellumValue
-from .function_call_vellum_value_request import FunctionCallVellumValueRequest
-from .function_definition import FunctionDefinition
-from .generate_options_request import GenerateOptionsRequest
-from .generate_request import GenerateRequest
-from .generate_response import GenerateResponse
-from .generate_result import GenerateResult
-from .generate_result_data import GenerateResultData
-from .generate_result_error import GenerateResultError
-from .generate_stream_response import GenerateStreamResponse
-from .generate_stream_result import GenerateStreamResult
-from .generate_stream_result_data import GenerateStreamResultData
-from .google_vertex_ai_vectorizer_config import GoogleVertexAiVectorizerConfig
-from .google_vertex_ai_vectorizer_config_request import GoogleVertexAiVectorizerConfigRequest
-from .google_vertex_ai_vectorizer_gemini_embedding_001 import GoogleVertexAiVectorizerGeminiEmbedding001
-from .google_vertex_ai_vectorizer_gemini_embedding_001_request import GoogleVertexAiVectorizerGeminiEmbedding001Request
-from .google_vertex_ai_vectorizer_text_embedding_004 import GoogleVertexAiVectorizerTextEmbedding004
-from .google_vertex_ai_vectorizer_text_embedding_004_request import GoogleVertexAiVectorizerTextEmbedding004Request
-from .google_vertex_ai_vectorizer_text_multilingual_embedding_002 import (
- GoogleVertexAiVectorizerTextMultilingualEmbedding002,
-)
-from .google_vertex_ai_vectorizer_text_multilingual_embedding_002_request import (
- GoogleVertexAiVectorizerTextMultilingualEmbedding002Request,
-)
-from .hkunlp_instructor_xl_vectorizer import HkunlpInstructorXlVectorizer
-from .hkunlp_instructor_xl_vectorizer_request import HkunlpInstructorXlVectorizerRequest
-from .image_chat_message_content import ImageChatMessageContent
-from .image_chat_message_content_request import ImageChatMessageContentRequest
-from .image_input import ImageInput
-from .image_input_request import ImageInputRequest
-from .image_prompt_block import ImagePromptBlock
-from .image_vellum_value import ImageVellumValue
-from .image_vellum_value_request import ImageVellumValueRequest
-from .indexing_config_vectorizer import IndexingConfigVectorizer
-from .indexing_config_vectorizer_request import IndexingConfigVectorizerRequest
-from .indexing_state_enum import IndexingStateEnum
-from .initiated_ad_hoc_execute_prompt_event import InitiatedAdHocExecutePromptEvent
-from .initiated_execute_prompt_event import InitiatedExecutePromptEvent
-from .initiated_prompt_execution_meta import InitiatedPromptExecutionMeta
-from .initiated_workflow_node_result_event import InitiatedWorkflowNodeResultEvent
-from .instructor_vectorizer_config import InstructorVectorizerConfig
-from .instructor_vectorizer_config_request import InstructorVectorizerConfigRequest
-from .integration import Integration
-from .integration_auth_config_integration import IntegrationAuthConfigIntegration
-from .integration_auth_config_integration_credential import IntegrationAuthConfigIntegrationCredential
-from .integration_credential_access_type import IntegrationCredentialAccessType
-from .integration_name import IntegrationName
-from .integration_provider import IntegrationProvider
-from .integration_read import IntegrationRead
-from .integration_trigger_context import IntegrationTriggerContext
-from .invoked_port import InvokedPort
-from .iteration_state_enum import IterationStateEnum
-from .jinja_prompt_block import JinjaPromptBlock
-from .json_input import JsonInput
-from .json_input_request import JsonInputRequest
-from .json_vellum_value import JsonVellumValue
-from .json_vellum_value_request import JsonVellumValueRequest
-from .logical_operator import LogicalOperator
-from .logprobs_enum import LogprobsEnum
-from .map_node_result import MapNodeResult
-from .map_node_result_data import MapNodeResultData
-from .merge_node_result import MergeNodeResult
-from .merge_node_result_data import MergeNodeResultData
-from .metadata_filter_config_request import MetadataFilterConfigRequest
-from .metadata_filter_rule_combinator import MetadataFilterRuleCombinator
-from .metadata_filter_rule_request import MetadataFilterRuleRequest
-from .metadata_filters_request import MetadataFiltersRequest
-from .method_enum import MethodEnum
-from .metric_definition_execution import MetricDefinitionExecution
-from .metric_definition_history_item import MetricDefinitionHistoryItem
-from .metric_definition_input import MetricDefinitionInput
-from .metric_node_result import MetricNodeResult
-from .ml_model_read import MlModelRead
-from .ml_model_usage import MlModelUsage
-from .ml_model_usage_wrapper import MlModelUsageWrapper
-from .named_scenario_input_audio_variable_value_request import NamedScenarioInputAudioVariableValueRequest
-from .named_scenario_input_chat_history_variable_value_request import NamedScenarioInputChatHistoryVariableValueRequest
-from .named_scenario_input_document_variable_value_request import NamedScenarioInputDocumentVariableValueRequest
-from .named_scenario_input_image_variable_value_request import NamedScenarioInputImageVariableValueRequest
-from .named_scenario_input_json_variable_value_request import NamedScenarioInputJsonVariableValueRequest
-from .named_scenario_input_request import NamedScenarioInputRequest
-from .named_scenario_input_string_variable_value_request import NamedScenarioInputStringVariableValueRequest
-from .named_scenario_input_video_variable_value_request import NamedScenarioInputVideoVariableValueRequest
-from .named_test_case_array_variable_value import NamedTestCaseArrayVariableValue
-from .named_test_case_array_variable_value_request import NamedTestCaseArrayVariableValueRequest
-from .named_test_case_audio_variable_value import NamedTestCaseAudioVariableValue
-from .named_test_case_audio_variable_value_request import NamedTestCaseAudioVariableValueRequest
-from .named_test_case_chat_history_variable_value import NamedTestCaseChatHistoryVariableValue
-from .named_test_case_chat_history_variable_value_request import NamedTestCaseChatHistoryVariableValueRequest
-from .named_test_case_document_variable_value import NamedTestCaseDocumentVariableValue
-from .named_test_case_document_variable_value_request import NamedTestCaseDocumentVariableValueRequest
-from .named_test_case_error_variable_value import NamedTestCaseErrorVariableValue
-from .named_test_case_error_variable_value_request import NamedTestCaseErrorVariableValueRequest
-from .named_test_case_function_call_variable_value import NamedTestCaseFunctionCallVariableValue
-from .named_test_case_function_call_variable_value_request import NamedTestCaseFunctionCallVariableValueRequest
-from .named_test_case_image_variable_value import NamedTestCaseImageVariableValue
-from .named_test_case_image_variable_value_request import NamedTestCaseImageVariableValueRequest
-from .named_test_case_json_variable_value import NamedTestCaseJsonVariableValue
-from .named_test_case_json_variable_value_request import NamedTestCaseJsonVariableValueRequest
-from .named_test_case_number_variable_value import NamedTestCaseNumberVariableValue
-from .named_test_case_number_variable_value_request import NamedTestCaseNumberVariableValueRequest
-from .named_test_case_search_results_variable_value import NamedTestCaseSearchResultsVariableValue
-from .named_test_case_search_results_variable_value_request import NamedTestCaseSearchResultsVariableValueRequest
-from .named_test_case_string_variable_value import NamedTestCaseStringVariableValue
-from .named_test_case_string_variable_value_request import NamedTestCaseStringVariableValueRequest
-from .named_test_case_variable_value import NamedTestCaseVariableValue
-from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
-from .named_test_case_video_variable_value import NamedTestCaseVideoVariableValue
-from .named_test_case_video_variable_value_request import NamedTestCaseVideoVariableValueRequest
-from .new_member_join_behavior_enum import NewMemberJoinBehaviorEnum
-from .node_execution_fulfilled_body import NodeExecutionFulfilledBody
-from .node_execution_fulfilled_event import NodeExecutionFulfilledEvent
-from .node_execution_initiated_body import NodeExecutionInitiatedBody
-from .node_execution_initiated_event import NodeExecutionInitiatedEvent
-from .node_execution_paused_body import NodeExecutionPausedBody
-from .node_execution_paused_event import NodeExecutionPausedEvent
-from .node_execution_rejected_body import NodeExecutionRejectedBody
-from .node_execution_rejected_event import NodeExecutionRejectedEvent
-from .node_execution_resumed_body import NodeExecutionResumedBody
-from .node_execution_resumed_event import NodeExecutionResumedEvent
-from .node_execution_span import NodeExecutionSpan
-from .node_execution_span_attributes import NodeExecutionSpanAttributes
-from .node_execution_streaming_body import NodeExecutionStreamingBody
-from .node_execution_streaming_event import NodeExecutionStreamingEvent
-from .node_input_compiled_array_value import NodeInputCompiledArrayValue
-from .node_input_compiled_audio_value import NodeInputCompiledAudioValue
-from .node_input_compiled_chat_history_value import NodeInputCompiledChatHistoryValue
-from .node_input_compiled_document_value import NodeInputCompiledDocumentValue
-from .node_input_compiled_error_value import NodeInputCompiledErrorValue
-from .node_input_compiled_function_call_value import NodeInputCompiledFunctionCallValue
-from .node_input_compiled_image_value import NodeInputCompiledImageValue
-from .node_input_compiled_json_value import NodeInputCompiledJsonValue
-from .node_input_compiled_number_value import NodeInputCompiledNumberValue
-from .node_input_compiled_search_results_value import NodeInputCompiledSearchResultsValue
-from .node_input_compiled_secret_value import NodeInputCompiledSecretValue
-from .node_input_compiled_string_value import NodeInputCompiledStringValue
-from .node_input_compiled_video_value import NodeInputCompiledVideoValue
-from .node_input_variable_compiled_value import NodeInputVariableCompiledValue
-from .node_output_compiled_array_value import NodeOutputCompiledArrayValue
-from .node_output_compiled_chat_history_value import NodeOutputCompiledChatHistoryValue
-from .node_output_compiled_error_value import NodeOutputCompiledErrorValue
-from .node_output_compiled_function_call_value import NodeOutputCompiledFunctionCallValue
-from .node_output_compiled_json_value import NodeOutputCompiledJsonValue
-from .node_output_compiled_number_value import NodeOutputCompiledNumberValue
-from .node_output_compiled_search_results_value import NodeOutputCompiledSearchResultsValue
-from .node_output_compiled_string_value import NodeOutputCompiledStringValue
-from .node_output_compiled_thinking_value import NodeOutputCompiledThinkingValue
-from .node_output_compiled_value import NodeOutputCompiledValue
-from .node_parent_context import NodeParentContext
-from .normalized_log_probs import NormalizedLogProbs
-from .normalized_token_log_probs import NormalizedTokenLogProbs
-from .number_input import NumberInput
-from .number_vellum_value import NumberVellumValue
-from .number_vellum_value_request import NumberVellumValueRequest
-from .open_ai_vectorizer_config import OpenAiVectorizerConfig
-from .open_ai_vectorizer_config_request import OpenAiVectorizerConfigRequest
-from .open_ai_vectorizer_text_embedding_3_large import OpenAiVectorizerTextEmbedding3Large
-from .open_ai_vectorizer_text_embedding_3_large_request import OpenAiVectorizerTextEmbedding3LargeRequest
-from .open_ai_vectorizer_text_embedding_3_small import OpenAiVectorizerTextEmbedding3Small
-from .open_ai_vectorizer_text_embedding_3_small_request import OpenAiVectorizerTextEmbedding3SmallRequest
-from .open_ai_vectorizer_text_embedding_ada_002 import OpenAiVectorizerTextEmbeddingAda002
-from .open_ai_vectorizer_text_embedding_ada_002_request import OpenAiVectorizerTextEmbeddingAda002Request
-from .organization_read import OrganizationRead
-from .paginated_container_image_read_list import PaginatedContainerImageReadList
-from .paginated_deployment_release_tag_read_list import PaginatedDeploymentReleaseTagReadList
-from .paginated_document_index_read_list import PaginatedDocumentIndexReadList
-from .paginated_folder_entity_list import PaginatedFolderEntityList
-from .paginated_slim_deployment_read_list import PaginatedSlimDeploymentReadList
-from .paginated_slim_document_list import PaginatedSlimDocumentList
-from .paginated_slim_integration_auth_config_read_list import PaginatedSlimIntegrationAuthConfigReadList
-from .paginated_slim_integration_read_list import PaginatedSlimIntegrationReadList
-from .paginated_slim_tool_definition_list import PaginatedSlimToolDefinitionList
-from .paginated_slim_workflow_deployment_list import PaginatedSlimWorkflowDeploymentList
-from .paginated_test_suite_run_execution_list import PaginatedTestSuiteRunExecutionList
-from .paginated_test_suite_test_case_list import PaginatedTestSuiteTestCaseList
-from .paginated_workflow_deployment_release_list import PaginatedWorkflowDeploymentReleaseList
-from .paginated_workflow_release_tag_read_list import PaginatedWorkflowReleaseTagReadList
-from .paginated_workflow_sandbox_example_list import PaginatedWorkflowSandboxExampleList
-from .parent_context import ParentContext
-from .pdf_search_result_meta_source import PdfSearchResultMetaSource
-from .pdf_search_result_meta_source_request import PdfSearchResultMetaSourceRequest
-from .plain_text_prompt_block import PlainTextPromptBlock
-from .price import Price
-from .private_vectorizer import PrivateVectorizer
-from .private_vectorizer_request import PrivateVectorizerRequest
-from .processing_failure_reason_enum import ProcessingFailureReasonEnum
-from .prompt_block import PromptBlock
-from .prompt_block_state import PromptBlockState
-from .prompt_deployment_expand_meta_request import PromptDeploymentExpandMetaRequest
-from .prompt_deployment_input_request import PromptDeploymentInputRequest
-from .prompt_deployment_parent_context import PromptDeploymentParentContext
-from .prompt_deployment_release import PromptDeploymentRelease
-from .prompt_deployment_release_prompt_deployment import PromptDeploymentReleasePromptDeployment
-from .prompt_deployment_release_prompt_version import PromptDeploymentReleasePromptVersion
-from .prompt_exec_config import PromptExecConfig
-from .prompt_execution_meta import PromptExecutionMeta
-from .prompt_node_execution_meta import PromptNodeExecutionMeta
-from .prompt_node_result import PromptNodeResult
-from .prompt_node_result_data import PromptNodeResultData
-from .prompt_output import PromptOutput
-from .prompt_parameters import PromptParameters
-from .prompt_push_response import PromptPushResponse
-from .prompt_request_audio_input import PromptRequestAudioInput
-from .prompt_request_chat_history_input import PromptRequestChatHistoryInput
-from .prompt_request_document_input import PromptRequestDocumentInput
-from .prompt_request_image_input import PromptRequestImageInput
-from .prompt_request_input import PromptRequestInput
-from .prompt_request_json_input import PromptRequestJsonInput
-from .prompt_request_string_input import PromptRequestStringInput
-from .prompt_request_video_input import PromptRequestVideoInput
-from .prompt_settings import PromptSettings
-from .prompt_version_build_config_sandbox import PromptVersionBuildConfigSandbox
-from .raw_prompt_execution_overrides_request import RawPromptExecutionOverridesRequest
-from .reducto_chunker_config import ReductoChunkerConfig
-from .reducto_chunker_config_request import ReductoChunkerConfigRequest
-from .reducto_chunking import ReductoChunking
-from .reducto_chunking_request import ReductoChunkingRequest
-from .rejected_ad_hoc_execute_prompt_event import RejectedAdHocExecutePromptEvent
-from .rejected_execute_prompt_event import RejectedExecutePromptEvent
-from .rejected_execute_prompt_response import RejectedExecutePromptResponse
-from .rejected_execute_workflow_workflow_result_event import RejectedExecuteWorkflowWorkflowResultEvent
-from .rejected_prompt_execution_meta import RejectedPromptExecutionMeta
-from .rejected_workflow_node_result_event import RejectedWorkflowNodeResultEvent
-from .release_created_by import ReleaseCreatedBy
-from .release_environment import ReleaseEnvironment
-from .release_release_tag import ReleaseReleaseTag
-from .release_review_reviewer import ReleaseReviewReviewer
-from .release_review_state import ReleaseReviewState
-from .release_tag_release import ReleaseTagRelease
-from .release_tag_source import ReleaseTagSource
-from .replace_test_suite_test_case_request import ReplaceTestSuiteTestCaseRequest
-from .rich_text_child_block import RichTextChildBlock
-from .rich_text_prompt_block import RichTextPromptBlock
-from .sandbox_scenario import SandboxScenario
-from .scenario_input import ScenarioInput
-from .scenario_input_audio_variable_value import ScenarioInputAudioVariableValue
-from .scenario_input_chat_history_variable_value import ScenarioInputChatHistoryVariableValue
-from .scenario_input_document_variable_value import ScenarioInputDocumentVariableValue
-from .scenario_input_image_variable_value import ScenarioInputImageVariableValue
-from .scenario_input_json_variable_value import ScenarioInputJsonVariableValue
-from .scenario_input_string_variable_value import ScenarioInputStringVariableValue
-from .scenario_input_video_variable_value import ScenarioInputVideoVariableValue
-from .scheduled_trigger_context import ScheduledTriggerContext
-from .search_filters_request import SearchFiltersRequest
-from .search_node_result import SearchNodeResult
-from .search_node_result_data import SearchNodeResultData
-from .search_request_options_request import SearchRequestOptionsRequest
-from .search_response import SearchResponse
-from .search_result import SearchResult
-from .search_result_document import SearchResultDocument
-from .search_result_document_request import SearchResultDocumentRequest
-from .search_result_merging_request import SearchResultMergingRequest
-from .search_result_meta import SearchResultMeta
-from .search_result_meta_request import SearchResultMetaRequest
-from .search_result_request import SearchResultRequest
-from .search_results_input import SearchResultsInput
-from .search_results_vellum_value import SearchResultsVellumValue
-from .search_results_vellum_value_request import SearchResultsVellumValueRequest
-from .search_weights_request import SearchWeightsRequest
-from .secret_type_enum import SecretTypeEnum
-from .sentence_chunker_config import SentenceChunkerConfig
-from .sentence_chunker_config_request import SentenceChunkerConfigRequest
-from .sentence_chunking import SentenceChunking
-from .sentence_chunking_request import SentenceChunkingRequest
-from .slim_composio_tool_definition import SlimComposioToolDefinition
-from .slim_deployment_read import SlimDeploymentRead
-from .slim_document import SlimDocument
-from .slim_document_document_to_document_index import SlimDocumentDocumentToDocumentIndex
-from .slim_integration_auth_config_read import SlimIntegrationAuthConfigRead
-from .slim_integration_read import SlimIntegrationRead
-from .slim_release_review import SlimReleaseReview
-from .slim_workflow_deployment import SlimWorkflowDeployment
-from .slim_workflow_execution_read import SlimWorkflowExecutionRead
-from .span_link import SpanLink
-from .span_link_type_enum import SpanLinkTypeEnum
-from .streaming_ad_hoc_execute_prompt_event import StreamingAdHocExecutePromptEvent
-from .streaming_execute_prompt_event import StreamingExecutePromptEvent
-from .streaming_prompt_execution_meta import StreamingPromptExecutionMeta
-from .streaming_workflow_node_result_event import StreamingWorkflowNodeResultEvent
-from .string_chat_message_content import StringChatMessageContent
-from .string_chat_message_content_request import StringChatMessageContentRequest
-from .string_input import StringInput
-from .string_input_request import StringInputRequest
-from .string_vellum_value import StringVellumValue
-from .string_vellum_value_request import StringVellumValueRequest
-from .submit_completion_actual_request import SubmitCompletionActualRequest
-from .submit_workflow_execution_actual_request import SubmitWorkflowExecutionActualRequest
-from .subworkflow_node_result import SubworkflowNodeResult
-from .subworkflow_node_result_data import SubworkflowNodeResultData
-from .templating_node_array_result import TemplatingNodeArrayResult
-from .templating_node_chat_history_result import TemplatingNodeChatHistoryResult
-from .templating_node_error_result import TemplatingNodeErrorResult
-from .templating_node_function_call_result import TemplatingNodeFunctionCallResult
-from .templating_node_json_result import TemplatingNodeJsonResult
-from .templating_node_number_result import TemplatingNodeNumberResult
-from .templating_node_result import TemplatingNodeResult
-from .templating_node_result_data import TemplatingNodeResultData
-from .templating_node_result_output import TemplatingNodeResultOutput
-from .templating_node_search_results_result import TemplatingNodeSearchResultsResult
-from .templating_node_string_result import TemplatingNodeStringResult
-from .terminal_node_array_result import TerminalNodeArrayResult
-from .terminal_node_chat_history_result import TerminalNodeChatHistoryResult
-from .terminal_node_error_result import TerminalNodeErrorResult
-from .terminal_node_function_call_result import TerminalNodeFunctionCallResult
-from .terminal_node_json_result import TerminalNodeJsonResult
-from .terminal_node_number_result import TerminalNodeNumberResult
-from .terminal_node_result import TerminalNodeResult
-from .terminal_node_result_data import TerminalNodeResultData
-from .terminal_node_result_output import TerminalNodeResultOutput
-from .terminal_node_search_results_result import TerminalNodeSearchResultsResult
-from .terminal_node_string_result import TerminalNodeStringResult
-from .test_case_array_variable_value import TestCaseArrayVariableValue
-from .test_case_audio_variable_value import TestCaseAudioVariableValue
-from .test_case_chat_history_variable_value import TestCaseChatHistoryVariableValue
-from .test_case_document_variable_value import TestCaseDocumentVariableValue
-from .test_case_error_variable_value import TestCaseErrorVariableValue
-from .test_case_function_call_variable_value import TestCaseFunctionCallVariableValue
-from .test_case_image_variable_value import TestCaseImageVariableValue
-from .test_case_json_variable_value import TestCaseJsonVariableValue
-from .test_case_number_variable_value import TestCaseNumberVariableValue
-from .test_case_search_results_variable_value import TestCaseSearchResultsVariableValue
-from .test_case_string_variable_value import TestCaseStringVariableValue
-from .test_case_variable_value import TestCaseVariableValue
-from .test_case_video_variable_value import TestCaseVideoVariableValue
-from .test_suite_run_deployment_release_tag_exec_config import TestSuiteRunDeploymentReleaseTagExecConfig
-from .test_suite_run_deployment_release_tag_exec_config_data import TestSuiteRunDeploymentReleaseTagExecConfigData
-from .test_suite_run_deployment_release_tag_exec_config_data_request import (
- TestSuiteRunDeploymentReleaseTagExecConfigDataRequest,
-)
-from .test_suite_run_deployment_release_tag_exec_config_request import TestSuiteRunDeploymentReleaseTagExecConfigRequest
-from .test_suite_run_exec_config import TestSuiteRunExecConfig
-from .test_suite_run_exec_config_request import TestSuiteRunExecConfigRequest
-from .test_suite_run_execution import TestSuiteRunExecution
-from .test_suite_run_execution_array_output import TestSuiteRunExecutionArrayOutput
-from .test_suite_run_execution_chat_history_output import TestSuiteRunExecutionChatHistoryOutput
-from .test_suite_run_execution_error_output import TestSuiteRunExecutionErrorOutput
-from .test_suite_run_execution_function_call_output import TestSuiteRunExecutionFunctionCallOutput
-from .test_suite_run_execution_json_output import TestSuiteRunExecutionJsonOutput
-from .test_suite_run_execution_metric_definition import TestSuiteRunExecutionMetricDefinition
-from .test_suite_run_execution_metric_result import TestSuiteRunExecutionMetricResult
-from .test_suite_run_execution_number_output import TestSuiteRunExecutionNumberOutput
-from .test_suite_run_execution_output import TestSuiteRunExecutionOutput
-from .test_suite_run_execution_search_results_output import TestSuiteRunExecutionSearchResultsOutput
-from .test_suite_run_execution_string_output import TestSuiteRunExecutionStringOutput
-from .test_suite_run_external_exec_config import TestSuiteRunExternalExecConfig
-from .test_suite_run_external_exec_config_data import TestSuiteRunExternalExecConfigData
-from .test_suite_run_external_exec_config_data_request import TestSuiteRunExternalExecConfigDataRequest
-from .test_suite_run_external_exec_config_request import TestSuiteRunExternalExecConfigRequest
-from .test_suite_run_metric_array_output import TestSuiteRunMetricArrayOutput
-from .test_suite_run_metric_error_output import TestSuiteRunMetricErrorOutput
-from .test_suite_run_metric_json_output import TestSuiteRunMetricJsonOutput
-from .test_suite_run_metric_number_output import TestSuiteRunMetricNumberOutput
-from .test_suite_run_metric_output import TestSuiteRunMetricOutput
-from .test_suite_run_metric_string_output import TestSuiteRunMetricStringOutput
-from .test_suite_run_progress import TestSuiteRunProgress
-from .test_suite_run_prompt_sandbox_exec_config_data_request import TestSuiteRunPromptSandboxExecConfigDataRequest
-from .test_suite_run_prompt_sandbox_exec_config_request import TestSuiteRunPromptSandboxExecConfigRequest
-from .test_suite_run_prompt_sandbox_history_item_exec_config import TestSuiteRunPromptSandboxHistoryItemExecConfig
-from .test_suite_run_prompt_sandbox_history_item_exec_config_data import (
- TestSuiteRunPromptSandboxHistoryItemExecConfigData,
-)
-from .test_suite_run_prompt_sandbox_history_item_exec_config_data_request import (
- TestSuiteRunPromptSandboxHistoryItemExecConfigDataRequest,
-)
-from .test_suite_run_prompt_sandbox_history_item_exec_config_request import (
- TestSuiteRunPromptSandboxHistoryItemExecConfigRequest,
-)
-from .test_suite_run_read import TestSuiteRunRead
-from .test_suite_run_state import TestSuiteRunState
-from .test_suite_run_test_suite import TestSuiteRunTestSuite
-from .test_suite_run_workflow_release_tag_exec_config import TestSuiteRunWorkflowReleaseTagExecConfig
-from .test_suite_run_workflow_release_tag_exec_config_data import TestSuiteRunWorkflowReleaseTagExecConfigData
-from .test_suite_run_workflow_release_tag_exec_config_data_request import (
- TestSuiteRunWorkflowReleaseTagExecConfigDataRequest,
-)
-from .test_suite_run_workflow_release_tag_exec_config_request import TestSuiteRunWorkflowReleaseTagExecConfigRequest
-from .test_suite_run_workflow_sandbox_exec_config_data_request import TestSuiteRunWorkflowSandboxExecConfigDataRequest
-from .test_suite_run_workflow_sandbox_exec_config_request import TestSuiteRunWorkflowSandboxExecConfigRequest
-from .test_suite_run_workflow_sandbox_history_item_exec_config import TestSuiteRunWorkflowSandboxHistoryItemExecConfig
-from .test_suite_run_workflow_sandbox_history_item_exec_config_data import (
- TestSuiteRunWorkflowSandboxHistoryItemExecConfigData,
-)
-from .test_suite_run_workflow_sandbox_history_item_exec_config_data_request import (
- TestSuiteRunWorkflowSandboxHistoryItemExecConfigDataRequest,
-)
-from .test_suite_run_workflow_sandbox_history_item_exec_config_request import (
- TestSuiteRunWorkflowSandboxHistoryItemExecConfigRequest,
-)
-from .test_suite_test_case import TestSuiteTestCase
-from .test_suite_test_case_bulk_operation_request import TestSuiteTestCaseBulkOperationRequest
-from .test_suite_test_case_bulk_result import TestSuiteTestCaseBulkResult
-from .test_suite_test_case_create_bulk_operation_request import TestSuiteTestCaseCreateBulkOperationRequest
-from .test_suite_test_case_created_bulk_result import TestSuiteTestCaseCreatedBulkResult
-from .test_suite_test_case_created_bulk_result_data import TestSuiteTestCaseCreatedBulkResultData
-from .test_suite_test_case_delete_bulk_operation_data_request import TestSuiteTestCaseDeleteBulkOperationDataRequest
-from .test_suite_test_case_delete_bulk_operation_request import TestSuiteTestCaseDeleteBulkOperationRequest
-from .test_suite_test_case_deleted_bulk_result import TestSuiteTestCaseDeletedBulkResult
-from .test_suite_test_case_deleted_bulk_result_data import TestSuiteTestCaseDeletedBulkResultData
-from .test_suite_test_case_rejected_bulk_result import TestSuiteTestCaseRejectedBulkResult
-from .test_suite_test_case_replace_bulk_operation_request import TestSuiteTestCaseReplaceBulkOperationRequest
-from .test_suite_test_case_replaced_bulk_result import TestSuiteTestCaseReplacedBulkResult
-from .test_suite_test_case_replaced_bulk_result_data import TestSuiteTestCaseReplacedBulkResultData
-from .test_suite_test_case_upsert_bulk_operation_request import TestSuiteTestCaseUpsertBulkOperationRequest
-from .thinking_vellum_value import ThinkingVellumValue
-from .thinking_vellum_value_request import ThinkingVellumValueRequest
-from .token_overlapping_window_chunker_config import TokenOverlappingWindowChunkerConfig
-from .token_overlapping_window_chunker_config_request import TokenOverlappingWindowChunkerConfigRequest
-from .token_overlapping_window_chunking import TokenOverlappingWindowChunking
-from .token_overlapping_window_chunking_request import TokenOverlappingWindowChunkingRequest
-from .unit_enum import UnitEnum
-from .update_active_workspace_response import UpdateActiveWorkspaceResponse
-from .upload_document_response import UploadDocumentResponse
-from .upsert_test_suite_test_case_request import UpsertTestSuiteTestCaseRequest
-from .variable_prompt_block import VariablePromptBlock
-from .vellum_audio import VellumAudio
-from .vellum_audio_request import VellumAudioRequest
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-from .vellum_document import VellumDocument
-from .vellum_document_request import VellumDocumentRequest
-from .vellum_error import VellumError
-from .vellum_error_code_enum import VellumErrorCodeEnum
-from .vellum_error_request import VellumErrorRequest
-from .vellum_image import VellumImage
-from .vellum_image_request import VellumImageRequest
-from .vellum_node_execution_event import VellumNodeExecutionEvent
-from .vellum_sdk_error import VellumSdkError
-from .vellum_sdk_error_code_enum import VellumSdkErrorCodeEnum
-from .vellum_secret import VellumSecret
-from .vellum_span import VellumSpan
-from .vellum_value import VellumValue
-from .vellum_value_logical_condition_group_request import VellumValueLogicalConditionGroupRequest
-from .vellum_value_logical_condition_request import VellumValueLogicalConditionRequest
-from .vellum_value_logical_expression_request import VellumValueLogicalExpressionRequest
-from .vellum_value_request import VellumValueRequest
-from .vellum_variable import VellumVariable
-from .vellum_variable_extensions import VellumVariableExtensions
-from .vellum_variable_type import VellumVariableType
-from .vellum_video import VellumVideo
-from .vellum_video_request import VellumVideoRequest
-from .vellum_workflow_execution_event import VellumWorkflowExecutionEvent
-from .video_chat_message_content import VideoChatMessageContent
-from .video_chat_message_content_request import VideoChatMessageContentRequest
-from .video_input import VideoInput
-from .video_input_request import VideoInputRequest
-from .video_prompt_block import VideoPromptBlock
-from .video_vellum_value import VideoVellumValue
-from .video_vellum_value_request import VideoVellumValueRequest
-from .workflow_deployment_display_data import WorkflowDeploymentDisplayData
-from .workflow_deployment_event_executions_response import WorkflowDeploymentEventExecutionsResponse
-from .workflow_deployment_history_item import WorkflowDeploymentHistoryItem
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
-from .workflow_deployment_read import WorkflowDeploymentRead
-from .workflow_deployment_release import WorkflowDeploymentRelease
-from .workflow_deployment_release_workflow_deployment import WorkflowDeploymentReleaseWorkflowDeployment
-from .workflow_deployment_release_workflow_version import WorkflowDeploymentReleaseWorkflowVersion
-from .workflow_display_icon import WorkflowDisplayIcon
-from .workflow_error import WorkflowError
-from .workflow_event import WorkflowEvent
-from .workflow_event_error import WorkflowEventError
-from .workflow_event_execution_read import WorkflowEventExecutionRead
-from .workflow_execution_actual import WorkflowExecutionActual
-from .workflow_execution_actual_chat_history_request import WorkflowExecutionActualChatHistoryRequest
-from .workflow_execution_actual_json_request import WorkflowExecutionActualJsonRequest
-from .workflow_execution_actual_string_request import WorkflowExecutionActualStringRequest
-from .workflow_execution_detail import WorkflowExecutionDetail
-from .workflow_execution_event_error_code import WorkflowExecutionEventErrorCode
-from .workflow_execution_event_type import WorkflowExecutionEventType
-from .workflow_execution_fulfilled_body import WorkflowExecutionFulfilledBody
-from .workflow_execution_fulfilled_event import WorkflowExecutionFulfilledEvent
-from .workflow_execution_initiated_body import WorkflowExecutionInitiatedBody
-from .workflow_execution_initiated_event import WorkflowExecutionInitiatedEvent
-from .workflow_execution_node_result_event import WorkflowExecutionNodeResultEvent
-from .workflow_execution_paused_body import WorkflowExecutionPausedBody
-from .workflow_execution_paused_event import WorkflowExecutionPausedEvent
-from .workflow_execution_rejected_body import WorkflowExecutionRejectedBody
-from .workflow_execution_rejected_event import WorkflowExecutionRejectedEvent
-from .workflow_execution_resumed_body import WorkflowExecutionResumedBody
-from .workflow_execution_resumed_event import WorkflowExecutionResumedEvent
-from .workflow_execution_snapshotted_body import WorkflowExecutionSnapshottedBody
-from .workflow_execution_snapshotted_event import WorkflowExecutionSnapshottedEvent
-from .workflow_execution_span import WorkflowExecutionSpan
-from .workflow_execution_span_attributes import WorkflowExecutionSpanAttributes
-from .workflow_execution_streaming_body import WorkflowExecutionStreamingBody
-from .workflow_execution_streaming_event import WorkflowExecutionStreamingEvent
-from .workflow_execution_usage_calculation_error import WorkflowExecutionUsageCalculationError
-from .workflow_execution_usage_calculation_error_code_enum import WorkflowExecutionUsageCalculationErrorCodeEnum
-from .workflow_execution_usage_calculation_fulfilled_body import WorkflowExecutionUsageCalculationFulfilledBody
-from .workflow_execution_usage_result import WorkflowExecutionUsageResult
-from .workflow_execution_view_online_eval_metric_result import WorkflowExecutionViewOnlineEvalMetricResult
-from .workflow_execution_workflow_result_event import WorkflowExecutionWorkflowResultEvent
-from .workflow_expand_meta_request import WorkflowExpandMetaRequest
-from .workflow_initialization_error import WorkflowInitializationError
-from .workflow_input import WorkflowInput
-from .workflow_node_result_data import WorkflowNodeResultData
-from .workflow_node_result_event import WorkflowNodeResultEvent
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-from .workflow_output import WorkflowOutput
-from .workflow_output_array import WorkflowOutputArray
-from .workflow_output_audio import WorkflowOutputAudio
-from .workflow_output_chat_history import WorkflowOutputChatHistory
-from .workflow_output_document import WorkflowOutputDocument
-from .workflow_output_error import WorkflowOutputError
-from .workflow_output_function_call import WorkflowOutputFunctionCall
-from .workflow_output_image import WorkflowOutputImage
-from .workflow_output_json import WorkflowOutputJson
-from .workflow_output_number import WorkflowOutputNumber
-from .workflow_output_search_results import WorkflowOutputSearchResults
-from .workflow_output_string import WorkflowOutputString
-from .workflow_output_video import WorkflowOutputVideo
-from .workflow_parent_context import WorkflowParentContext
-from .workflow_push_deployment_config_request import WorkflowPushDeploymentConfigRequest
-from .workflow_push_exec_config import WorkflowPushExecConfig
-from .workflow_push_response import WorkflowPushResponse
-from .workflow_release_tag_read import WorkflowReleaseTagRead
-from .workflow_release_tag_workflow_deployment_history_item import WorkflowReleaseTagWorkflowDeploymentHistoryItem
-from .workflow_request_audio_input_request import WorkflowRequestAudioInputRequest
-from .workflow_request_chat_history_input_request import WorkflowRequestChatHistoryInputRequest
-from .workflow_request_document_input_request import WorkflowRequestDocumentInputRequest
-from .workflow_request_image_input_request import WorkflowRequestImageInputRequest
-from .workflow_request_input_request import WorkflowRequestInputRequest
-from .workflow_request_json_input_request import WorkflowRequestJsonInputRequest
-from .workflow_request_number_input_request import WorkflowRequestNumberInputRequest
-from .workflow_request_string_input_request import WorkflowRequestStringInputRequest
-from .workflow_request_video_input_request import WorkflowRequestVideoInputRequest
-from .workflow_resolved_state import WorkflowResolvedState
-from .workflow_result_event import WorkflowResultEvent
-from .workflow_result_event_output_data import WorkflowResultEventOutputData
-from .workflow_result_event_output_data_array import WorkflowResultEventOutputDataArray
-from .workflow_result_event_output_data_chat_history import WorkflowResultEventOutputDataChatHistory
-from .workflow_result_event_output_data_error import WorkflowResultEventOutputDataError
-from .workflow_result_event_output_data_function_call import WorkflowResultEventOutputDataFunctionCall
-from .workflow_result_event_output_data_json import WorkflowResultEventOutputDataJson
-from .workflow_result_event_output_data_number import WorkflowResultEventOutputDataNumber
-from .workflow_result_event_output_data_search_results import WorkflowResultEventOutputDataSearchResults
-from .workflow_result_event_output_data_string import WorkflowResultEventOutputDataString
-from .workflow_sandbox_display_data import WorkflowSandboxDisplayData
-from .workflow_sandbox_example import WorkflowSandboxExample
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
-from .workflow_stream_event import WorkflowStreamEvent
-from .workspace_display_config import WorkspaceDisplayConfig
-from .workspace_read import WorkspaceRead
-from .workspace_secret_read import WorkspaceSecretRead
-
-__all__ = [
- "AdHocExecutePromptEvent",
- "AdHocExpandMeta",
- "AdHocFulfilledPromptExecutionMeta",
- "AdHocInitiatedPromptExecutionMeta",
- "AdHocRejectedPromptExecutionMeta",
- "AdHocStreamingPromptExecutionMeta",
- "AddOpenaiApiKeyEnum",
- "ApiActorTypeEnum",
- "ApiNodeResult",
- "ApiNodeResultData",
- "ApiRequestParentContext",
- "ApiVersionEnum",
- "ArrayChatMessageContent",
- "ArrayChatMessageContentItem",
- "ArrayChatMessageContentItemRequest",
- "ArrayChatMessageContentRequest",
- "ArrayInput",
- "ArrayVellumValue",
- "ArrayVellumValueRequest",
- "AudioChatMessageContent",
- "AudioChatMessageContentRequest",
- "AudioInput",
- "AudioInputRequest",
- "AudioPromptBlock",
- "AudioVellumValue",
- "AudioVellumValueRequest",
- "AuthTypeEnum",
- "BaseOutput",
- "BasicVectorizerIntfloatMultilingualE5Large",
- "BasicVectorizerIntfloatMultilingualE5LargeRequest",
- "BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1",
- "BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request",
- "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1",
- "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request",
- "BuildStatusEnum",
- "ChatHistoryInput",
- "ChatHistoryInputRequest",
- "ChatHistoryVellumValue",
- "ChatHistoryVellumValueRequest",
- "ChatMessage",
- "ChatMessageContent",
- "ChatMessageContentRequest",
- "ChatMessagePromptBlock",
- "ChatMessageRequest",
- "ChatMessageRole",
- "CodeExecutionNodeArrayResult",
- "CodeExecutionNodeChatHistoryResult",
- "CodeExecutionNodeErrorResult",
- "CodeExecutionNodeFunctionCallResult",
- "CodeExecutionNodeJsonResult",
- "CodeExecutionNodeNumberResult",
- "CodeExecutionNodeResult",
- "CodeExecutionNodeResultData",
- "CodeExecutionNodeResultOutput",
- "CodeExecutionNodeSearchResultsResult",
- "CodeExecutionNodeStringResult",
- "CodeExecutionPackage",
- "CodeExecutionRuntime",
- "CodeExecutorInput",
- "CodeExecutorResponse",
- "CodeExecutorSecretInput",
- "CodeResourceDefinition",
- "CompilePromptDeploymentExpandMetaRequest",
- "CompilePromptMeta",
- "ComponentsSchemasComposioExecuteToolRequest",
- "ComponentsSchemasComposioExecuteToolResponse",
- "ComponentsSchemasComposioIntegrationExecConfig",
- "ComponentsSchemasComposioToolDefinition",
- "ComponentsSchemasPdfSearchResultMetaSource",
- "ComponentsSchemasPdfSearchResultMetaSourceRequest",
- "ComponentsSchemasPromptVersionBuildConfigSandbox",
- "ComponentsSchemasSlimComposioToolDefinition",
- "ComposioExecuteToolRequest",
- "ComposioExecuteToolResponse",
- "ComposioIntegrationExecConfig",
- "ComposioToolDefinition",
- "ConditionCombinator",
- "ConditionalNodeResult",
- "ConditionalNodeResultData",
- "ContainerImageBuildConfig",
- "ContainerImageContainerImageTag",
- "ContainerImageRead",
- "CreateTestSuiteTestCaseRequest",
- "CreateWorkflowEventRequest",
- "DatasetRowPushRequest",
- "DelimiterChunkerConfig",
- "DelimiterChunkerConfigRequest",
- "DelimiterChunking",
- "DelimiterChunkingRequest",
- "DeploymentHistoryItem",
- "DeploymentProviderPayloadResponse",
- "DeploymentProviderPayloadResponsePayload",
- "DeploymentRead",
- "DeploymentReleaseTagDeploymentHistoryItem",
- "DeploymentReleaseTagRead",
- "DeprecatedPromptRequestInput",
- "DockerServiceToken",
- "DocumentChatMessageContent",
- "DocumentChatMessageContentRequest",
- "DocumentDocumentToDocumentIndex",
- "DocumentIndexChunking",
- "DocumentIndexChunkingRequest",
- "DocumentIndexIndexingConfig",
- "DocumentIndexIndexingConfigRequest",
- "DocumentIndexRead",
- "DocumentInput",
- "DocumentInputRequest",
- "DocumentProcessingState",
- "DocumentPromptBlock",
- "DocumentRead",
- "DocumentStatus",
- "DocumentVellumValue",
- "DocumentVellumValueRequest",
- "EnrichedNormalizedCompletion",
- "EntityStatus",
- "EntityVisibility",
- "EnvironmentDisplayConfig",
- "EnvironmentEnum",
- "EnvironmentRead",
- "EphemeralPromptCacheConfig",
- "EphemeralPromptCacheConfigTypeEnum",
- "ErrorDetailResponse",
- "ErrorInput",
- "ErrorVellumValue",
- "ErrorVellumValueRequest",
- "EventCreateResponse",
- "ExecuteApiRequestBearerToken",
- "ExecuteApiRequestBody",
- "ExecuteApiRequestHeadersValue",
- "ExecuteApiResponse",
- "ExecuteApiResponseJson",
- "ExecutePromptEvent",
- "ExecutePromptResponse",
- "ExecuteWorkflowResponse",
- "ExecuteWorkflowWorkflowResultEvent",
- "ExecutionArrayVellumValue",
- "ExecutionAudioVellumValue",
- "ExecutionChatHistoryVellumValue",
- "ExecutionDocumentVellumValue",
- "ExecutionErrorVellumValue",
- "ExecutionFunctionCallVellumValue",
- "ExecutionImageVellumValue",
- "ExecutionJsonVellumValue",
- "ExecutionNumberVellumValue",
- "ExecutionSearchResultsVellumValue",
- "ExecutionStringVellumValue",
- "ExecutionThinkingVellumValue",
- "ExecutionVellumValue",
- "ExecutionVideoVellumValue",
- "ExternalInputDescriptor",
- "ExternalParentContext",
- "ExternalTestCaseExecution",
- "ExternalTestCaseExecutionRequest",
- "FastEmbedVectorizerBaaiBgeSmallEnV15",
- "FastEmbedVectorizerBaaiBgeSmallEnV15Request",
- "FinishReasonEnum",
- "FolderEntity",
- "FolderEntityDataset",
- "FolderEntityDatasetData",
- "FolderEntityDocumentIndex",
- "FolderEntityDocumentIndexData",
- "FolderEntityFolder",
- "FolderEntityFolderData",
- "FolderEntityPromptSandbox",
- "FolderEntityPromptSandboxData",
- "FolderEntityTestSuite",
- "FolderEntityTestSuiteData",
- "FolderEntityWorkflowSandbox",
- "FolderEntityWorkflowSandboxData",
- "FulfilledAdHocExecutePromptEvent",
- "FulfilledExecutePromptEvent",
- "FulfilledExecutePromptResponse",
- "FulfilledExecuteWorkflowWorkflowResultEvent",
- "FulfilledPromptExecutionMeta",
- "FulfilledWorkflowNodeResultEvent",
- "FunctionCall",
- "FunctionCallChatMessageContent",
- "FunctionCallChatMessageContentRequest",
- "FunctionCallChatMessageContentValue",
- "FunctionCallChatMessageContentValueRequest",
- "FunctionCallInput",
- "FunctionCallPromptBlock",
- "FunctionCallRequest",
- "FunctionCallVellumValue",
- "FunctionCallVellumValueRequest",
- "FunctionDefinition",
- "GenerateOptionsRequest",
- "GenerateRequest",
- "GenerateResponse",
- "GenerateResult",
- "GenerateResultData",
- "GenerateResultError",
- "GenerateStreamResponse",
- "GenerateStreamResult",
- "GenerateStreamResultData",
- "GoogleVertexAiVectorizerConfig",
- "GoogleVertexAiVectorizerConfigRequest",
- "GoogleVertexAiVectorizerGeminiEmbedding001",
- "GoogleVertexAiVectorizerGeminiEmbedding001Request",
- "GoogleVertexAiVectorizerTextEmbedding004",
- "GoogleVertexAiVectorizerTextEmbedding004Request",
- "GoogleVertexAiVectorizerTextMultilingualEmbedding002",
- "GoogleVertexAiVectorizerTextMultilingualEmbedding002Request",
- "HkunlpInstructorXlVectorizer",
- "HkunlpInstructorXlVectorizerRequest",
- "ImageChatMessageContent",
- "ImageChatMessageContentRequest",
- "ImageInput",
- "ImageInputRequest",
- "ImagePromptBlock",
- "ImageVellumValue",
- "ImageVellumValueRequest",
- "IndexingConfigVectorizer",
- "IndexingConfigVectorizerRequest",
- "IndexingStateEnum",
- "InitiatedAdHocExecutePromptEvent",
- "InitiatedExecutePromptEvent",
- "InitiatedPromptExecutionMeta",
- "InitiatedWorkflowNodeResultEvent",
- "InstructorVectorizerConfig",
- "InstructorVectorizerConfigRequest",
- "Integration",
- "IntegrationAuthConfigIntegration",
- "IntegrationAuthConfigIntegrationCredential",
- "IntegrationCredentialAccessType",
- "IntegrationName",
- "IntegrationProvider",
- "IntegrationRead",
- "IntegrationTriggerContext",
- "InvokedPort",
- "IterationStateEnum",
- "JinjaPromptBlock",
- "JsonInput",
- "JsonInputRequest",
- "JsonVellumValue",
- "JsonVellumValueRequest",
- "LogicalOperator",
- "LogprobsEnum",
- "MapNodeResult",
- "MapNodeResultData",
- "MergeNodeResult",
- "MergeNodeResultData",
- "MetadataFilterConfigRequest",
- "MetadataFilterRuleCombinator",
- "MetadataFilterRuleRequest",
- "MetadataFiltersRequest",
- "MethodEnum",
- "MetricDefinitionExecution",
- "MetricDefinitionHistoryItem",
- "MetricDefinitionInput",
- "MetricNodeResult",
- "MlModelRead",
- "MlModelUsage",
- "MlModelUsageWrapper",
- "NamedScenarioInputAudioVariableValueRequest",
- "NamedScenarioInputChatHistoryVariableValueRequest",
- "NamedScenarioInputDocumentVariableValueRequest",
- "NamedScenarioInputImageVariableValueRequest",
- "NamedScenarioInputJsonVariableValueRequest",
- "NamedScenarioInputRequest",
- "NamedScenarioInputStringVariableValueRequest",
- "NamedScenarioInputVideoVariableValueRequest",
- "NamedTestCaseArrayVariableValue",
- "NamedTestCaseArrayVariableValueRequest",
- "NamedTestCaseAudioVariableValue",
- "NamedTestCaseAudioVariableValueRequest",
- "NamedTestCaseChatHistoryVariableValue",
- "NamedTestCaseChatHistoryVariableValueRequest",
- "NamedTestCaseDocumentVariableValue",
- "NamedTestCaseDocumentVariableValueRequest",
- "NamedTestCaseErrorVariableValue",
- "NamedTestCaseErrorVariableValueRequest",
- "NamedTestCaseFunctionCallVariableValue",
- "NamedTestCaseFunctionCallVariableValueRequest",
- "NamedTestCaseImageVariableValue",
- "NamedTestCaseImageVariableValueRequest",
- "NamedTestCaseJsonVariableValue",
- "NamedTestCaseJsonVariableValueRequest",
- "NamedTestCaseNumberVariableValue",
- "NamedTestCaseNumberVariableValueRequest",
- "NamedTestCaseSearchResultsVariableValue",
- "NamedTestCaseSearchResultsVariableValueRequest",
- "NamedTestCaseStringVariableValue",
- "NamedTestCaseStringVariableValueRequest",
- "NamedTestCaseVariableValue",
- "NamedTestCaseVariableValueRequest",
- "NamedTestCaseVideoVariableValue",
- "NamedTestCaseVideoVariableValueRequest",
- "NewMemberJoinBehaviorEnum",
- "NodeExecutionFulfilledBody",
- "NodeExecutionFulfilledEvent",
- "NodeExecutionInitiatedBody",
- "NodeExecutionInitiatedEvent",
- "NodeExecutionPausedBody",
- "NodeExecutionPausedEvent",
- "NodeExecutionRejectedBody",
- "NodeExecutionRejectedEvent",
- "NodeExecutionResumedBody",
- "NodeExecutionResumedEvent",
- "NodeExecutionSpan",
- "NodeExecutionSpanAttributes",
- "NodeExecutionStreamingBody",
- "NodeExecutionStreamingEvent",
- "NodeInputCompiledArrayValue",
- "NodeInputCompiledAudioValue",
- "NodeInputCompiledChatHistoryValue",
- "NodeInputCompiledDocumentValue",
- "NodeInputCompiledErrorValue",
- "NodeInputCompiledFunctionCallValue",
- "NodeInputCompiledImageValue",
- "NodeInputCompiledJsonValue",
- "NodeInputCompiledNumberValue",
- "NodeInputCompiledSearchResultsValue",
- "NodeInputCompiledSecretValue",
- "NodeInputCompiledStringValue",
- "NodeInputCompiledVideoValue",
- "NodeInputVariableCompiledValue",
- "NodeOutputCompiledArrayValue",
- "NodeOutputCompiledChatHistoryValue",
- "NodeOutputCompiledErrorValue",
- "NodeOutputCompiledFunctionCallValue",
- "NodeOutputCompiledJsonValue",
- "NodeOutputCompiledNumberValue",
- "NodeOutputCompiledSearchResultsValue",
- "NodeOutputCompiledStringValue",
- "NodeOutputCompiledThinkingValue",
- "NodeOutputCompiledValue",
- "NodeParentContext",
- "NormalizedLogProbs",
- "NormalizedTokenLogProbs",
- "NumberInput",
- "NumberVellumValue",
- "NumberVellumValueRequest",
- "OpenAiVectorizerConfig",
- "OpenAiVectorizerConfigRequest",
- "OpenAiVectorizerTextEmbedding3Large",
- "OpenAiVectorizerTextEmbedding3LargeRequest",
- "OpenAiVectorizerTextEmbedding3Small",
- "OpenAiVectorizerTextEmbedding3SmallRequest",
- "OpenAiVectorizerTextEmbeddingAda002",
- "OpenAiVectorizerTextEmbeddingAda002Request",
- "OrganizationRead",
- "PaginatedContainerImageReadList",
- "PaginatedDeploymentReleaseTagReadList",
- "PaginatedDocumentIndexReadList",
- "PaginatedFolderEntityList",
- "PaginatedSlimDeploymentReadList",
- "PaginatedSlimDocumentList",
- "PaginatedSlimIntegrationAuthConfigReadList",
- "PaginatedSlimIntegrationReadList",
- "PaginatedSlimToolDefinitionList",
- "PaginatedSlimWorkflowDeploymentList",
- "PaginatedTestSuiteRunExecutionList",
- "PaginatedTestSuiteTestCaseList",
- "PaginatedWorkflowDeploymentReleaseList",
- "PaginatedWorkflowReleaseTagReadList",
- "PaginatedWorkflowSandboxExampleList",
- "ParentContext",
- "PdfSearchResultMetaSource",
- "PdfSearchResultMetaSourceRequest",
- "PlainTextPromptBlock",
- "Price",
- "PrivateVectorizer",
- "PrivateVectorizerRequest",
- "ProcessingFailureReasonEnum",
- "PromptBlock",
- "PromptBlockState",
- "PromptDeploymentExpandMetaRequest",
- "PromptDeploymentInputRequest",
- "PromptDeploymentParentContext",
- "PromptDeploymentRelease",
- "PromptDeploymentReleasePromptDeployment",
- "PromptDeploymentReleasePromptVersion",
- "PromptExecConfig",
- "PromptExecutionMeta",
- "PromptNodeExecutionMeta",
- "PromptNodeResult",
- "PromptNodeResultData",
- "PromptOutput",
- "PromptParameters",
- "PromptPushResponse",
- "PromptRequestAudioInput",
- "PromptRequestChatHistoryInput",
- "PromptRequestDocumentInput",
- "PromptRequestImageInput",
- "PromptRequestInput",
- "PromptRequestJsonInput",
- "PromptRequestStringInput",
- "PromptRequestVideoInput",
- "PromptSettings",
- "PromptVersionBuildConfigSandbox",
- "RawPromptExecutionOverridesRequest",
- "ReductoChunkerConfig",
- "ReductoChunkerConfigRequest",
- "ReductoChunking",
- "ReductoChunkingRequest",
- "RejectedAdHocExecutePromptEvent",
- "RejectedExecutePromptEvent",
- "RejectedExecutePromptResponse",
- "RejectedExecuteWorkflowWorkflowResultEvent",
- "RejectedPromptExecutionMeta",
- "RejectedWorkflowNodeResultEvent",
- "ReleaseCreatedBy",
- "ReleaseEnvironment",
- "ReleaseReleaseTag",
- "ReleaseReviewReviewer",
- "ReleaseReviewState",
- "ReleaseTagRelease",
- "ReleaseTagSource",
- "ReplaceTestSuiteTestCaseRequest",
- "RichTextChildBlock",
- "RichTextPromptBlock",
- "SandboxScenario",
- "ScenarioInput",
- "ScenarioInputAudioVariableValue",
- "ScenarioInputChatHistoryVariableValue",
- "ScenarioInputDocumentVariableValue",
- "ScenarioInputImageVariableValue",
- "ScenarioInputJsonVariableValue",
- "ScenarioInputStringVariableValue",
- "ScenarioInputVideoVariableValue",
- "ScheduledTriggerContext",
- "SearchFiltersRequest",
- "SearchNodeResult",
- "SearchNodeResultData",
- "SearchRequestOptionsRequest",
- "SearchResponse",
- "SearchResult",
- "SearchResultDocument",
- "SearchResultDocumentRequest",
- "SearchResultMergingRequest",
- "SearchResultMeta",
- "SearchResultMetaRequest",
- "SearchResultRequest",
- "SearchResultsInput",
- "SearchResultsVellumValue",
- "SearchResultsVellumValueRequest",
- "SearchWeightsRequest",
- "SecretTypeEnum",
- "SentenceChunkerConfig",
- "SentenceChunkerConfigRequest",
- "SentenceChunking",
- "SentenceChunkingRequest",
- "SlimComposioToolDefinition",
- "SlimDeploymentRead",
- "SlimDocument",
- "SlimDocumentDocumentToDocumentIndex",
- "SlimIntegrationAuthConfigRead",
- "SlimIntegrationRead",
- "SlimReleaseReview",
- "SlimWorkflowDeployment",
- "SlimWorkflowExecutionRead",
- "SpanLink",
- "SpanLinkTypeEnum",
- "StreamingAdHocExecutePromptEvent",
- "StreamingExecutePromptEvent",
- "StreamingPromptExecutionMeta",
- "StreamingWorkflowNodeResultEvent",
- "StringChatMessageContent",
- "StringChatMessageContentRequest",
- "StringInput",
- "StringInputRequest",
- "StringVellumValue",
- "StringVellumValueRequest",
- "SubmitCompletionActualRequest",
- "SubmitWorkflowExecutionActualRequest",
- "SubworkflowNodeResult",
- "SubworkflowNodeResultData",
- "TemplatingNodeArrayResult",
- "TemplatingNodeChatHistoryResult",
- "TemplatingNodeErrorResult",
- "TemplatingNodeFunctionCallResult",
- "TemplatingNodeJsonResult",
- "TemplatingNodeNumberResult",
- "TemplatingNodeResult",
- "TemplatingNodeResultData",
- "TemplatingNodeResultOutput",
- "TemplatingNodeSearchResultsResult",
- "TemplatingNodeStringResult",
- "TerminalNodeArrayResult",
- "TerminalNodeChatHistoryResult",
- "TerminalNodeErrorResult",
- "TerminalNodeFunctionCallResult",
- "TerminalNodeJsonResult",
- "TerminalNodeNumberResult",
- "TerminalNodeResult",
- "TerminalNodeResultData",
- "TerminalNodeResultOutput",
- "TerminalNodeSearchResultsResult",
- "TerminalNodeStringResult",
- "TestCaseArrayVariableValue",
- "TestCaseAudioVariableValue",
- "TestCaseChatHistoryVariableValue",
- "TestCaseDocumentVariableValue",
- "TestCaseErrorVariableValue",
- "TestCaseFunctionCallVariableValue",
- "TestCaseImageVariableValue",
- "TestCaseJsonVariableValue",
- "TestCaseNumberVariableValue",
- "TestCaseSearchResultsVariableValue",
- "TestCaseStringVariableValue",
- "TestCaseVariableValue",
- "TestCaseVideoVariableValue",
- "TestSuiteRunDeploymentReleaseTagExecConfig",
- "TestSuiteRunDeploymentReleaseTagExecConfigData",
- "TestSuiteRunDeploymentReleaseTagExecConfigDataRequest",
- "TestSuiteRunDeploymentReleaseTagExecConfigRequest",
- "TestSuiteRunExecConfig",
- "TestSuiteRunExecConfigRequest",
- "TestSuiteRunExecution",
- "TestSuiteRunExecutionArrayOutput",
- "TestSuiteRunExecutionChatHistoryOutput",
- "TestSuiteRunExecutionErrorOutput",
- "TestSuiteRunExecutionFunctionCallOutput",
- "TestSuiteRunExecutionJsonOutput",
- "TestSuiteRunExecutionMetricDefinition",
- "TestSuiteRunExecutionMetricResult",
- "TestSuiteRunExecutionNumberOutput",
- "TestSuiteRunExecutionOutput",
- "TestSuiteRunExecutionSearchResultsOutput",
- "TestSuiteRunExecutionStringOutput",
- "TestSuiteRunExternalExecConfig",
- "TestSuiteRunExternalExecConfigData",
- "TestSuiteRunExternalExecConfigDataRequest",
- "TestSuiteRunExternalExecConfigRequest",
- "TestSuiteRunMetricArrayOutput",
- "TestSuiteRunMetricErrorOutput",
- "TestSuiteRunMetricJsonOutput",
- "TestSuiteRunMetricNumberOutput",
- "TestSuiteRunMetricOutput",
- "TestSuiteRunMetricStringOutput",
- "TestSuiteRunProgress",
- "TestSuiteRunPromptSandboxExecConfigDataRequest",
- "TestSuiteRunPromptSandboxExecConfigRequest",
- "TestSuiteRunPromptSandboxHistoryItemExecConfig",
- "TestSuiteRunPromptSandboxHistoryItemExecConfigData",
- "TestSuiteRunPromptSandboxHistoryItemExecConfigDataRequest",
- "TestSuiteRunPromptSandboxHistoryItemExecConfigRequest",
- "TestSuiteRunRead",
- "TestSuiteRunState",
- "TestSuiteRunTestSuite",
- "TestSuiteRunWorkflowReleaseTagExecConfig",
- "TestSuiteRunWorkflowReleaseTagExecConfigData",
- "TestSuiteRunWorkflowReleaseTagExecConfigDataRequest",
- "TestSuiteRunWorkflowReleaseTagExecConfigRequest",
- "TestSuiteRunWorkflowSandboxExecConfigDataRequest",
- "TestSuiteRunWorkflowSandboxExecConfigRequest",
- "TestSuiteRunWorkflowSandboxHistoryItemExecConfig",
- "TestSuiteRunWorkflowSandboxHistoryItemExecConfigData",
- "TestSuiteRunWorkflowSandboxHistoryItemExecConfigDataRequest",
- "TestSuiteRunWorkflowSandboxHistoryItemExecConfigRequest",
- "TestSuiteTestCase",
- "TestSuiteTestCaseBulkOperationRequest",
- "TestSuiteTestCaseBulkResult",
- "TestSuiteTestCaseCreateBulkOperationRequest",
- "TestSuiteTestCaseCreatedBulkResult",
- "TestSuiteTestCaseCreatedBulkResultData",
- "TestSuiteTestCaseDeleteBulkOperationDataRequest",
- "TestSuiteTestCaseDeleteBulkOperationRequest",
- "TestSuiteTestCaseDeletedBulkResult",
- "TestSuiteTestCaseDeletedBulkResultData",
- "TestSuiteTestCaseRejectedBulkResult",
- "TestSuiteTestCaseReplaceBulkOperationRequest",
- "TestSuiteTestCaseReplacedBulkResult",
- "TestSuiteTestCaseReplacedBulkResultData",
- "TestSuiteTestCaseUpsertBulkOperationRequest",
- "ThinkingVellumValue",
- "ThinkingVellumValueRequest",
- "TokenOverlappingWindowChunkerConfig",
- "TokenOverlappingWindowChunkerConfigRequest",
- "TokenOverlappingWindowChunking",
- "TokenOverlappingWindowChunkingRequest",
- "UnitEnum",
- "UpdateActiveWorkspaceResponse",
- "UploadDocumentResponse",
- "UpsertTestSuiteTestCaseRequest",
- "VariablePromptBlock",
- "VellumAudio",
- "VellumAudioRequest",
- "VellumCodeResourceDefinition",
- "VellumDocument",
- "VellumDocumentRequest",
- "VellumError",
- "VellumErrorCodeEnum",
- "VellumErrorRequest",
- "VellumImage",
- "VellumImageRequest",
- "VellumNodeExecutionEvent",
- "VellumSdkError",
- "VellumSdkErrorCodeEnum",
- "VellumSecret",
- "VellumSpan",
- "VellumValue",
- "VellumValueLogicalConditionGroupRequest",
- "VellumValueLogicalConditionRequest",
- "VellumValueLogicalExpressionRequest",
- "VellumValueRequest",
- "VellumVariable",
- "VellumVariableExtensions",
- "VellumVariableType",
- "VellumVideo",
- "VellumVideoRequest",
- "VellumWorkflowExecutionEvent",
- "VideoChatMessageContent",
- "VideoChatMessageContentRequest",
- "VideoInput",
- "VideoInputRequest",
- "VideoPromptBlock",
- "VideoVellumValue",
- "VideoVellumValueRequest",
- "WorkflowDeploymentDisplayData",
- "WorkflowDeploymentEventExecutionsResponse",
- "WorkflowDeploymentHistoryItem",
- "WorkflowDeploymentParentContext",
- "WorkflowDeploymentRead",
- "WorkflowDeploymentRelease",
- "WorkflowDeploymentReleaseWorkflowDeployment",
- "WorkflowDeploymentReleaseWorkflowVersion",
- "WorkflowDisplayIcon",
- "WorkflowError",
- "WorkflowEvent",
- "WorkflowEventError",
- "WorkflowEventExecutionRead",
- "WorkflowExecutionActual",
- "WorkflowExecutionActualChatHistoryRequest",
- "WorkflowExecutionActualJsonRequest",
- "WorkflowExecutionActualStringRequest",
- "WorkflowExecutionDetail",
- "WorkflowExecutionEventErrorCode",
- "WorkflowExecutionEventType",
- "WorkflowExecutionFulfilledBody",
- "WorkflowExecutionFulfilledEvent",
- "WorkflowExecutionInitiatedBody",
- "WorkflowExecutionInitiatedEvent",
- "WorkflowExecutionNodeResultEvent",
- "WorkflowExecutionPausedBody",
- "WorkflowExecutionPausedEvent",
- "WorkflowExecutionRejectedBody",
- "WorkflowExecutionRejectedEvent",
- "WorkflowExecutionResumedBody",
- "WorkflowExecutionResumedEvent",
- "WorkflowExecutionSnapshottedBody",
- "WorkflowExecutionSnapshottedEvent",
- "WorkflowExecutionSpan",
- "WorkflowExecutionSpanAttributes",
- "WorkflowExecutionStreamingBody",
- "WorkflowExecutionStreamingEvent",
- "WorkflowExecutionUsageCalculationError",
- "WorkflowExecutionUsageCalculationErrorCodeEnum",
- "WorkflowExecutionUsageCalculationFulfilledBody",
- "WorkflowExecutionUsageResult",
- "WorkflowExecutionViewOnlineEvalMetricResult",
- "WorkflowExecutionWorkflowResultEvent",
- "WorkflowExpandMetaRequest",
- "WorkflowInitializationError",
- "WorkflowInput",
- "WorkflowNodeResultData",
- "WorkflowNodeResultEvent",
- "WorkflowNodeResultEventState",
- "WorkflowOutput",
- "WorkflowOutputArray",
- "WorkflowOutputAudio",
- "WorkflowOutputChatHistory",
- "WorkflowOutputDocument",
- "WorkflowOutputError",
- "WorkflowOutputFunctionCall",
- "WorkflowOutputImage",
- "WorkflowOutputJson",
- "WorkflowOutputNumber",
- "WorkflowOutputSearchResults",
- "WorkflowOutputString",
- "WorkflowOutputVideo",
- "WorkflowParentContext",
- "WorkflowPushDeploymentConfigRequest",
- "WorkflowPushExecConfig",
- "WorkflowPushResponse",
- "WorkflowReleaseTagRead",
- "WorkflowReleaseTagWorkflowDeploymentHistoryItem",
- "WorkflowRequestAudioInputRequest",
- "WorkflowRequestChatHistoryInputRequest",
- "WorkflowRequestDocumentInputRequest",
- "WorkflowRequestImageInputRequest",
- "WorkflowRequestInputRequest",
- "WorkflowRequestJsonInputRequest",
- "WorkflowRequestNumberInputRequest",
- "WorkflowRequestStringInputRequest",
- "WorkflowRequestVideoInputRequest",
- "WorkflowResolvedState",
- "WorkflowResultEvent",
- "WorkflowResultEventOutputData",
- "WorkflowResultEventOutputDataArray",
- "WorkflowResultEventOutputDataChatHistory",
- "WorkflowResultEventOutputDataError",
- "WorkflowResultEventOutputDataFunctionCall",
- "WorkflowResultEventOutputDataJson",
- "WorkflowResultEventOutputDataNumber",
- "WorkflowResultEventOutputDataSearchResults",
- "WorkflowResultEventOutputDataString",
- "WorkflowSandboxDisplayData",
- "WorkflowSandboxExample",
- "WorkflowSandboxParentContext",
- "WorkflowStreamEvent",
- "WorkspaceDisplayConfig",
- "WorkspaceRead",
- "WorkspaceSecretRead",
-]
diff --git a/src/vellum/client/types/ad_hoc_execute_prompt_event.py b/src/vellum/client/types/ad_hoc_execute_prompt_event.py
deleted file mode 100644
index f368086ca9..0000000000
--- a/src/vellum/client/types/ad_hoc_execute_prompt_event.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .fulfilled_ad_hoc_execute_prompt_event import FulfilledAdHocExecutePromptEvent
-from .initiated_ad_hoc_execute_prompt_event import InitiatedAdHocExecutePromptEvent
-from .rejected_ad_hoc_execute_prompt_event import RejectedAdHocExecutePromptEvent
-from .streaming_ad_hoc_execute_prompt_event import StreamingAdHocExecutePromptEvent
-
-AdHocExecutePromptEvent = typing.Union[
- InitiatedAdHocExecutePromptEvent,
- StreamingAdHocExecutePromptEvent,
- FulfilledAdHocExecutePromptEvent,
- RejectedAdHocExecutePromptEvent,
-]
diff --git a/src/vellum/client/types/ad_hoc_expand_meta.py b/src/vellum/client/types/ad_hoc_expand_meta.py
deleted file mode 100644
index 64ff140541..0000000000
--- a/src/vellum/client/types/ad_hoc_expand_meta.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class AdHocExpandMeta(UniversalBaseModel):
- cost: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include model host cost tracking. This may increase latency for some model hosts.
- """
-
- model_name: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include the model identifier representing the ML Model invoked by the Prompt.
- """
-
- usage: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include model host usage tracking. This may increase latency for some model hosts.
- """
-
- finish_reason: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include the reason provided by the model for why the execution finished.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py b/src/vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py
deleted file mode 100644
index 68e79525ca..0000000000
--- a/src/vellum/client/types/ad_hoc_fulfilled_prompt_execution_meta.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .finish_reason_enum import FinishReasonEnum
-from .ml_model_usage import MlModelUsage
-from .price import Price
-
-
-class AdHocFulfilledPromptExecutionMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
- """
-
- latency: typing.Optional[int] = None
- finish_reason: typing.Optional[FinishReasonEnum] = None
- usage: typing.Optional[MlModelUsage] = None
- cost: typing.Optional[Price] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/ad_hoc_initiated_prompt_execution_meta.py b/src/vellum/client/types/ad_hoc_initiated_prompt_execution_meta.py
deleted file mode 100644
index eb07111bb9..0000000000
--- a/src/vellum/client/types/ad_hoc_initiated_prompt_execution_meta.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class AdHocInitiatedPromptExecutionMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
- """
-
- model_name: typing.Optional[str] = None
- latency: typing.Optional[int] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/ad_hoc_rejected_prompt_execution_meta.py b/src/vellum/client/types/ad_hoc_rejected_prompt_execution_meta.py
deleted file mode 100644
index 25be78f52f..0000000000
--- a/src/vellum/client/types/ad_hoc_rejected_prompt_execution_meta.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .finish_reason_enum import FinishReasonEnum
-
-
-class AdHocRejectedPromptExecutionMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
- """
-
- latency: typing.Optional[int] = None
- finish_reason: typing.Optional[FinishReasonEnum] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/ad_hoc_streaming_prompt_execution_meta.py b/src/vellum/client/types/ad_hoc_streaming_prompt_execution_meta.py
deleted file mode 100644
index dbb3298ca0..0000000000
--- a/src/vellum/client/types/ad_hoc_streaming_prompt_execution_meta.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class AdHocStreamingPromptExecutionMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
- """
-
- latency: typing.Optional[int] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/add_openai_api_key_enum.py b/src/vellum/client/types/add_openai_api_key_enum.py
deleted file mode 100644
index 11dc57357a..0000000000
--- a/src/vellum/client/types/add_openai_api_key_enum.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-AddOpenaiApiKeyEnum = bool
diff --git a/src/vellum/client/types/api_actor_type_enum.py b/src/vellum/client/types/api_actor_type_enum.py
deleted file mode 100644
index dbbf096eaa..0000000000
--- a/src/vellum/client/types/api_actor_type_enum.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ApiActorTypeEnum = typing.Union[
- typing.Literal["WORKSPACE_API_KEY", "ENVIRONMENT_API_KEY", "JWT", "SERVICE_TOKEN"], typing.Any
-]
diff --git a/src/vellum/client/types/api_node_result.py b/src/vellum/client/types/api_node_result.py
deleted file mode 100644
index b9c3a1ab44..0000000000
--- a/src/vellum/client/types/api_node_result.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .api_node_result_data import ApiNodeResultData
-
-
-class ApiNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from an API Node.
- """
-
- type: typing.Literal["API"] = "API"
- data: ApiNodeResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/api_node_result_data.py b/src/vellum/client/types/api_node_result_data.py
deleted file mode 100644
index 9b00bcf11a..0000000000
--- a/src/vellum/client/types/api_node_result_data.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-import typing_extensions
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from ..core.serialization import FieldMetadata
-
-
-class ApiNodeResultData(UniversalBaseModel):
- json_: typing_extensions.Annotated[
- typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]], FieldMetadata(alias="json")
- ] = None
- text_output_id: str
- text: typing.Optional[str] = None
- json_output_id: str
- status_code_output_id: str
- status_code: int
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/api_request_parent_context.py b/src/vellum/client/types/api_request_parent_context.py
deleted file mode 100644
index 0dca60057b..0000000000
--- a/src/vellum/client/types/api_request_parent_context.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_actor_type_enum import ApiActorTypeEnum
-
-
-class ApiRequestParentContext(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- type: typing.Literal["API_REQUEST"] = "API_REQUEST"
- span_id: str
- api_actor_id: typing.Optional[str] = None
- api_actor_type: typing.Optional[ApiActorTypeEnum] = None
- api_actor_label: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(ApiRequestParentContext)
diff --git a/src/vellum/client/types/api_version_enum.py b/src/vellum/client/types/api_version_enum.py
deleted file mode 100644
index 5d3f96730d..0000000000
--- a/src/vellum/client/types/api_version_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ApiVersionEnum = typing.Union[typing.Literal["2024-10-25", "2025-07-30"], typing.Any]
diff --git a/src/vellum/client/types/array_chat_message_content.py b/src/vellum/client/types/array_chat_message_content.py
deleted file mode 100644
index 7bf1984c94..0000000000
--- a/src/vellum/client/types/array_chat_message_content.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .array_chat_message_content_item import ArrayChatMessageContentItem
-
-
-class ArrayChatMessageContent(UniversalBaseModel):
- """
- A list of chat message content items.
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.List[ArrayChatMessageContentItem]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/array_chat_message_content_item.py b/src/vellum/client/types/array_chat_message_content_item.py
deleted file mode 100644
index b2f1ac9f0b..0000000000
--- a/src/vellum/client/types/array_chat_message_content_item.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .audio_chat_message_content import AudioChatMessageContent
-from .document_chat_message_content import DocumentChatMessageContent
-from .function_call_chat_message_content import FunctionCallChatMessageContent
-from .image_chat_message_content import ImageChatMessageContent
-from .string_chat_message_content import StringChatMessageContent
-from .video_chat_message_content import VideoChatMessageContent
-
-ArrayChatMessageContentItem = typing.Union[
- StringChatMessageContent,
- FunctionCallChatMessageContent,
- AudioChatMessageContent,
- VideoChatMessageContent,
- ImageChatMessageContent,
- DocumentChatMessageContent,
-]
diff --git a/src/vellum/client/types/array_chat_message_content_item_request.py b/src/vellum/client/types/array_chat_message_content_item_request.py
deleted file mode 100644
index 28bd51600a..0000000000
--- a/src/vellum/client/types/array_chat_message_content_item_request.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .audio_chat_message_content_request import AudioChatMessageContentRequest
-from .document_chat_message_content_request import DocumentChatMessageContentRequest
-from .function_call_chat_message_content_request import FunctionCallChatMessageContentRequest
-from .image_chat_message_content_request import ImageChatMessageContentRequest
-from .string_chat_message_content_request import StringChatMessageContentRequest
-from .video_chat_message_content_request import VideoChatMessageContentRequest
-
-ArrayChatMessageContentItemRequest = typing.Union[
- StringChatMessageContentRequest,
- FunctionCallChatMessageContentRequest,
- AudioChatMessageContentRequest,
- VideoChatMessageContentRequest,
- ImageChatMessageContentRequest,
- DocumentChatMessageContentRequest,
-]
diff --git a/src/vellum/client/types/array_chat_message_content_request.py b/src/vellum/client/types/array_chat_message_content_request.py
deleted file mode 100644
index 5468d3b649..0000000000
--- a/src/vellum/client/types/array_chat_message_content_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .array_chat_message_content_item_request import ArrayChatMessageContentItemRequest
-
-
-class ArrayChatMessageContentRequest(UniversalBaseModel):
- """
- A list of chat message content items.
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.List[ArrayChatMessageContentItemRequest]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/array_input.py b/src/vellum/client/types/array_input.py
deleted file mode 100644
index 92fac1517a..0000000000
--- a/src/vellum/client/types/array_input.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class ArrayInput(UniversalBaseModel):
- """
- A user input representing a Vellum Array value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.List["VellumValue"]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(ArrayInput)
diff --git a/src/vellum/client/types/array_vellum_value.py b/src/vellum/client/types/array_vellum_value.py
deleted file mode 100644
index c22fa4d8f6..0000000000
--- a/src/vellum/client/types/array_vellum_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class ArrayVellumValue(UniversalBaseModel):
- """
- A value representing an array of Vellum variable values.
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(ArrayVellumValue)
diff --git a/src/vellum/client/types/array_vellum_value_request.py b/src/vellum/client/types/array_vellum_value_request.py
deleted file mode 100644
index e86a8211d2..0000000000
--- a/src/vellum/client/types/array_vellum_value_request.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class ArrayVellumValueRequest(UniversalBaseModel):
- """
- A value representing an array of Vellum variable values.
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValueRequest"]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .vellum_value_request import VellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(ArrayVellumValueRequest)
diff --git a/src/vellum/client/types/audio_chat_message_content.py b/src/vellum/client/types/audio_chat_message_content.py
deleted file mode 100644
index 2ebf620818..0000000000
--- a/src/vellum/client/types/audio_chat_message_content.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio import VellumAudio
-
-
-class AudioChatMessageContent(UniversalBaseModel):
- """
- An audio value that is used in a chat message.
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: VellumAudio
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/audio_chat_message_content_request.py b/src/vellum/client/types/audio_chat_message_content_request.py
deleted file mode 100644
index 81fe967b8d..0000000000
--- a/src/vellum/client/types/audio_chat_message_content_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio_request import VellumAudioRequest
-
-
-class AudioChatMessageContentRequest(UniversalBaseModel):
- """
- An audio value that is used in a chat message.
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: VellumAudioRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/audio_input.py b/src/vellum/client/types/audio_input.py
deleted file mode 100644
index 62e38840ed..0000000000
--- a/src/vellum/client/types/audio_input.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio import VellumAudio
-
-
-class AudioInput(UniversalBaseModel):
- """
- A user input representing a Vellum Audio value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: VellumAudio
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/audio_input_request.py b/src/vellum/client/types/audio_input_request.py
deleted file mode 100644
index d21bb9e573..0000000000
--- a/src/vellum/client/types/audio_input_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio_request import VellumAudioRequest
-
-
-class AudioInputRequest(UniversalBaseModel):
- """
- A user input representing a Vellum Audio value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: VellumAudioRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/audio_prompt_block.py b/src/vellum/client/types/audio_prompt_block.py
deleted file mode 100644
index 1f9b8147f8..0000000000
--- a/src/vellum/client/types/audio_prompt_block.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-
-
-class AudioPromptBlock(UniversalBaseModel):
- """
- A block that represents an audio file in a prompt template.
- """
-
- block_type: typing.Literal["AUDIO"] = "AUDIO"
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- src: str
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/audio_vellum_value.py b/src/vellum/client/types/audio_vellum_value.py
deleted file mode 100644
index ee283c900e..0000000000
--- a/src/vellum/client/types/audio_vellum_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio import VellumAudio
-
-
-class AudioVellumValue(UniversalBaseModel):
- """
- A base Vellum primitive value representing audio.
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: typing.Optional[VellumAudio] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/audio_vellum_value_request.py b/src/vellum/client/types/audio_vellum_value_request.py
deleted file mode 100644
index b2c1d4682d..0000000000
--- a/src/vellum/client/types/audio_vellum_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio_request import VellumAudioRequest
-
-
-class AudioVellumValueRequest(UniversalBaseModel):
- """
- A base Vellum primitive value representing audio.
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: typing.Optional[VellumAudioRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/auth_type_enum.py b/src/vellum/client/types/auth_type_enum.py
deleted file mode 100644
index 00ab20e2bb..0000000000
--- a/src/vellum/client/types/auth_type_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-AuthTypeEnum = typing.Union[typing.Literal["API_KEY", "OAUTH2"], typing.Any]
diff --git a/src/vellum/client/types/base_output.py b/src/vellum/client/types/base_output.py
deleted file mode 100644
index b12d4ca0c0..0000000000
--- a/src/vellum/client/types/base_output.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class BaseOutput(UniversalBaseModel):
- value: typing.Optional[typing.Optional[typing.Any]] = None
- delta: typing.Optional[typing.Optional[typing.Any]] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large.py b/src/vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large.py
deleted file mode 100644
index 9f6a730086..0000000000
--- a/src/vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class BasicVectorizerIntfloatMultilingualE5Large(UniversalBaseModel):
- """
- Basic vectorizer for intfloat/multilingual-e5-large.
- """
-
- config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
- model_name: typing.Literal["intfloat/multilingual-e5-large"] = "intfloat/multilingual-e5-large"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py b/src/vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py
deleted file mode 100644
index e3c2ffbfb8..0000000000
--- a/src/vellum/client/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class BasicVectorizerIntfloatMultilingualE5LargeRequest(UniversalBaseModel):
- """
- Basic vectorizer for intfloat/multilingual-e5-large.
- """
-
- config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
- model_name: typing.Literal["intfloat/multilingual-e5-large"] = "intfloat/multilingual-e5-large"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py b/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py
deleted file mode 100644
index 1fd7322083..0000000000
--- a/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1(UniversalBaseModel):
- """
- Basic vectorizer for sentence-transformers/multi-qa-mpnet-base-cos-v1.
- """
-
- config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
- model_name: typing.Literal["sentence-transformers/multi-qa-mpnet-base-cos-v1"] = (
- "sentence-transformers/multi-qa-mpnet-base-cos-v1"
- )
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py b/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py
deleted file mode 100644
index 2c85a41629..0000000000
--- a/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request(UniversalBaseModel):
- """
- Basic vectorizer for sentence-transformers/multi-qa-mpnet-base-cos-v1.
- """
-
- config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
- model_name: typing.Literal["sentence-transformers/multi-qa-mpnet-base-cos-v1"] = (
- "sentence-transformers/multi-qa-mpnet-base-cos-v1"
- )
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py b/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py
deleted file mode 100644
index 0cdf476dca..0000000000
--- a/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1(UniversalBaseModel):
- """
- Basic vectorizer for sentence-transformers/multi-qa-mpnet-base-dot-v1.
- """
-
- model_name: typing.Literal["sentence-transformers/multi-qa-mpnet-base-dot-v1"] = (
- "sentence-transformers/multi-qa-mpnet-base-dot-v1"
- )
- config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py b/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py
deleted file mode 100644
index 21028f3a1b..0000000000
--- a/src/vellum/client/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request(UniversalBaseModel):
- """
- Basic vectorizer for sentence-transformers/multi-qa-mpnet-base-dot-v1.
- """
-
- model_name: typing.Literal["sentence-transformers/multi-qa-mpnet-base-dot-v1"] = (
- "sentence-transformers/multi-qa-mpnet-base-dot-v1"
- )
- config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/build_status_enum.py b/src/vellum/client/types/build_status_enum.py
deleted file mode 100644
index 181aeda131..0000000000
--- a/src/vellum/client/types/build_status_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-BuildStatusEnum = typing.Union[typing.Literal["QUEUED", "BUILDING", "AVAILABLE", "FAILED", "UNKNOWN"], typing.Any]
diff --git a/src/vellum/client/types/chat_history_input.py b/src/vellum/client/types/chat_history_input.py
deleted file mode 100644
index 700ecf1626..0000000000
--- a/src/vellum/client/types/chat_history_input.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class ChatHistoryInput(UniversalBaseModel):
- """
- A user input representing a list of chat messages
- """
-
- name: str = pydantic.Field()
- """
- The variable's name, as defined in the deployment.
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.List[ChatMessage]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/chat_history_input_request.py b/src/vellum/client/types/chat_history_input_request.py
deleted file mode 100644
index 40e9d6c54b..0000000000
--- a/src/vellum/client/types/chat_history_input_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message_request import ChatMessageRequest
-
-
-class ChatHistoryInputRequest(UniversalBaseModel):
- """
- A user input representing a list of chat messages
- """
-
- name: str = pydantic.Field()
- """
- The variable's name, as defined in the deployment.
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.List[ChatMessageRequest]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/chat_history_vellum_value.py b/src/vellum/client/types/chat_history_vellum_value.py
deleted file mode 100644
index a6f765ad59..0000000000
--- a/src/vellum/client/types/chat_history_vellum_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class ChatHistoryVellumValue(UniversalBaseModel):
- """
- A value representing Chat History.
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/chat_history_vellum_value_request.py b/src/vellum/client/types/chat_history_vellum_value_request.py
deleted file mode 100644
index 01dedd3129..0000000000
--- a/src/vellum/client/types/chat_history_vellum_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message_request import ChatMessageRequest
-
-
-class ChatHistoryVellumValueRequest(UniversalBaseModel):
- """
- A value representing Chat History.
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessageRequest]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/chat_message.py b/src/vellum/client/types/chat_message.py
deleted file mode 100644
index 47edf84f7a..0000000000
--- a/src/vellum/client/types/chat_message.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message_content import ChatMessageContent
-from .chat_message_role import ChatMessageRole
-
-
-class ChatMessage(UniversalBaseModel):
- text: typing.Optional[str] = None
- role: ChatMessageRole
- content: typing.Optional[ChatMessageContent] = None
- source: typing.Optional[str] = pydantic.Field(default=None)
- """
- An optional identifier representing who or what generated this message.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/chat_message_content.py b/src/vellum/client/types/chat_message_content.py
deleted file mode 100644
index 9929af6974..0000000000
--- a/src/vellum/client/types/chat_message_content.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .array_chat_message_content import ArrayChatMessageContent
-from .audio_chat_message_content import AudioChatMessageContent
-from .document_chat_message_content import DocumentChatMessageContent
-from .function_call_chat_message_content import FunctionCallChatMessageContent
-from .image_chat_message_content import ImageChatMessageContent
-from .string_chat_message_content import StringChatMessageContent
-from .video_chat_message_content import VideoChatMessageContent
-
-ChatMessageContent = typing.Union[
- StringChatMessageContent,
- FunctionCallChatMessageContent,
- ArrayChatMessageContent,
- AudioChatMessageContent,
- VideoChatMessageContent,
- ImageChatMessageContent,
- DocumentChatMessageContent,
-]
diff --git a/src/vellum/client/types/chat_message_content_request.py b/src/vellum/client/types/chat_message_content_request.py
deleted file mode 100644
index 3df9d6ebc1..0000000000
--- a/src/vellum/client/types/chat_message_content_request.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .array_chat_message_content_request import ArrayChatMessageContentRequest
-from .audio_chat_message_content_request import AudioChatMessageContentRequest
-from .document_chat_message_content_request import DocumentChatMessageContentRequest
-from .function_call_chat_message_content_request import FunctionCallChatMessageContentRequest
-from .image_chat_message_content_request import ImageChatMessageContentRequest
-from .string_chat_message_content_request import StringChatMessageContentRequest
-from .video_chat_message_content_request import VideoChatMessageContentRequest
-
-ChatMessageContentRequest = typing.Union[
- StringChatMessageContentRequest,
- FunctionCallChatMessageContentRequest,
- ArrayChatMessageContentRequest,
- AudioChatMessageContentRequest,
- VideoChatMessageContentRequest,
- ImageChatMessageContentRequest,
- DocumentChatMessageContentRequest,
-]
diff --git a/src/vellum/client/types/chat_message_prompt_block.py b/src/vellum/client/types/chat_message_prompt_block.py
deleted file mode 100644
index 42eb358efc..0000000000
--- a/src/vellum/client/types/chat_message_prompt_block.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .chat_message_role import ChatMessageRole
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-
-
-class ChatMessagePromptBlock(UniversalBaseModel):
- """
- A block that represents a chat message in a prompt template.
- """
-
- block_type: typing.Literal["CHAT_MESSAGE"] = "CHAT_MESSAGE"
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- chat_role: ChatMessageRole
- chat_source: typing.Optional[str] = None
- chat_message_unterminated: typing.Optional[bool] = None
- blocks: typing.List["PromptBlock"]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .prompt_block import PromptBlock # noqa: E402, F401, I001
-
-update_forward_refs(ChatMessagePromptBlock)
diff --git a/src/vellum/client/types/chat_message_request.py b/src/vellum/client/types/chat_message_request.py
deleted file mode 100644
index ed6e465894..0000000000
--- a/src/vellum/client/types/chat_message_request.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message_content_request import ChatMessageContentRequest
-from .chat_message_role import ChatMessageRole
-
-
-class ChatMessageRequest(UniversalBaseModel):
- text: typing.Optional[str] = None
- role: ChatMessageRole
- content: typing.Optional[ChatMessageContentRequest] = None
- source: typing.Optional[str] = pydantic.Field(default=None)
- """
- An optional identifier representing who or what generated this message.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/chat_message_role.py b/src/vellum/client/types/chat_message_role.py
deleted file mode 100644
index a896f61731..0000000000
--- a/src/vellum/client/types/chat_message_role.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ChatMessageRole = typing.Union[typing.Literal["SYSTEM", "ASSISTANT", "USER", "FUNCTION"], typing.Any]
diff --git a/src/vellum/client/types/code_execution_node_array_result.py b/src/vellum/client/types/code_execution_node_array_result.py
deleted file mode 100644
index ebe7eb3164..0000000000
--- a/src/vellum/client/types/code_execution_node_array_result.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class CodeExecutionNodeArrayResult(UniversalBaseModel):
- id: str
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(CodeExecutionNodeArrayResult)
diff --git a/src/vellum/client/types/code_execution_node_chat_history_result.py b/src/vellum/client/types/code_execution_node_chat_history_result.py
deleted file mode 100644
index ab15813bc9..0000000000
--- a/src/vellum/client/types/code_execution_node_chat_history_result.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class CodeExecutionNodeChatHistoryResult(UniversalBaseModel):
- id: str
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/code_execution_node_error_result.py b/src/vellum/client/types/code_execution_node_error_result.py
deleted file mode 100644
index 12b967b736..0000000000
--- a/src/vellum/client/types/code_execution_node_error_result.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class CodeExecutionNodeErrorResult(UniversalBaseModel):
- id: str
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/code_execution_node_function_call_result.py b/src/vellum/client/types/code_execution_node_function_call_result.py
deleted file mode 100644
index 801a645011..0000000000
--- a/src/vellum/client/types/code_execution_node_function_call_result.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class CodeExecutionNodeFunctionCallResult(UniversalBaseModel):
- id: str
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/code_execution_node_json_result.py b/src/vellum/client/types/code_execution_node_json_result.py
deleted file mode 100644
index 6308bdd369..0000000000
--- a/src/vellum/client/types/code_execution_node_json_result.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CodeExecutionNodeJsonResult(UniversalBaseModel):
- id: str
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/code_execution_node_number_result.py b/src/vellum/client/types/code_execution_node_number_result.py
deleted file mode 100644
index ad76a9ccf2..0000000000
--- a/src/vellum/client/types/code_execution_node_number_result.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CodeExecutionNodeNumberResult(UniversalBaseModel):
- id: str
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/code_execution_node_result.py b/src/vellum/client/types/code_execution_node_result.py
deleted file mode 100644
index 1f5d2e4b4e..0000000000
--- a/src/vellum/client/types/code_execution_node_result.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .code_execution_node_result_data import CodeExecutionNodeResultData
-
-
-class CodeExecutionNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from a Code Execution Node.
- """
-
- type: typing.Literal["CODE_EXECUTION"] = "CODE_EXECUTION"
- data: CodeExecutionNodeResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(CodeExecutionNodeResult)
diff --git a/src/vellum/client/types/code_execution_node_result_data.py b/src/vellum/client/types/code_execution_node_result_data.py
deleted file mode 100644
index 78526088a4..0000000000
--- a/src/vellum/client/types/code_execution_node_result_data.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .code_execution_node_result_output import CodeExecutionNodeResultOutput
-
-
-class CodeExecutionNodeResultData(UniversalBaseModel):
- output: CodeExecutionNodeResultOutput
- log_output_id: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(CodeExecutionNodeResultData)
diff --git a/src/vellum/client/types/code_execution_node_result_output.py b/src/vellum/client/types/code_execution_node_result_output.py
deleted file mode 100644
index d72f0adae4..0000000000
--- a/src/vellum/client/types/code_execution_node_result_output.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .code_execution_node_array_result import CodeExecutionNodeArrayResult
-from .code_execution_node_chat_history_result import CodeExecutionNodeChatHistoryResult
-from .code_execution_node_error_result import CodeExecutionNodeErrorResult
-from .code_execution_node_function_call_result import CodeExecutionNodeFunctionCallResult
-from .code_execution_node_json_result import CodeExecutionNodeJsonResult
-from .code_execution_node_number_result import CodeExecutionNodeNumberResult
-from .code_execution_node_search_results_result import CodeExecutionNodeSearchResultsResult
-from .code_execution_node_string_result import CodeExecutionNodeStringResult
-
-CodeExecutionNodeResultOutput = typing.Union[
- CodeExecutionNodeStringResult,
- CodeExecutionNodeNumberResult,
- CodeExecutionNodeJsonResult,
- CodeExecutionNodeChatHistoryResult,
- CodeExecutionNodeSearchResultsResult,
- CodeExecutionNodeErrorResult,
- CodeExecutionNodeArrayResult,
- CodeExecutionNodeFunctionCallResult,
-]
diff --git a/src/vellum/client/types/code_execution_node_search_results_result.py b/src/vellum/client/types/code_execution_node_search_results_result.py
deleted file mode 100644
index 08cd7ff7fe..0000000000
--- a/src/vellum/client/types/code_execution_node_search_results_result.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class CodeExecutionNodeSearchResultsResult(UniversalBaseModel):
- id: str
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/code_execution_node_string_result.py b/src/vellum/client/types/code_execution_node_string_result.py
deleted file mode 100644
index 7ff0e1b607..0000000000
--- a/src/vellum/client/types/code_execution_node_string_result.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CodeExecutionNodeStringResult(UniversalBaseModel):
- id: str
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/code_execution_package.py b/src/vellum/client/types/code_execution_package.py
deleted file mode 100644
index 22a23cd4e9..0000000000
--- a/src/vellum/client/types/code_execution_package.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CodeExecutionPackage(UniversalBaseModel):
- version: str
- name: str
- repository: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/code_execution_runtime.py b/src/vellum/client/types/code_execution_runtime.py
deleted file mode 100644
index 27ece61cbe..0000000000
--- a/src/vellum/client/types/code_execution_runtime.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-CodeExecutionRuntime = typing.Union[typing.Literal["PYTHON_3_11_6", "TYPESCRIPT_5_3_3"], typing.Any]
diff --git a/src/vellum/client/types/code_executor_input.py b/src/vellum/client/types/code_executor_input.py
deleted file mode 100644
index 7340c04e16..0000000000
--- a/src/vellum/client/types/code_executor_input.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .array_input import ArrayInput
-from .audio_input import AudioInput
-from .chat_history_input import ChatHistoryInput
-from .code_executor_secret_input import CodeExecutorSecretInput
-from .document_input import DocumentInput
-from .error_input import ErrorInput
-from .function_call_input import FunctionCallInput
-from .image_input import ImageInput
-from .json_input import JsonInput
-from .number_input import NumberInput
-from .search_results_input import SearchResultsInput
-from .string_input import StringInput
-from .video_input import VideoInput
-
-CodeExecutorInput = typing.Union[
- StringInput,
- JsonInput,
- ChatHistoryInput,
- NumberInput,
- SearchResultsInput,
- ErrorInput,
- ArrayInput,
- FunctionCallInput,
- AudioInput,
- VideoInput,
- ImageInput,
- DocumentInput,
- CodeExecutorSecretInput,
-]
diff --git a/src/vellum/client/types/code_executor_response.py b/src/vellum/client/types/code_executor_response.py
deleted file mode 100644
index 0724221742..0000000000
--- a/src/vellum/client/types/code_executor_response.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class CodeExecutorResponse(UniversalBaseModel):
- log: str
- output: "VellumValue"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(CodeExecutorResponse)
diff --git a/src/vellum/client/types/code_executor_secret_input.py b/src/vellum/client/types/code_executor_secret_input.py
deleted file mode 100644
index 0ceb975ffc..0000000000
--- a/src/vellum/client/types/code_executor_secret_input.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CodeExecutorSecretInput(UniversalBaseModel):
- """
- A user input representing a Vellum Workspace Secret value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["SECRET"] = "SECRET"
- value: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/code_resource_definition.py b/src/vellum/client/types/code_resource_definition.py
deleted file mode 100644
index b82c74397b..0000000000
--- a/src/vellum/client/types/code_resource_definition.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CodeResourceDefinition(UniversalBaseModel):
- """
- The definition of a resource defined in code.
- """
-
- name: str = pydantic.Field()
- """
- The name of the resource, typically a class name.
- """
-
- module: typing.List[str] = pydantic.Field()
- """
- The module that this resource is defined in.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/compile_prompt_deployment_expand_meta_request.py b/src/vellum/client/types/compile_prompt_deployment_expand_meta_request.py
deleted file mode 100644
index 29183bd6a1..0000000000
--- a/src/vellum/client/types/compile_prompt_deployment_expand_meta_request.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CompilePromptDeploymentExpandMetaRequest(UniversalBaseModel):
- model_name: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include the model identifier representing the ML Model invoked by the Prompt.
- """
-
- deployment_release_tag: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include the release tag of the Prompt Deployment.
- """
-
- prompt_version_id: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include the ID of the Prompt Version backing the deployment.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/compile_prompt_meta.py b/src/vellum/client/types/compile_prompt_meta.py
deleted file mode 100644
index 1de97f32e8..0000000000
--- a/src/vellum/client/types/compile_prompt_meta.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class CompilePromptMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during Prompt Deployment compilation that the request opted into with `expand_meta`.
- """
-
- model_name: typing.Optional[str] = None
- deployment_release_tag: typing.Optional[str] = None
- prompt_version_id: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/components_schemas_composio_execute_tool_request.py b/src/vellum/client/types/components_schemas_composio_execute_tool_request.py
deleted file mode 100644
index b41155f7f7..0000000000
--- a/src/vellum/client/types/components_schemas_composio_execute_tool_request.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from .composio_execute_tool_request import ComposioExecuteToolRequest
-
-ComponentsSchemasComposioExecuteToolRequest = ComposioExecuteToolRequest
diff --git a/src/vellum/client/types/components_schemas_composio_execute_tool_response.py b/src/vellum/client/types/components_schemas_composio_execute_tool_response.py
deleted file mode 100644
index 44b5607fb0..0000000000
--- a/src/vellum/client/types/components_schemas_composio_execute_tool_response.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from .composio_execute_tool_response import ComposioExecuteToolResponse
-
-ComponentsSchemasComposioExecuteToolResponse = ComposioExecuteToolResponse
diff --git a/src/vellum/client/types/components_schemas_composio_integration_exec_config.py b/src/vellum/client/types/components_schemas_composio_integration_exec_config.py
deleted file mode 100644
index 987f3d5241..0000000000
--- a/src/vellum/client/types/components_schemas_composio_integration_exec_config.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from .composio_integration_exec_config import ComposioIntegrationExecConfig
-
-ComponentsSchemasComposioIntegrationExecConfig = ComposioIntegrationExecConfig
diff --git a/src/vellum/client/types/components_schemas_composio_tool_definition.py b/src/vellum/client/types/components_schemas_composio_tool_definition.py
deleted file mode 100644
index b7ec2c783c..0000000000
--- a/src/vellum/client/types/components_schemas_composio_tool_definition.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from .composio_tool_definition import ComposioToolDefinition
-
-ComponentsSchemasComposioToolDefinition = ComposioToolDefinition
diff --git a/src/vellum/client/types/components_schemas_pdf_search_result_meta_source.py b/src/vellum/client/types/components_schemas_pdf_search_result_meta_source.py
deleted file mode 100644
index f32713bcd9..0000000000
--- a/src/vellum/client/types/components_schemas_pdf_search_result_meta_source.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from .pdf_search_result_meta_source import PdfSearchResultMetaSource
-
-ComponentsSchemasPdfSearchResultMetaSource = PdfSearchResultMetaSource
diff --git a/src/vellum/client/types/components_schemas_pdf_search_result_meta_source_request.py b/src/vellum/client/types/components_schemas_pdf_search_result_meta_source_request.py
deleted file mode 100644
index fec80799c1..0000000000
--- a/src/vellum/client/types/components_schemas_pdf_search_result_meta_source_request.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from .pdf_search_result_meta_source_request import PdfSearchResultMetaSourceRequest
-
-ComponentsSchemasPdfSearchResultMetaSourceRequest = PdfSearchResultMetaSourceRequest
diff --git a/src/vellum/client/types/components_schemas_prompt_version_build_config_sandbox.py b/src/vellum/client/types/components_schemas_prompt_version_build_config_sandbox.py
deleted file mode 100644
index 6eec77b7f5..0000000000
--- a/src/vellum/client/types/components_schemas_prompt_version_build_config_sandbox.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from .prompt_version_build_config_sandbox import PromptVersionBuildConfigSandbox
-
-ComponentsSchemasPromptVersionBuildConfigSandbox = PromptVersionBuildConfigSandbox
diff --git a/src/vellum/client/types/components_schemas_slim_composio_tool_definition.py b/src/vellum/client/types/components_schemas_slim_composio_tool_definition.py
deleted file mode 100644
index dfb5e94529..0000000000
--- a/src/vellum/client/types/components_schemas_slim_composio_tool_definition.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from .slim_composio_tool_definition import SlimComposioToolDefinition
-
-ComponentsSchemasSlimComposioToolDefinition = SlimComposioToolDefinition
diff --git a/src/vellum/client/types/composio_execute_tool_request.py b/src/vellum/client/types/composio_execute_tool_request.py
deleted file mode 100644
index 4d2f9512b9..0000000000
--- a/src/vellum/client/types/composio_execute_tool_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ComposioExecuteToolRequest(UniversalBaseModel):
- """
- Payload for executing a Composio tool with provider id and tool arguments.
- """
-
- provider: typing.Literal["COMPOSIO"] = "COMPOSIO"
- arguments: typing.Dict[str, typing.Optional[typing.Any]]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/composio_execute_tool_response.py b/src/vellum/client/types/composio_execute_tool_response.py
deleted file mode 100644
index 6065037687..0000000000
--- a/src/vellum/client/types/composio_execute_tool_response.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ComposioExecuteToolResponse(UniversalBaseModel):
- """
- Response payload with provider id and execution output from a Composio tool.
- """
-
- provider: typing.Literal["COMPOSIO"] = "COMPOSIO"
- data: typing.Dict[str, typing.Optional[typing.Any]]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/composio_integration_exec_config.py b/src/vellum/client/types/composio_integration_exec_config.py
deleted file mode 100644
index 89be7414ea..0000000000
--- a/src/vellum/client/types/composio_integration_exec_config.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ComposioIntegrationExecConfig(UniversalBaseModel):
- type: typing.Literal["COMPOSIO"] = "COMPOSIO"
- slug: str
- supports_webhook_triggers: typing.Optional[bool] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/composio_tool_definition.py b/src/vellum/client/types/composio_tool_definition.py
deleted file mode 100644
index 95f4f8acd3..0000000000
--- a/src/vellum/client/types/composio_tool_definition.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .integration import Integration
-
-
-class ComposioToolDefinition(UniversalBaseModel):
- """
- Serializer for Composio tool definition response.
- """
-
- provider: typing.Literal["COMPOSIO"] = "COMPOSIO"
- integration: Integration
- name: str
- label: str
- description: str
- input_parameters: typing.Dict[str, typing.Optional[typing.Any]]
- output_parameters: typing.Dict[str, typing.Optional[typing.Any]]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/condition_combinator.py b/src/vellum/client/types/condition_combinator.py
deleted file mode 100644
index 972db04e0f..0000000000
--- a/src/vellum/client/types/condition_combinator.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ConditionCombinator = typing.Union[typing.Literal["OR", "AND"], typing.Any]
diff --git a/src/vellum/client/types/conditional_node_result.py b/src/vellum/client/types/conditional_node_result.py
deleted file mode 100644
index 5b63ae19a7..0000000000
--- a/src/vellum/client/types/conditional_node_result.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .conditional_node_result_data import ConditionalNodeResultData
-
-
-class ConditionalNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from a Conditional Node.
- """
-
- type: typing.Literal["CONDITIONAL"] = "CONDITIONAL"
- data: ConditionalNodeResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/conditional_node_result_data.py b/src/vellum/client/types/conditional_node_result_data.py
deleted file mode 100644
index 569931aa7e..0000000000
--- a/src/vellum/client/types/conditional_node_result_data.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ConditionalNodeResultData(UniversalBaseModel):
- source_handle_id: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/container_image_build_config.py b/src/vellum/client/types/container_image_build_config.py
deleted file mode 100644
index d40cbd0d4b..0000000000
--- a/src/vellum/client/types/container_image_build_config.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .code_execution_package import CodeExecutionPackage
-
-
-class ContainerImageBuildConfig(UniversalBaseModel):
- packages: typing.List[CodeExecutionPackage]
- user_script: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/container_image_container_image_tag.py b/src/vellum/client/types/container_image_container_image_tag.py
deleted file mode 100644
index 4d26a15b00..0000000000
--- a/src/vellum/client/types/container_image_container_image_tag.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ContainerImageContainerImageTag(UniversalBaseModel):
- name: str
- modified: dt.datetime
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/container_image_read.py b/src/vellum/client/types/container_image_read.py
deleted file mode 100644
index b72f0f1185..0000000000
--- a/src/vellum/client/types/container_image_read.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .build_status_enum import BuildStatusEnum
-from .container_image_build_config import ContainerImageBuildConfig
-from .container_image_container_image_tag import ContainerImageContainerImageTag
-from .entity_visibility import EntityVisibility
-
-
-class ContainerImageRead(UniversalBaseModel):
- id: str
- name: str
- visibility: EntityVisibility
- created: dt.datetime
- modified: dt.datetime
- repository: str
- sha: str
- tags: typing.List[ContainerImageContainerImageTag]
- build_status: typing.Optional[BuildStatusEnum] = None
- build_config: typing.Optional[ContainerImageBuildConfig] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/create_test_suite_test_case_request.py b/src/vellum/client/types/create_test_suite_test_case_request.py
deleted file mode 100644
index 5180e888bf..0000000000
--- a/src/vellum/client/types/create_test_suite_test_case_request.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
-
-
-class CreateTestSuiteTestCaseRequest(UniversalBaseModel):
- """
- Information about the Test Case to create
- """
-
- label: typing.Optional[str] = pydantic.Field(default=None)
- """
- A human-readable label used to convey the intention of this Test Case
- """
-
- input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
- """
- Values for each of the Test Case's input variables
- """
-
- evaluation_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
- """
- Values for each of the Test Case's evaluation variables
- """
-
- external_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- Optionally provide an ID that uniquely identifies this Test Case in your system. Useful for updating this Test Cases data after initial creation. Cannot be changed later.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(CreateTestSuiteTestCaseRequest)
diff --git a/src/vellum/client/types/create_workflow_event_request.py b/src/vellum/client/types/create_workflow_event_request.py
deleted file mode 100644
index 94a4ef3f8c..0000000000
--- a/src/vellum/client/types/create_workflow_event_request.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .workflow_event import WorkflowEvent
-
-CreateWorkflowEventRequest = typing.Union[typing.List[WorkflowEvent], WorkflowEvent]
diff --git a/src/vellum/client/types/dataset_row_push_request.py b/src/vellum/client/types/dataset_row_push_request.py
deleted file mode 100644
index 00f99d76a4..0000000000
--- a/src/vellum/client/types/dataset_row_push_request.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class DatasetRowPushRequest(UniversalBaseModel):
- label: str
- inputs: typing.Dict[str, typing.Optional[typing.Any]]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/delimiter_chunker_config.py b/src/vellum/client/types/delimiter_chunker_config.py
deleted file mode 100644
index 0f7ecc7d38..0000000000
--- a/src/vellum/client/types/delimiter_chunker_config.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class DelimiterChunkerConfig(UniversalBaseModel):
- delimiter: typing.Optional[str] = None
- is_regex: typing.Optional[bool] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/delimiter_chunker_config_request.py b/src/vellum/client/types/delimiter_chunker_config_request.py
deleted file mode 100644
index 107a2aacc1..0000000000
--- a/src/vellum/client/types/delimiter_chunker_config_request.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class DelimiterChunkerConfigRequest(UniversalBaseModel):
- delimiter: typing.Optional[str] = None
- is_regex: typing.Optional[bool] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/delimiter_chunking.py b/src/vellum/client/types/delimiter_chunking.py
deleted file mode 100644
index 2caab7df05..0000000000
--- a/src/vellum/client/types/delimiter_chunking.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .delimiter_chunker_config import DelimiterChunkerConfig
-
-
-class DelimiterChunking(UniversalBaseModel):
- chunker_name: typing.Literal["delimiter-chunker"] = "delimiter-chunker"
- chunker_config: typing.Optional[DelimiterChunkerConfig] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/delimiter_chunking_request.py b/src/vellum/client/types/delimiter_chunking_request.py
deleted file mode 100644
index 695056fda2..0000000000
--- a/src/vellum/client/types/delimiter_chunking_request.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .delimiter_chunker_config_request import DelimiterChunkerConfigRequest
-
-
-class DelimiterChunkingRequest(UniversalBaseModel):
- chunker_name: typing.Literal["delimiter-chunker"] = "delimiter-chunker"
- chunker_config: typing.Optional[DelimiterChunkerConfigRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/deployment_history_item.py b/src/vellum/client/types/deployment_history_item.py
deleted file mode 100644
index e599a154c6..0000000000
--- a/src/vellum/client/types/deployment_history_item.py
+++ /dev/null
@@ -1,45 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .vellum_variable import VellumVariable
-
-
-class DeploymentHistoryItem(UniversalBaseModel):
- id: str
- deployment_id: str
- timestamp: dt.datetime
- label: str = pydantic.Field()
- """
- A human-readable label for the deployment
- """
-
- name: str = pydantic.Field()
- """
- A name that uniquely identifies this deployment within its workspace
- """
-
- input_variables: typing.List[VellumVariable]
- description: typing.Optional[str] = pydantic.Field(default=None)
- """
- A human-readable description of the deployment
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(DeploymentHistoryItem)
diff --git a/src/vellum/client/types/deployment_provider_payload_response.py b/src/vellum/client/types/deployment_provider_payload_response.py
deleted file mode 100644
index d1bd166726..0000000000
--- a/src/vellum/client/types/deployment_provider_payload_response.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .compile_prompt_meta import CompilePromptMeta
-from .deployment_provider_payload_response_payload import DeploymentProviderPayloadResponsePayload
-
-
-class DeploymentProviderPayloadResponse(UniversalBaseModel):
- payload: DeploymentProviderPayloadResponsePayload
- meta: typing.Optional[CompilePromptMeta] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/deployment_provider_payload_response_payload.py b/src/vellum/client/types/deployment_provider_payload_response_payload.py
deleted file mode 100644
index 016aa167ba..0000000000
--- a/src/vellum/client/types/deployment_provider_payload_response_payload.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-DeploymentProviderPayloadResponsePayload = typing.Union[typing.Dict[str, typing.Optional[typing.Any]], str]
diff --git a/src/vellum/client/types/deployment_read.py b/src/vellum/client/types/deployment_read.py
deleted file mode 100644
index 0aae84cefd..0000000000
--- a/src/vellum/client/types/deployment_read.py
+++ /dev/null
@@ -1,74 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .entity_status import EntityStatus
-from .environment_enum import EnvironmentEnum
-from .vellum_variable import VellumVariable
-
-
-class DeploymentRead(UniversalBaseModel):
- """
- A Prompt Deployment's full details.
- """
-
- id: str
- created: dt.datetime
- label: str = pydantic.Field()
- """
- A human-readable label for the deployment
- """
-
- name: str = pydantic.Field()
- """
- A name that uniquely identifies this deployment within its workspace
- """
-
- status: typing.Optional[EntityStatus] = pydantic.Field(default=None)
- """
- The current status of the deployment
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
- """
-
- environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
- """
- Deprecated. The value returned will always be 'PRODUCTION'.
- """
-
- last_deployed_on: dt.datetime
- input_variables: typing.List[VellumVariable]
- description: typing.Optional[str] = pydantic.Field(default=None)
- """
- A human-readable description of the deployment
- """
-
- active_model_version_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Deprecated. This now always returns an empty array.
- """
-
- last_deployed_history_item_id: str = pydantic.Field()
- """
- The ID of the history item associated with this Deployment's LATEST Release Tag
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(DeploymentRead)
diff --git a/src/vellum/client/types/deployment_release_tag_deployment_history_item.py b/src/vellum/client/types/deployment_release_tag_deployment_history_item.py
deleted file mode 100644
index 82f8b51589..0000000000
--- a/src/vellum/client/types/deployment_release_tag_deployment_history_item.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class DeploymentReleaseTagDeploymentHistoryItem(UniversalBaseModel):
- id: str
- timestamp: dt.datetime
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/deployment_release_tag_read.py b/src/vellum/client/types/deployment_release_tag_read.py
deleted file mode 100644
index 9322528ff3..0000000000
--- a/src/vellum/client/types/deployment_release_tag_read.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .deployment_release_tag_deployment_history_item import DeploymentReleaseTagDeploymentHistoryItem
-from .release_tag_release import ReleaseTagRelease
-from .release_tag_source import ReleaseTagSource
-
-
-class DeploymentReleaseTagRead(UniversalBaseModel):
- name: str = pydantic.Field()
- """
- The name of the Release Tag
- """
-
- source: ReleaseTagSource = pydantic.Field()
- """
- The source of how the Release Tag was originally created
-
- * `SYSTEM` - System
- * `USER` - User
- """
-
- history_item: DeploymentReleaseTagDeploymentHistoryItem = pydantic.Field()
- """
- Deprecated. Reference the `release` field instead.
- """
-
- release: ReleaseTagRelease = pydantic.Field()
- """
- The Release that this Release Tag points to.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/deprecated_prompt_request_input.py b/src/vellum/client/types/deprecated_prompt_request_input.py
deleted file mode 100644
index eede8bf58c..0000000000
--- a/src/vellum/client/types/deprecated_prompt_request_input.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .prompt_request_input import PromptRequestInput
-from .workflow_input import WorkflowInput
-
-DeprecatedPromptRequestInput = typing.Union[WorkflowInput, PromptRequestInput]
diff --git a/src/vellum/client/types/docker_service_token.py b/src/vellum/client/types/docker_service_token.py
deleted file mode 100644
index 695105d2c0..0000000000
--- a/src/vellum/client/types/docker_service_token.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class DockerServiceToken(UniversalBaseModel):
- access_token: str
- organization_id: str
- repository: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_chat_message_content.py b/src/vellum/client/types/document_chat_message_content.py
deleted file mode 100644
index 9e112d53bf..0000000000
--- a/src/vellum/client/types/document_chat_message_content.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document import VellumDocument
-
-
-class DocumentChatMessageContent(UniversalBaseModel):
- """
- A document value that is used in a chat message.
- """
-
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: VellumDocument
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_chat_message_content_request.py b/src/vellum/client/types/document_chat_message_content_request.py
deleted file mode 100644
index c9d1c9ba9f..0000000000
--- a/src/vellum/client/types/document_chat_message_content_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document_request import VellumDocumentRequest
-
-
-class DocumentChatMessageContentRequest(UniversalBaseModel):
- """
- A document value that is used in a chat message.
- """
-
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: VellumDocumentRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_document_to_document_index.py b/src/vellum/client/types/document_document_to_document_index.py
deleted file mode 100644
index 595bb78276..0000000000
--- a/src/vellum/client/types/document_document_to_document_index.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .indexing_state_enum import IndexingStateEnum
-
-
-class DocumentDocumentToDocumentIndex(UniversalBaseModel):
- """
- A detailed representation of the link between a Document and a Document Index it's a member of.
- """
-
- id: str = pydantic.Field()
- """
- Vellum-generated ID that uniquely identifies this link.
- """
-
- environment_document_index_id: str = pydantic.Field()
- """
- Vellum-generated ID that uniquely identifies the environment index this document is included in.
- """
-
- document_index_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- Vellum-generated ID that uniquely identifies the index this document is included in.
- """
-
- indexing_state: typing.Optional[IndexingStateEnum] = pydantic.Field(default=None)
- """
- An enum value representing where this document is along its indexing lifecycle for this index.
-
- * `AWAITING_PROCESSING` - Awaiting Processing
- * `QUEUED` - Queued
- * `INDEXING` - Indexing
- * `INDEXED` - Indexed
- * `FAILED` - Failed
- """
-
- extracted_text_file_url: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_index_chunking.py b/src/vellum/client/types/document_index_chunking.py
deleted file mode 100644
index 8b0260a2b1..0000000000
--- a/src/vellum/client/types/document_index_chunking.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .delimiter_chunking import DelimiterChunking
-from .reducto_chunking import ReductoChunking
-from .sentence_chunking import SentenceChunking
-from .token_overlapping_window_chunking import TokenOverlappingWindowChunking
-
-DocumentIndexChunking = typing.Union[
- ReductoChunking, SentenceChunking, TokenOverlappingWindowChunking, DelimiterChunking
-]
diff --git a/src/vellum/client/types/document_index_chunking_request.py b/src/vellum/client/types/document_index_chunking_request.py
deleted file mode 100644
index 7d0a3d21a1..0000000000
--- a/src/vellum/client/types/document_index_chunking_request.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .delimiter_chunking_request import DelimiterChunkingRequest
-from .reducto_chunking_request import ReductoChunkingRequest
-from .sentence_chunking_request import SentenceChunkingRequest
-from .token_overlapping_window_chunking_request import TokenOverlappingWindowChunkingRequest
-
-DocumentIndexChunkingRequest = typing.Union[
- ReductoChunkingRequest, SentenceChunkingRequest, TokenOverlappingWindowChunkingRequest, DelimiterChunkingRequest
-]
diff --git a/src/vellum/client/types/document_index_indexing_config.py b/src/vellum/client/types/document_index_indexing_config.py
deleted file mode 100644
index 086d3eff8f..0000000000
--- a/src/vellum/client/types/document_index_indexing_config.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .document_index_chunking import DocumentIndexChunking
-from .indexing_config_vectorizer import IndexingConfigVectorizer
-
-
-class DocumentIndexIndexingConfig(UniversalBaseModel):
- vectorizer: IndexingConfigVectorizer
- chunking: typing.Optional[DocumentIndexChunking] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_index_indexing_config_request.py b/src/vellum/client/types/document_index_indexing_config_request.py
deleted file mode 100644
index 2c12bf46ff..0000000000
--- a/src/vellum/client/types/document_index_indexing_config_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .document_index_chunking_request import DocumentIndexChunkingRequest
-from .indexing_config_vectorizer_request import IndexingConfigVectorizerRequest
-
-
-class DocumentIndexIndexingConfigRequest(UniversalBaseModel):
- vectorizer: IndexingConfigVectorizerRequest
- chunking: typing.Optional[DocumentIndexChunkingRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_index_read.py b/src/vellum/client/types/document_index_read.py
deleted file mode 100644
index c125ff318d..0000000000
--- a/src/vellum/client/types/document_index_read.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .document_index_indexing_config import DocumentIndexIndexingConfig
-from .entity_status import EntityStatus
-
-
-class DocumentIndexRead(UniversalBaseModel):
- id: str
- created: dt.datetime
- label: str = pydantic.Field()
- """
- A human-readable label for the document index
- """
-
- name: str = pydantic.Field()
- """
- A name that uniquely identifies this index within its workspace
- """
-
- status: typing.Optional[EntityStatus] = pydantic.Field(default=None)
- """
- The current status of the document index
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
- """
-
- indexing_config: DocumentIndexIndexingConfig
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_input.py b/src/vellum/client/types/document_input.py
deleted file mode 100644
index 6f167c8f00..0000000000
--- a/src/vellum/client/types/document_input.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document import VellumDocument
-
-
-class DocumentInput(UniversalBaseModel):
- """
- A user input representing a Vellum Document value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: VellumDocument
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_input_request.py b/src/vellum/client/types/document_input_request.py
deleted file mode 100644
index 726cc4b641..0000000000
--- a/src/vellum/client/types/document_input_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document_request import VellumDocumentRequest
-
-
-class DocumentInputRequest(UniversalBaseModel):
- """
- A user input representing a Vellum Document value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: VellumDocumentRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_processing_state.py b/src/vellum/client/types/document_processing_state.py
deleted file mode 100644
index 1b247ff780..0000000000
--- a/src/vellum/client/types/document_processing_state.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-DocumentProcessingState = typing.Union[
- typing.Literal["QUEUED", "PROCESSING", "PROCESSED", "FAILED", "UNKNOWN"], typing.Any
-]
diff --git a/src/vellum/client/types/document_prompt_block.py b/src/vellum/client/types/document_prompt_block.py
deleted file mode 100644
index 132105a1d0..0000000000
--- a/src/vellum/client/types/document_prompt_block.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-
-
-class DocumentPromptBlock(UniversalBaseModel):
- """
- A block that represents a document in a prompt template.
- """
-
- block_type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- src: str
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_read.py b/src/vellum/client/types/document_read.py
deleted file mode 100644
index 73acc2a565..0000000000
--- a/src/vellum/client/types/document_read.py
+++ /dev/null
@@ -1,53 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .document_document_to_document_index import DocumentDocumentToDocumentIndex
-from .document_processing_state import DocumentProcessingState
-from .document_status import DocumentStatus
-
-
-class DocumentRead(UniversalBaseModel):
- id: str
- external_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The unique id of this document as it exists in the user's system.
- """
-
- last_uploaded_at: dt.datetime
- label: str = pydantic.Field()
- """
- A human-readable label for the document. Defaults to the originally uploaded file's file name.
- """
-
- processing_state: DocumentProcessingState
- status: typing.Optional[DocumentStatus] = pydantic.Field(default=None)
- """
- The current status of the document
-
- * `ACTIVE` - Active
- """
-
- keywords: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- A list of keywords that'll be associated with the document. Used as part of keyword search.
- """
-
- original_file_url: typing.Optional[str] = None
- document_to_document_indexes: typing.List[DocumentDocumentToDocumentIndex]
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- A previously supplied JSON object containing metadata that can be filtered on when searching.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_status.py b/src/vellum/client/types/document_status.py
deleted file mode 100644
index 623ad7ecf8..0000000000
--- a/src/vellum/client/types/document_status.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-DocumentStatus = typing.Literal["ACTIVE"]
diff --git a/src/vellum/client/types/document_vellum_value.py b/src/vellum/client/types/document_vellum_value.py
deleted file mode 100644
index 2a77a064a0..0000000000
--- a/src/vellum/client/types/document_vellum_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document import VellumDocument
-
-
-class DocumentVellumValue(UniversalBaseModel):
- """
- A base Vellum primitive value representing a document.
- """
-
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: typing.Optional[VellumDocument] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/document_vellum_value_request.py b/src/vellum/client/types/document_vellum_value_request.py
deleted file mode 100644
index 7419235dd0..0000000000
--- a/src/vellum/client/types/document_vellum_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document_request import VellumDocumentRequest
-
-
-class DocumentVellumValueRequest(UniversalBaseModel):
- """
- A base Vellum primitive value representing a document.
- """
-
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: typing.Optional[VellumDocumentRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/enriched_normalized_completion.py b/src/vellum/client/types/enriched_normalized_completion.py
deleted file mode 100644
index eae288858c..0000000000
--- a/src/vellum/client/types/enriched_normalized_completion.py
+++ /dev/null
@@ -1,59 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .finish_reason_enum import FinishReasonEnum
-from .normalized_log_probs import NormalizedLogProbs
-from .vellum_variable_type import VellumVariableType
-
-
-class EnrichedNormalizedCompletion(UniversalBaseModel):
- id: str = pydantic.Field()
- """
- The Vellum-generated ID of the completion.
- """
-
- external_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The external ID that was originally provided along with the generation request, which uniquely identifies this generation in an external system.
- """
-
- text: str = pydantic.Field()
- """
- The text generated by the LLM.
- """
-
- finish_reason: typing.Optional[FinishReasonEnum] = pydantic.Field(default=None)
- """
- The reason the generation finished.
-
- * `LENGTH` - LENGTH
- * `STOP` - STOP
- * `UNKNOWN` - UNKNOWN
- """
-
- logprobs: typing.Optional[NormalizedLogProbs] = pydantic.Field(default=None)
- """
- The logprobs of the completion. Only present if specified in the original request options.
- """
-
- model_version_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The ID of the model version used to generate this completion.
- """
-
- prompt_version_id: str
- type: typing.Optional[VellumVariableType] = None
- deployment_release_tag: str
- model_name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/entity_status.py b/src/vellum/client/types/entity_status.py
deleted file mode 100644
index 9076404962..0000000000
--- a/src/vellum/client/types/entity_status.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-EntityStatus = typing.Union[typing.Literal["ACTIVE", "ARCHIVED"], typing.Any]
diff --git a/src/vellum/client/types/entity_visibility.py b/src/vellum/client/types/entity_visibility.py
deleted file mode 100644
index 5ed457da2a..0000000000
--- a/src/vellum/client/types/entity_visibility.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-EntityVisibility = typing.Union[typing.Literal["DEFAULT", "PUBLIC", "PRIVATE", "DISABLED"], typing.Any]
diff --git a/src/vellum/client/types/environment_display_config.py b/src/vellum/client/types/environment_display_config.py
deleted file mode 100644
index e72e62e6f9..0000000000
--- a/src/vellum/client/types/environment_display_config.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class EnvironmentDisplayConfig(UniversalBaseModel):
- color: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/environment_enum.py b/src/vellum/client/types/environment_enum.py
deleted file mode 100644
index 9ce366752a..0000000000
--- a/src/vellum/client/types/environment_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-EnvironmentEnum = typing.Union[typing.Literal["DEVELOPMENT", "STAGING", "PRODUCTION"], typing.Any]
diff --git a/src/vellum/client/types/environment_read.py b/src/vellum/client/types/environment_read.py
deleted file mode 100644
index 79a8d777d6..0000000000
--- a/src/vellum/client/types/environment_read.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .environment_display_config import EnvironmentDisplayConfig
-
-
-class EnvironmentRead(UniversalBaseModel):
- id: typing.Optional[str] = None
- name: str
- label: str
- display_config: typing.Optional[EnvironmentDisplayConfig] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/ephemeral_prompt_cache_config.py b/src/vellum/client/types/ephemeral_prompt_cache_config.py
deleted file mode 100644
index 623104d13c..0000000000
--- a/src/vellum/client/types/ephemeral_prompt_cache_config.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config_type_enum import EphemeralPromptCacheConfigTypeEnum
-
-
-class EphemeralPromptCacheConfig(UniversalBaseModel):
- type: typing.Optional[EphemeralPromptCacheConfigTypeEnum] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/ephemeral_prompt_cache_config_type_enum.py b/src/vellum/client/types/ephemeral_prompt_cache_config_type_enum.py
deleted file mode 100644
index 32ec3e5633..0000000000
--- a/src/vellum/client/types/ephemeral_prompt_cache_config_type_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-EphemeralPromptCacheConfigTypeEnum = typing.Literal["EPHEMERAL"]
diff --git a/src/vellum/client/types/error_detail_response.py b/src/vellum/client/types/error_detail_response.py
deleted file mode 100644
index 1c74092a13..0000000000
--- a/src/vellum/client/types/error_detail_response.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ErrorDetailResponse(UniversalBaseModel):
- detail: str = pydantic.Field()
- """
- Message informing the user of the error.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/error_input.py b/src/vellum/client/types/error_input.py
deleted file mode 100644
index a87a545d6a..0000000000
--- a/src/vellum/client/types/error_input.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class ErrorInput(UniversalBaseModel):
- """
- A user input representing a Vellum Error value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["ERROR"] = "ERROR"
- value: VellumError
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/error_vellum_value.py b/src/vellum/client/types/error_vellum_value.py
deleted file mode 100644
index 5361c6e9c4..0000000000
--- a/src/vellum/client/types/error_vellum_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class ErrorVellumValue(UniversalBaseModel):
- """
- A value representing an Error.
- """
-
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/error_vellum_value_request.py b/src/vellum/client/types/error_vellum_value_request.py
deleted file mode 100644
index 744fc83a9b..0000000000
--- a/src/vellum/client/types/error_vellum_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error_request import VellumErrorRequest
-
-
-class ErrorVellumValueRequest(UniversalBaseModel):
- """
- A value representing an Error.
- """
-
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumErrorRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/event_create_response.py b/src/vellum/client/types/event_create_response.py
deleted file mode 100644
index a67fa93513..0000000000
--- a/src/vellum/client/types/event_create_response.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class EventCreateResponse(UniversalBaseModel):
- """
- Response serializer for successful event creation.
- """
-
- success: typing.Optional[bool] = pydantic.Field(default=None)
- """
- Indicates whether the event was published successfully.
- """
-
- count: int = pydantic.Field()
- """
- Number of events processed
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execute_api_request_bearer_token.py b/src/vellum/client/types/execute_api_request_bearer_token.py
deleted file mode 100644
index b3cf2a5eb8..0000000000
--- a/src/vellum/client/types/execute_api_request_bearer_token.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .vellum_secret import VellumSecret
-
-ExecuteApiRequestBearerToken = typing.Union[str, VellumSecret]
diff --git a/src/vellum/client/types/execute_api_request_body.py b/src/vellum/client/types/execute_api_request_body.py
deleted file mode 100644
index 4f8c3665a6..0000000000
--- a/src/vellum/client/types/execute_api_request_body.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ExecuteApiRequestBody = typing.Union[
- str, typing.List[typing.Optional[typing.Any]], typing.Dict[str, typing.Optional[typing.Any]]
-]
diff --git a/src/vellum/client/types/execute_api_request_headers_value.py b/src/vellum/client/types/execute_api_request_headers_value.py
deleted file mode 100644
index 347250abe8..0000000000
--- a/src/vellum/client/types/execute_api_request_headers_value.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .vellum_secret import VellumSecret
-
-ExecuteApiRequestHeadersValue = typing.Union[str, VellumSecret]
diff --git a/src/vellum/client/types/execute_api_response.py b/src/vellum/client/types/execute_api_response.py
deleted file mode 100644
index 7c8ae563ac..0000000000
--- a/src/vellum/client/types/execute_api_response.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-import typing_extensions
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from ..core.serialization import FieldMetadata
-from .execute_api_response_json import ExecuteApiResponseJson
-
-
-class ExecuteApiResponse(UniversalBaseModel):
- status_code: int
- text: str
- json_: typing_extensions.Annotated[typing.Optional[ExecuteApiResponseJson], FieldMetadata(alias="json")] = None
- headers: typing.Dict[str, str]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execute_api_response_json.py b/src/vellum/client/types/execute_api_response_json.py
deleted file mode 100644
index dc6518c4de..0000000000
--- a/src/vellum/client/types/execute_api_response_json.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ExecuteApiResponseJson = typing.Union[
- typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
-]
diff --git a/src/vellum/client/types/execute_prompt_event.py b/src/vellum/client/types/execute_prompt_event.py
deleted file mode 100644
index a29edb5945..0000000000
--- a/src/vellum/client/types/execute_prompt_event.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .fulfilled_execute_prompt_event import FulfilledExecutePromptEvent
-from .initiated_execute_prompt_event import InitiatedExecutePromptEvent
-from .rejected_execute_prompt_event import RejectedExecutePromptEvent
-from .streaming_execute_prompt_event import StreamingExecutePromptEvent
-
-ExecutePromptEvent = typing.Union[
- InitiatedExecutePromptEvent, StreamingExecutePromptEvent, FulfilledExecutePromptEvent, RejectedExecutePromptEvent
-]
diff --git a/src/vellum/client/types/execute_prompt_response.py b/src/vellum/client/types/execute_prompt_response.py
deleted file mode 100644
index c1d4a2a6ff..0000000000
--- a/src/vellum/client/types/execute_prompt_response.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .fulfilled_execute_prompt_response import FulfilledExecutePromptResponse
-from .rejected_execute_prompt_response import RejectedExecutePromptResponse
-
-ExecutePromptResponse = typing.Union[FulfilledExecutePromptResponse, RejectedExecutePromptResponse]
diff --git a/src/vellum/client/types/execute_workflow_response.py b/src/vellum/client/types/execute_workflow_response.py
deleted file mode 100644
index 762c08d797..0000000000
--- a/src/vellum/client/types/execute_workflow_response.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .execute_workflow_workflow_result_event import ExecuteWorkflowWorkflowResultEvent
-
-
-class ExecuteWorkflowResponse(UniversalBaseModel):
- execution_id: str
- run_id: typing.Optional[str] = None
- external_id: typing.Optional[str] = None
- data: ExecuteWorkflowWorkflowResultEvent
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(ExecuteWorkflowResponse)
diff --git a/src/vellum/client/types/execute_workflow_workflow_result_event.py b/src/vellum/client/types/execute_workflow_workflow_result_event.py
deleted file mode 100644
index ac36843b64..0000000000
--- a/src/vellum/client/types/execute_workflow_workflow_result_event.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .fulfilled_execute_workflow_workflow_result_event import FulfilledExecuteWorkflowWorkflowResultEvent
-from .rejected_execute_workflow_workflow_result_event import RejectedExecuteWorkflowWorkflowResultEvent
-
-ExecuteWorkflowWorkflowResultEvent = typing.Union[
- FulfilledExecuteWorkflowWorkflowResultEvent, RejectedExecuteWorkflowWorkflowResultEvent
-]
diff --git a/src/vellum/client/types/execution_array_vellum_value.py b/src/vellum/client/types/execution_array_vellum_value.py
deleted file mode 100644
index 69cf1f7c62..0000000000
--- a/src/vellum/client/types/execution_array_vellum_value.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class ExecutionArrayVellumValue(UniversalBaseModel):
- """
- A value representing an array of Vellum variable values.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(ExecutionArrayVellumValue)
diff --git a/src/vellum/client/types/execution_audio_vellum_value.py b/src/vellum/client/types/execution_audio_vellum_value.py
deleted file mode 100644
index 92bfe177a3..0000000000
--- a/src/vellum/client/types/execution_audio_vellum_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio import VellumAudio
-
-
-class ExecutionAudioVellumValue(UniversalBaseModel):
- """
- A base Vellum primitive value representing audio.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: typing.Optional[VellumAudio] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_chat_history_vellum_value.py b/src/vellum/client/types/execution_chat_history_vellum_value.py
deleted file mode 100644
index dc76a310f0..0000000000
--- a/src/vellum/client/types/execution_chat_history_vellum_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class ExecutionChatHistoryVellumValue(UniversalBaseModel):
- """
- A value representing Chat History.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_document_vellum_value.py b/src/vellum/client/types/execution_document_vellum_value.py
deleted file mode 100644
index b27bbf5dd3..0000000000
--- a/src/vellum/client/types/execution_document_vellum_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document import VellumDocument
-
-
-class ExecutionDocumentVellumValue(UniversalBaseModel):
- """
- A base Vellum primitive value representing a document.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: typing.Optional[VellumDocument] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_error_vellum_value.py b/src/vellum/client/types/execution_error_vellum_value.py
deleted file mode 100644
index 4c418f08fd..0000000000
--- a/src/vellum/client/types/execution_error_vellum_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class ExecutionErrorVellumValue(UniversalBaseModel):
- """
- A value representing an Error.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_function_call_vellum_value.py b/src/vellum/client/types/execution_function_call_vellum_value.py
deleted file mode 100644
index 451bb14830..0000000000
--- a/src/vellum/client/types/execution_function_call_vellum_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class ExecutionFunctionCallVellumValue(UniversalBaseModel):
- """
- A value representing a Function Call.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_image_vellum_value.py b/src/vellum/client/types/execution_image_vellum_value.py
deleted file mode 100644
index 0349f61842..0000000000
--- a/src/vellum/client/types/execution_image_vellum_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image import VellumImage
-
-
-class ExecutionImageVellumValue(UniversalBaseModel):
- """
- A base Vellum primitive value representing an image.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: typing.Optional[VellumImage] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_json_vellum_value.py b/src/vellum/client/types/execution_json_vellum_value.py
deleted file mode 100644
index e3dfb1fe02..0000000000
--- a/src/vellum/client/types/execution_json_vellum_value.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ExecutionJsonVellumValue(UniversalBaseModel):
- """
- A value representing a JSON object.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_number_vellum_value.py b/src/vellum/client/types/execution_number_vellum_value.py
deleted file mode 100644
index 3416210c16..0000000000
--- a/src/vellum/client/types/execution_number_vellum_value.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ExecutionNumberVellumValue(UniversalBaseModel):
- """
- A value representing a number.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_search_results_vellum_value.py b/src/vellum/client/types/execution_search_results_vellum_value.py
deleted file mode 100644
index 9b839c6b1b..0000000000
--- a/src/vellum/client/types/execution_search_results_vellum_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class ExecutionSearchResultsVellumValue(UniversalBaseModel):
- """
- A value representing Search Results.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_string_vellum_value.py b/src/vellum/client/types/execution_string_vellum_value.py
deleted file mode 100644
index 4e1923b4ae..0000000000
--- a/src/vellum/client/types/execution_string_vellum_value.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ExecutionStringVellumValue(UniversalBaseModel):
- """
- A value representing a string.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_thinking_vellum_value.py b/src/vellum/client/types/execution_thinking_vellum_value.py
deleted file mode 100644
index 7fb181e943..0000000000
--- a/src/vellum/client/types/execution_thinking_vellum_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .string_vellum_value import StringVellumValue
-
-
-class ExecutionThinkingVellumValue(UniversalBaseModel):
- """
- A value representing Thinking mode output.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["THINKING"] = "THINKING"
- value: typing.Optional[StringVellumValue] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/execution_vellum_value.py b/src/vellum/client/types/execution_vellum_value.py
deleted file mode 100644
index a0e75c06b8..0000000000
--- a/src/vellum/client/types/execution_vellum_value.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .execution_array_vellum_value import ExecutionArrayVellumValue
-from .execution_audio_vellum_value import ExecutionAudioVellumValue
-from .execution_chat_history_vellum_value import ExecutionChatHistoryVellumValue
-from .execution_document_vellum_value import ExecutionDocumentVellumValue
-from .execution_error_vellum_value import ExecutionErrorVellumValue
-from .execution_function_call_vellum_value import ExecutionFunctionCallVellumValue
-from .execution_image_vellum_value import ExecutionImageVellumValue
-from .execution_json_vellum_value import ExecutionJsonVellumValue
-from .execution_number_vellum_value import ExecutionNumberVellumValue
-from .execution_search_results_vellum_value import ExecutionSearchResultsVellumValue
-from .execution_string_vellum_value import ExecutionStringVellumValue
-from .execution_thinking_vellum_value import ExecutionThinkingVellumValue
-from .execution_video_vellum_value import ExecutionVideoVellumValue
-
-ExecutionVellumValue = typing.Union[
- ExecutionStringVellumValue,
- ExecutionNumberVellumValue,
- ExecutionJsonVellumValue,
- ExecutionChatHistoryVellumValue,
- ExecutionSearchResultsVellumValue,
- ExecutionErrorVellumValue,
- ExecutionArrayVellumValue,
- ExecutionFunctionCallVellumValue,
- ExecutionThinkingVellumValue,
- ExecutionAudioVellumValue,
- ExecutionVideoVellumValue,
- ExecutionImageVellumValue,
- ExecutionDocumentVellumValue,
-]
diff --git a/src/vellum/client/types/execution_video_vellum_value.py b/src/vellum/client/types/execution_video_vellum_value.py
deleted file mode 100644
index 0405968dd4..0000000000
--- a/src/vellum/client/types/execution_video_vellum_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video import VellumVideo
-
-
-class ExecutionVideoVellumValue(UniversalBaseModel):
- """
- A base Vellum primitive value representing a video.
- """
-
- id: str = pydantic.Field()
- """
- The variable's uniquely identifying internal id.
- """
-
- name: str
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: typing.Optional[VellumVideo] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/external_input_descriptor.py b/src/vellum/client/types/external_input_descriptor.py
deleted file mode 100644
index 562a06d9b9..0000000000
--- a/src/vellum/client/types/external_input_descriptor.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .code_resource_definition import CodeResourceDefinition
-
-
-class ExternalInputDescriptor(UniversalBaseModel):
- types: typing.List[CodeResourceDefinition]
- inputs_class: typing.Optional[CodeResourceDefinition] = None
- instance: typing.Optional[typing.Optional[typing.Any]] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/external_parent_context.py b/src/vellum/client/types/external_parent_context.py
deleted file mode 100644
index 1e3b8d8b78..0000000000
--- a/src/vellum/client/types/external_parent_context.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class ExternalParentContext(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- type: typing.Literal["EXTERNAL"] = "EXTERNAL"
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(ExternalParentContext)
diff --git a/src/vellum/client/types/external_test_case_execution.py b/src/vellum/client/types/external_test_case_execution.py
deleted file mode 100644
index b816d3d3fb..0000000000
--- a/src/vellum/client/types/external_test_case_execution.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .named_test_case_variable_value import NamedTestCaseVariableValue
-
-
-class ExternalTestCaseExecution(UniversalBaseModel):
- outputs: typing.List[NamedTestCaseVariableValue] = pydantic.Field()
- """
- The output values of a callable that was executed against a Test Case outside of Vellum
- """
-
- test_case_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(ExternalTestCaseExecution)
diff --git a/src/vellum/client/types/external_test_case_execution_request.py b/src/vellum/client/types/external_test_case_execution_request.py
deleted file mode 100644
index 0c00b0e6ed..0000000000
--- a/src/vellum/client/types/external_test_case_execution_request.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
-
-
-class ExternalTestCaseExecutionRequest(UniversalBaseModel):
- outputs: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
- """
- The output values of a callable that was executed against a Test Case outside of Vellum
- """
-
- test_case_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(ExternalTestCaseExecutionRequest)
diff --git a/src/vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py b/src/vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py
deleted file mode 100644
index 1be704ff1b..0000000000
--- a/src/vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class FastEmbedVectorizerBaaiBgeSmallEnV15(UniversalBaseModel):
- """
- FastEmbed vectorizer for BAAI/bge-small-en-v1.5.
- """
-
- model_name: typing.Literal["BAAI/bge-small-en-v1.5"] = "BAAI/bge-small-en-v1.5"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py b/src/vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py
deleted file mode 100644
index b1ad2899f3..0000000000
--- a/src/vellum/client/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class FastEmbedVectorizerBaaiBgeSmallEnV15Request(UniversalBaseModel):
- """
- FastEmbed vectorizer for BAAI/bge-small-en-v1.5.
- """
-
- model_name: typing.Literal["BAAI/bge-small-en-v1.5"] = "BAAI/bge-small-en-v1.5"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/finish_reason_enum.py b/src/vellum/client/types/finish_reason_enum.py
deleted file mode 100644
index 496efde3ab..0000000000
--- a/src/vellum/client/types/finish_reason_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-FinishReasonEnum = typing.Union[typing.Literal["LENGTH", "STOP", "UNKNOWN"], typing.Any]
diff --git a/src/vellum/client/types/folder_entity.py b/src/vellum/client/types/folder_entity.py
deleted file mode 100644
index 069064a1c4..0000000000
--- a/src/vellum/client/types/folder_entity.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .folder_entity_dataset import FolderEntityDataset
-from .folder_entity_document_index import FolderEntityDocumentIndex
-from .folder_entity_folder import FolderEntityFolder
-from .folder_entity_prompt_sandbox import FolderEntityPromptSandbox
-from .folder_entity_test_suite import FolderEntityTestSuite
-from .folder_entity_workflow_sandbox import FolderEntityWorkflowSandbox
-
-FolderEntity = typing.Union[
- FolderEntityFolder,
- FolderEntityPromptSandbox,
- FolderEntityWorkflowSandbox,
- FolderEntityDocumentIndex,
- FolderEntityTestSuite,
- FolderEntityDataset,
-]
diff --git a/src/vellum/client/types/folder_entity_dataset.py b/src/vellum/client/types/folder_entity_dataset.py
deleted file mode 100644
index 82271a1f9d..0000000000
--- a/src/vellum/client/types/folder_entity_dataset.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .folder_entity_dataset_data import FolderEntityDatasetData
-
-
-class FolderEntityDataset(UniversalBaseModel):
- """
- A slim representation of a Dataset, as it exists within a Folder.
- """
-
- id: str
- type: typing.Literal["DATASET"] = "DATASET"
- data: FolderEntityDatasetData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_dataset_data.py b/src/vellum/client/types/folder_entity_dataset_data.py
deleted file mode 100644
index 79b45391bd..0000000000
--- a/src/vellum/client/types/folder_entity_dataset_data.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class FolderEntityDatasetData(UniversalBaseModel):
- id: str
- label: str
- name: str
- description: typing.Optional[str] = None
- created: dt.datetime
- modified: dt.datetime
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_document_index.py b/src/vellum/client/types/folder_entity_document_index.py
deleted file mode 100644
index 130980fab5..0000000000
--- a/src/vellum/client/types/folder_entity_document_index.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .folder_entity_document_index_data import FolderEntityDocumentIndexData
-
-
-class FolderEntityDocumentIndex(UniversalBaseModel):
- """
- A slim representation of a Document Index, as it exists within a Folder.
- """
-
- id: str
- type: typing.Literal["DOCUMENT_INDEX"] = "DOCUMENT_INDEX"
- data: FolderEntityDocumentIndexData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_document_index_data.py b/src/vellum/client/types/folder_entity_document_index_data.py
deleted file mode 100644
index 32efd302de..0000000000
--- a/src/vellum/client/types/folder_entity_document_index_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .document_index_indexing_config import DocumentIndexIndexingConfig
-from .entity_status import EntityStatus
-
-
-class FolderEntityDocumentIndexData(UniversalBaseModel):
- id: str
- label: str
- created: dt.datetime
- modified: dt.datetime
- status: EntityStatus
- indexing_config: DocumentIndexIndexingConfig
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_folder.py b/src/vellum/client/types/folder_entity_folder.py
deleted file mode 100644
index 087d56f3b0..0000000000
--- a/src/vellum/client/types/folder_entity_folder.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .folder_entity_folder_data import FolderEntityFolderData
-
-
-class FolderEntityFolder(UniversalBaseModel):
- """
- A slim representation of a Folder, as it exists within another Folder.
- """
-
- id: str
- type: typing.Literal["FOLDER"] = "FOLDER"
- data: FolderEntityFolderData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_folder_data.py b/src/vellum/client/types/folder_entity_folder_data.py
deleted file mode 100644
index 9c9e304818..0000000000
--- a/src/vellum/client/types/folder_entity_folder_data.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class FolderEntityFolderData(UniversalBaseModel):
- id: str
- label: str
- created: dt.datetime
- modified: dt.datetime
- has_contents: bool
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_prompt_sandbox.py b/src/vellum/client/types/folder_entity_prompt_sandbox.py
deleted file mode 100644
index c4192f7bae..0000000000
--- a/src/vellum/client/types/folder_entity_prompt_sandbox.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .folder_entity_prompt_sandbox_data import FolderEntityPromptSandboxData
-
-
-class FolderEntityPromptSandbox(UniversalBaseModel):
- """
- A slim representation of a Prompt Sandbox, as it exists within a Folder.
- """
-
- id: str
- type: typing.Literal["PROMPT_SANDBOX"] = "PROMPT_SANDBOX"
- data: FolderEntityPromptSandboxData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_prompt_sandbox_data.py b/src/vellum/client/types/folder_entity_prompt_sandbox_data.py
deleted file mode 100644
index bf75428120..0000000000
--- a/src/vellum/client/types/folder_entity_prompt_sandbox_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .entity_status import EntityStatus
-
-
-class FolderEntityPromptSandboxData(UniversalBaseModel):
- id: str
- label: str
- created: dt.datetime
- modified: dt.datetime
- status: EntityStatus
- description: typing.Optional[str] = None
- last_deployed_on: typing.Optional[dt.datetime] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_test_suite.py b/src/vellum/client/types/folder_entity_test_suite.py
deleted file mode 100644
index 9b14a958ae..0000000000
--- a/src/vellum/client/types/folder_entity_test_suite.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .folder_entity_test_suite_data import FolderEntityTestSuiteData
-
-
-class FolderEntityTestSuite(UniversalBaseModel):
- """
- A slim representation of a Test Suite, as it exists within a Folder.
- """
-
- id: str
- type: typing.Literal["TEST_SUITE"] = "TEST_SUITE"
- data: FolderEntityTestSuiteData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_test_suite_data.py b/src/vellum/client/types/folder_entity_test_suite_data.py
deleted file mode 100644
index 694ddf14c6..0000000000
--- a/src/vellum/client/types/folder_entity_test_suite_data.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .entity_status import EntityStatus
-
-
-class FolderEntityTestSuiteData(UniversalBaseModel):
- id: str
- label: str
- created: dt.datetime
- modified: dt.datetime
- status: EntityStatus
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_workflow_sandbox.py b/src/vellum/client/types/folder_entity_workflow_sandbox.py
deleted file mode 100644
index b622f6407c..0000000000
--- a/src/vellum/client/types/folder_entity_workflow_sandbox.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .folder_entity_workflow_sandbox_data import FolderEntityWorkflowSandboxData
-
-
-class FolderEntityWorkflowSandbox(UniversalBaseModel):
- """
- A slim representation of a Workflow Sandbox, as it exists within a Folder.
- """
-
- id: str
- type: typing.Literal["WORKFLOW_SANDBOX"] = "WORKFLOW_SANDBOX"
- data: FolderEntityWorkflowSandboxData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/folder_entity_workflow_sandbox_data.py b/src/vellum/client/types/folder_entity_workflow_sandbox_data.py
deleted file mode 100644
index c4af40756b..0000000000
--- a/src/vellum/client/types/folder_entity_workflow_sandbox_data.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .entity_status import EntityStatus
-from .workflow_sandbox_display_data import WorkflowSandboxDisplayData
-
-
-class FolderEntityWorkflowSandboxData(UniversalBaseModel):
- id: str
- label: str
- created: dt.datetime
- modified: dt.datetime
- status: EntityStatus
- description: typing.Optional[str] = None
- last_deployed_on: typing.Optional[dt.datetime] = None
- display_data: typing.Optional[WorkflowSandboxDisplayData] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/fulfilled_ad_hoc_execute_prompt_event.py b/src/vellum/client/types/fulfilled_ad_hoc_execute_prompt_event.py
deleted file mode 100644
index d5cd2b412b..0000000000
--- a/src/vellum/client/types/fulfilled_ad_hoc_execute_prompt_event.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ad_hoc_fulfilled_prompt_execution_meta import AdHocFulfilledPromptExecutionMeta
-from .prompt_output import PromptOutput
-
-
-class FulfilledAdHocExecutePromptEvent(UniversalBaseModel):
- """
- The final data event returned indicating that the stream has ended and all final resolved values from the model can be found.
- """
-
- state: typing.Literal["FULFILLED"] = "FULFILLED"
- outputs: typing.List[PromptOutput]
- execution_id: str
- meta: typing.Optional[AdHocFulfilledPromptExecutionMeta] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/fulfilled_execute_prompt_event.py b/src/vellum/client/types/fulfilled_execute_prompt_event.py
deleted file mode 100644
index dbaa06c9a5..0000000000
--- a/src/vellum/client/types/fulfilled_execute_prompt_event.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .fulfilled_prompt_execution_meta import FulfilledPromptExecutionMeta
-from .prompt_output import PromptOutput
-
-
-class FulfilledExecutePromptEvent(UniversalBaseModel):
- """
- The final data event returned indicating that the stream has ended and all final resolved values from the model can be found.
- """
-
- state: typing.Literal["FULFILLED"] = "FULFILLED"
- outputs: typing.List[PromptOutput]
- execution_id: str
- meta: typing.Optional[FulfilledPromptExecutionMeta] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/fulfilled_execute_prompt_response.py b/src/vellum/client/types/fulfilled_execute_prompt_response.py
deleted file mode 100644
index 2d4c48899b..0000000000
--- a/src/vellum/client/types/fulfilled_execute_prompt_response.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .prompt_execution_meta import PromptExecutionMeta
-from .prompt_output import PromptOutput
-
-
-class FulfilledExecutePromptResponse(UniversalBaseModel):
- """
- The successful response from the model containing all of the resolved values generated by the prompt.
- """
-
- meta: typing.Optional[PromptExecutionMeta] = None
- raw: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- The subset of the raw response from the model that the request opted into with `expand_raw`.
- """
-
- execution_id: str = pydantic.Field()
- """
- The ID of the execution.
- """
-
- state: typing.Literal["FULFILLED"] = "FULFILLED"
- outputs: typing.List[PromptOutput]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/fulfilled_execute_workflow_workflow_result_event.py b/src/vellum/client/types/fulfilled_execute_workflow_workflow_result_event.py
deleted file mode 100644
index 41bb54bc42..0000000000
--- a/src/vellum/client/types/fulfilled_execute_workflow_workflow_result_event.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .workflow_output import WorkflowOutput
-
-
-class FulfilledExecuteWorkflowWorkflowResultEvent(UniversalBaseModel):
- """
- The successful response from the Workflow execution containing the produced outputs.
- """
-
- id: str
- state: typing.Literal["FULFILLED"] = "FULFILLED"
- ts: dt.datetime
- outputs: typing.List[WorkflowOutput]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(FulfilledExecuteWorkflowWorkflowResultEvent)
diff --git a/src/vellum/client/types/fulfilled_prompt_execution_meta.py b/src/vellum/client/types/fulfilled_prompt_execution_meta.py
deleted file mode 100644
index b29f752ffb..0000000000
--- a/src/vellum/client/types/fulfilled_prompt_execution_meta.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .finish_reason_enum import FinishReasonEnum
-from .ml_model_usage import MlModelUsage
-from .price import Price
-
-
-class FulfilledPromptExecutionMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
- """
-
- latency: typing.Optional[int] = None
- finish_reason: typing.Optional[FinishReasonEnum] = None
- usage: typing.Optional[MlModelUsage] = None
- cost: typing.Optional[Price] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/fulfilled_workflow_node_result_event.py b/src/vellum/client/types/fulfilled_workflow_node_result_event.py
deleted file mode 100644
index f2dbeeb434..0000000000
--- a/src/vellum/client/types/fulfilled_workflow_node_result_event.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .node_output_compiled_value import NodeOutputCompiledValue
-from .workflow_node_result_data import WorkflowNodeResultData
-
-
-class FulfilledWorkflowNodeResultEvent(UniversalBaseModel):
- """
- An event that indicates that the node has fulfilled its execution.
- """
-
- id: str
- node_id: str
- node_result_id: str
- state: typing.Literal["FULFILLED"] = "FULFILLED"
- ts: typing.Optional[dt.datetime] = None
- data: typing.Optional[WorkflowNodeResultData] = None
- source_execution_id: typing.Optional[str] = None
- output_values: typing.List[NodeOutputCompiledValue]
- mocked: typing.Optional[bool] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(FulfilledWorkflowNodeResultEvent)
diff --git a/src/vellum/client/types/function_call_chat_message_content.py b/src/vellum/client/types/function_call_chat_message_content.py
deleted file mode 100644
index 012402a53c..0000000000
--- a/src/vellum/client/types/function_call_chat_message_content.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call_chat_message_content_value import FunctionCallChatMessageContentValue
-
-
-class FunctionCallChatMessageContent(UniversalBaseModel):
- """
- A function call value that is used in a chat message.
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: FunctionCallChatMessageContentValue
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/function_call_chat_message_content_request.py b/src/vellum/client/types/function_call_chat_message_content_request.py
deleted file mode 100644
index d5e8e42022..0000000000
--- a/src/vellum/client/types/function_call_chat_message_content_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call_chat_message_content_value_request import FunctionCallChatMessageContentValueRequest
-
-
-class FunctionCallChatMessageContentRequest(UniversalBaseModel):
- """
- A function call value that is used in a chat message.
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: FunctionCallChatMessageContentValueRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/function_call_chat_message_content_value.py b/src/vellum/client/types/function_call_chat_message_content_value.py
deleted file mode 100644
index b7858673c3..0000000000
--- a/src/vellum/client/types/function_call_chat_message_content_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class FunctionCallChatMessageContentValue(UniversalBaseModel):
- """
- The final resolved function call value.
- """
-
- name: str
- arguments: typing.Dict[str, typing.Optional[typing.Any]]
- id: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/function_call_chat_message_content_value_request.py b/src/vellum/client/types/function_call_chat_message_content_value_request.py
deleted file mode 100644
index c5403a6ac8..0000000000
--- a/src/vellum/client/types/function_call_chat_message_content_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class FunctionCallChatMessageContentValueRequest(UniversalBaseModel):
- """
- The final resolved function call value.
- """
-
- name: str
- arguments: typing.Dict[str, typing.Optional[typing.Any]]
- id: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/function_call_input.py b/src/vellum/client/types/function_call_input.py
deleted file mode 100644
index c59f3ea0cd..0000000000
--- a/src/vellum/client/types/function_call_input.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class FunctionCallInput(UniversalBaseModel):
- """
- A user input representing a Vellum Function Call value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: FunctionCall
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/function_call_prompt_block.py b/src/vellum/client/types/function_call_prompt_block.py
deleted file mode 100644
index e7aa2dd6b0..0000000000
--- a/src/vellum/client/types/function_call_prompt_block.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-
-
-class FunctionCallPromptBlock(UniversalBaseModel):
- """
- A block that represents a function call in a prompt template.
- """
-
- block_type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- id: typing.Optional[str] = None
- name: str
- arguments: typing.Dict[str, typing.Optional[typing.Any]]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/function_call_request.py b/src/vellum/client/types/function_call_request.py
deleted file mode 100644
index f175d8e0f8..0000000000
--- a/src/vellum/client/types/function_call_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class FunctionCallRequest(UniversalBaseModel):
- """
- The final resolved function call value.
- """
-
- arguments: typing.Dict[str, typing.Optional[typing.Any]]
- id: typing.Optional[str] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/function_call_vellum_value.py b/src/vellum/client/types/function_call_vellum_value.py
deleted file mode 100644
index 30c71d17ce..0000000000
--- a/src/vellum/client/types/function_call_vellum_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class FunctionCallVellumValue(UniversalBaseModel):
- """
- A value representing a Function Call.
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/function_call_vellum_value_request.py b/src/vellum/client/types/function_call_vellum_value_request.py
deleted file mode 100644
index 13eff59769..0000000000
--- a/src/vellum/client/types/function_call_vellum_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call_request import FunctionCallRequest
-
-
-class FunctionCallVellumValueRequest(UniversalBaseModel):
- """
- A value representing a Function Call.
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCallRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/function_definition.py b/src/vellum/client/types/function_definition.py
deleted file mode 100644
index cd6847fdbf..0000000000
--- a/src/vellum/client/types/function_definition.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-
-
-class FunctionDefinition(UniversalBaseModel):
- """
- The definition of a Function (aka "Tool Call") that a Prompt/Model has access to.
- """
-
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- name: typing.Optional[str] = pydantic.Field(default=None)
- """
- The name identifying the function.
- """
-
- description: typing.Optional[str] = pydantic.Field(default=None)
- """
- A description to help guide the model when to invoke this function.
- """
-
- parameters: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- An OpenAPI specification of parameters that are supported by this function.
- """
-
- inputs: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- Optional user defined input mappings for this function.
- """
-
- forced: typing.Optional[bool] = pydantic.Field(default=None)
- """
- Set this option to true to force the model to return a function call of this function.
- """
-
- strict: typing.Optional[bool] = pydantic.Field(default=None)
- """
- Set this option to use strict schema decoding when available.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/generate_options_request.py b/src/vellum/client/types/generate_options_request.py
deleted file mode 100644
index 236f762296..0000000000
--- a/src/vellum/client/types/generate_options_request.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .logprobs_enum import LogprobsEnum
-
-
-class GenerateOptionsRequest(UniversalBaseModel):
- logprobs: typing.Optional[LogprobsEnum] = pydantic.Field(default=None)
- """
- Which logprobs to include, if any. Defaults to NONE.
-
- * `ALL` - ALL
- * `NONE` - NONE
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/generate_request.py b/src/vellum/client/types/generate_request.py
deleted file mode 100644
index 2a03e69791..0000000000
--- a/src/vellum/client/types/generate_request.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message_request import ChatMessageRequest
-
-
-class GenerateRequest(UniversalBaseModel):
- input_values: typing.Dict[str, typing.Optional[typing.Any]] = pydantic.Field()
- """
- Key/value pairs for each template variable defined in the deployment's prompt.
- """
-
- chat_history: typing.Optional[typing.List[ChatMessageRequest]] = pydantic.Field(default=None)
- """
- Optionally provide a list of chat messages that'll be used in place of the special chat_history variable, if included in the prompt.
- """
-
- external_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally include a unique identifier for each generation, as represented outside of Vellum. Note that this should generally be a list of length one.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/generate_response.py b/src/vellum/client/types/generate_response.py
deleted file mode 100644
index 53b708c15e..0000000000
--- a/src/vellum/client/types/generate_response.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .generate_result import GenerateResult
-
-
-class GenerateResponse(UniversalBaseModel):
- results: typing.List[GenerateResult] = pydantic.Field()
- """
- The results of each generation request.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
- @property
- def texts(self) -> typing.List[str]:
- return [
- completion.text
- for result in self.results
- for completion in (result.data.completions if result.data else [])
- ]
-
- @property
- def text(self) -> str:
- if len(self.texts) != 1:
- raise ValueError(f"Expected exactly one completion, but got {len(self.texts)}")
- return self.texts[0]
diff --git a/src/vellum/client/types/generate_result.py b/src/vellum/client/types/generate_result.py
deleted file mode 100644
index 1806adb325..0000000000
--- a/src/vellum/client/types/generate_result.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .generate_result_data import GenerateResultData
-from .generate_result_error import GenerateResultError
-
-
-class GenerateResult(UniversalBaseModel):
- data: typing.Optional[GenerateResultData] = pydantic.Field(default=None)
- """
- An object containing the resulting generation. This key will be absent if the LLM provider experienced an error.
- """
-
- error: typing.Optional[GenerateResultError] = pydantic.Field(default=None)
- """
- An object containing details about the error that occurred. This key will be absent if the LLM provider did not experience an error.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/generate_result_data.py b/src/vellum/client/types/generate_result_data.py
deleted file mode 100644
index f5fe48633f..0000000000
--- a/src/vellum/client/types/generate_result_data.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .enriched_normalized_completion import EnrichedNormalizedCompletion
-
-
-class GenerateResultData(UniversalBaseModel):
- completions: typing.List[EnrichedNormalizedCompletion] = pydantic.Field()
- """
- The generated completions. This will generally be a list of length one.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/generate_result_error.py b/src/vellum/client/types/generate_result_error.py
deleted file mode 100644
index ef58cc2b75..0000000000
--- a/src/vellum/client/types/generate_result_error.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class GenerateResultError(UniversalBaseModel):
- message: str = pydantic.Field()
- """
- The error message returned by the LLM provider.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/generate_stream_response.py b/src/vellum/client/types/generate_stream_response.py
deleted file mode 100644
index 44a015e897..0000000000
--- a/src/vellum/client/types/generate_stream_response.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .generate_stream_result import GenerateStreamResult
-
-
-class GenerateStreamResponse(UniversalBaseModel):
- delta: GenerateStreamResult
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/generate_stream_result.py b/src/vellum/client/types/generate_stream_result.py
deleted file mode 100644
index 798dfae9c7..0000000000
--- a/src/vellum/client/types/generate_stream_result.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .generate_result_error import GenerateResultError
-from .generate_stream_result_data import GenerateStreamResultData
-
-
-class GenerateStreamResult(UniversalBaseModel):
- request_index: int
- data: typing.Optional[GenerateStreamResultData] = None
- error: typing.Optional[GenerateResultError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/generate_stream_result_data.py b/src/vellum/client/types/generate_stream_result_data.py
deleted file mode 100644
index 69691ff098..0000000000
--- a/src/vellum/client/types/generate_stream_result_data.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .enriched_normalized_completion import EnrichedNormalizedCompletion
-
-
-class GenerateStreamResultData(UniversalBaseModel):
- completion_index: int
- completion: EnrichedNormalizedCompletion
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/google_vertex_ai_vectorizer_config.py b/src/vellum/client/types/google_vertex_ai_vectorizer_config.py
deleted file mode 100644
index 85211cdad5..0000000000
--- a/src/vellum/client/types/google_vertex_ai_vectorizer_config.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class GoogleVertexAiVectorizerConfig(UniversalBaseModel):
- project_id: str
- region: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/google_vertex_ai_vectorizer_config_request.py b/src/vellum/client/types/google_vertex_ai_vectorizer_config_request.py
deleted file mode 100644
index 5700d5ae67..0000000000
--- a/src/vellum/client/types/google_vertex_ai_vectorizer_config_request.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class GoogleVertexAiVectorizerConfigRequest(UniversalBaseModel):
- project_id: str
- region: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/google_vertex_ai_vectorizer_gemini_embedding_001.py b/src/vellum/client/types/google_vertex_ai_vectorizer_gemini_embedding_001.py
deleted file mode 100644
index cfbd080926..0000000000
--- a/src/vellum/client/types/google_vertex_ai_vectorizer_gemini_embedding_001.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .google_vertex_ai_vectorizer_config import GoogleVertexAiVectorizerConfig
-
-
-class GoogleVertexAiVectorizerGeminiEmbedding001(UniversalBaseModel):
- model_name: typing.Literal["gemini-embedding-001"] = "gemini-embedding-001"
- config: GoogleVertexAiVectorizerConfig
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/google_vertex_ai_vectorizer_gemini_embedding_001_request.py b/src/vellum/client/types/google_vertex_ai_vectorizer_gemini_embedding_001_request.py
deleted file mode 100644
index 5d19e2de21..0000000000
--- a/src/vellum/client/types/google_vertex_ai_vectorizer_gemini_embedding_001_request.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .google_vertex_ai_vectorizer_config_request import GoogleVertexAiVectorizerConfigRequest
-
-
-class GoogleVertexAiVectorizerGeminiEmbedding001Request(UniversalBaseModel):
- model_name: typing.Literal["gemini-embedding-001"] = "gemini-embedding-001"
- config: GoogleVertexAiVectorizerConfigRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/google_vertex_ai_vectorizer_text_embedding_004.py b/src/vellum/client/types/google_vertex_ai_vectorizer_text_embedding_004.py
deleted file mode 100644
index 7cebc1e444..0000000000
--- a/src/vellum/client/types/google_vertex_ai_vectorizer_text_embedding_004.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .google_vertex_ai_vectorizer_config import GoogleVertexAiVectorizerConfig
-
-
-class GoogleVertexAiVectorizerTextEmbedding004(UniversalBaseModel):
- model_name: typing.Literal["text-embedding-004"] = "text-embedding-004"
- config: GoogleVertexAiVectorizerConfig
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/google_vertex_ai_vectorizer_text_embedding_004_request.py b/src/vellum/client/types/google_vertex_ai_vectorizer_text_embedding_004_request.py
deleted file mode 100644
index c205f92216..0000000000
--- a/src/vellum/client/types/google_vertex_ai_vectorizer_text_embedding_004_request.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .google_vertex_ai_vectorizer_config_request import GoogleVertexAiVectorizerConfigRequest
-
-
-class GoogleVertexAiVectorizerTextEmbedding004Request(UniversalBaseModel):
- model_name: typing.Literal["text-embedding-004"] = "text-embedding-004"
- config: GoogleVertexAiVectorizerConfigRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002.py b/src/vellum/client/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002.py
deleted file mode 100644
index c9bb7203b7..0000000000
--- a/src/vellum/client/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .google_vertex_ai_vectorizer_config import GoogleVertexAiVectorizerConfig
-
-
-class GoogleVertexAiVectorizerTextMultilingualEmbedding002(UniversalBaseModel):
- model_name: typing.Literal["text-multilingual-embedding-002"] = "text-multilingual-embedding-002"
- config: GoogleVertexAiVectorizerConfig
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002_request.py b/src/vellum/client/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002_request.py
deleted file mode 100644
index 39feb17be3..0000000000
--- a/src/vellum/client/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002_request.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .google_vertex_ai_vectorizer_config_request import GoogleVertexAiVectorizerConfigRequest
-
-
-class GoogleVertexAiVectorizerTextMultilingualEmbedding002Request(UniversalBaseModel):
- model_name: typing.Literal["text-multilingual-embedding-002"] = "text-multilingual-embedding-002"
- config: GoogleVertexAiVectorizerConfigRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/hkunlp_instructor_xl_vectorizer.py b/src/vellum/client/types/hkunlp_instructor_xl_vectorizer.py
deleted file mode 100644
index f0f3b2ec90..0000000000
--- a/src/vellum/client/types/hkunlp_instructor_xl_vectorizer.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .instructor_vectorizer_config import InstructorVectorizerConfig
-
-
-class HkunlpInstructorXlVectorizer(UniversalBaseModel):
- """
- Vectorizer for hkunlp/instructor-xl.
- """
-
- model_name: typing.Literal["hkunlp/instructor-xl"] = "hkunlp/instructor-xl"
- config: InstructorVectorizerConfig
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/hkunlp_instructor_xl_vectorizer_request.py b/src/vellum/client/types/hkunlp_instructor_xl_vectorizer_request.py
deleted file mode 100644
index 6887087725..0000000000
--- a/src/vellum/client/types/hkunlp_instructor_xl_vectorizer_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .instructor_vectorizer_config_request import InstructorVectorizerConfigRequest
-
-
-class HkunlpInstructorXlVectorizerRequest(UniversalBaseModel):
- """
- Vectorizer for hkunlp/instructor-xl.
- """
-
- model_name: typing.Literal["hkunlp/instructor-xl"] = "hkunlp/instructor-xl"
- config: InstructorVectorizerConfigRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/image_chat_message_content.py b/src/vellum/client/types/image_chat_message_content.py
deleted file mode 100644
index b3c799250f..0000000000
--- a/src/vellum/client/types/image_chat_message_content.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image import VellumImage
-
-
-class ImageChatMessageContent(UniversalBaseModel):
- """
- An image value that is used in a chat message.
- """
-
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: VellumImage
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/image_chat_message_content_request.py b/src/vellum/client/types/image_chat_message_content_request.py
deleted file mode 100644
index d919fa84dd..0000000000
--- a/src/vellum/client/types/image_chat_message_content_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image_request import VellumImageRequest
-
-
-class ImageChatMessageContentRequest(UniversalBaseModel):
- """
- An image value that is used in a chat message.
- """
-
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: VellumImageRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/image_input.py b/src/vellum/client/types/image_input.py
deleted file mode 100644
index c3a39c3eca..0000000000
--- a/src/vellum/client/types/image_input.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image import VellumImage
-
-
-class ImageInput(UniversalBaseModel):
- """
- A user input representing a Vellum Image value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: VellumImage
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/image_input_request.py b/src/vellum/client/types/image_input_request.py
deleted file mode 100644
index 65974971fa..0000000000
--- a/src/vellum/client/types/image_input_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image_request import VellumImageRequest
-
-
-class ImageInputRequest(UniversalBaseModel):
- """
- A user input representing a Vellum Image value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: VellumImageRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/image_prompt_block.py b/src/vellum/client/types/image_prompt_block.py
deleted file mode 100644
index 69a623f49d..0000000000
--- a/src/vellum/client/types/image_prompt_block.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-
-
-class ImagePromptBlock(UniversalBaseModel):
- """
- A block that represents an image in a prompt template.
- """
-
- block_type: typing.Literal["IMAGE"] = "IMAGE"
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- src: str
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/image_vellum_value.py b/src/vellum/client/types/image_vellum_value.py
deleted file mode 100644
index bbe79826ea..0000000000
--- a/src/vellum/client/types/image_vellum_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image import VellumImage
-
-
-class ImageVellumValue(UniversalBaseModel):
- """
- A base Vellum primitive value representing an image.
- """
-
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: typing.Optional[VellumImage] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/image_vellum_value_request.py b/src/vellum/client/types/image_vellum_value_request.py
deleted file mode 100644
index 1fabc2143f..0000000000
--- a/src/vellum/client/types/image_vellum_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image_request import VellumImageRequest
-
-
-class ImageVellumValueRequest(UniversalBaseModel):
- """
- A base Vellum primitive value representing an image.
- """
-
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: typing.Optional[VellumImageRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/indexing_config_vectorizer.py b/src/vellum/client/types/indexing_config_vectorizer.py
deleted file mode 100644
index 29e14b0b5f..0000000000
--- a/src/vellum/client/types/indexing_config_vectorizer.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .basic_vectorizer_intfloat_multilingual_e_5_large import BasicVectorizerIntfloatMultilingualE5Large
-from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1 import (
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1,
-)
-from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1 import (
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1,
-)
-from .fast_embed_vectorizer_baai_bge_small_en_v_15 import FastEmbedVectorizerBaaiBgeSmallEnV15
-from .google_vertex_ai_vectorizer_gemini_embedding_001 import GoogleVertexAiVectorizerGeminiEmbedding001
-from .google_vertex_ai_vectorizer_text_embedding_004 import GoogleVertexAiVectorizerTextEmbedding004
-from .google_vertex_ai_vectorizer_text_multilingual_embedding_002 import (
- GoogleVertexAiVectorizerTextMultilingualEmbedding002,
-)
-from .hkunlp_instructor_xl_vectorizer import HkunlpInstructorXlVectorizer
-from .open_ai_vectorizer_text_embedding_3_large import OpenAiVectorizerTextEmbedding3Large
-from .open_ai_vectorizer_text_embedding_3_small import OpenAiVectorizerTextEmbedding3Small
-from .open_ai_vectorizer_text_embedding_ada_002 import OpenAiVectorizerTextEmbeddingAda002
-from .private_vectorizer import PrivateVectorizer
-
-IndexingConfigVectorizer = typing.Union[
- OpenAiVectorizerTextEmbedding3Small,
- OpenAiVectorizerTextEmbedding3Large,
- OpenAiVectorizerTextEmbeddingAda002,
- BasicVectorizerIntfloatMultilingualE5Large,
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1,
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1,
- HkunlpInstructorXlVectorizer,
- GoogleVertexAiVectorizerTextEmbedding004,
- GoogleVertexAiVectorizerTextMultilingualEmbedding002,
- GoogleVertexAiVectorizerGeminiEmbedding001,
- FastEmbedVectorizerBaaiBgeSmallEnV15,
- PrivateVectorizer,
-]
diff --git a/src/vellum/client/types/indexing_config_vectorizer_request.py b/src/vellum/client/types/indexing_config_vectorizer_request.py
deleted file mode 100644
index 01a11b46dc..0000000000
--- a/src/vellum/client/types/indexing_config_vectorizer_request.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .basic_vectorizer_intfloat_multilingual_e_5_large_request import BasicVectorizerIntfloatMultilingualE5LargeRequest
-from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request import (
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request,
-)
-from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request import (
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
-)
-from .fast_embed_vectorizer_baai_bge_small_en_v_15_request import FastEmbedVectorizerBaaiBgeSmallEnV15Request
-from .google_vertex_ai_vectorizer_gemini_embedding_001_request import GoogleVertexAiVectorizerGeminiEmbedding001Request
-from .google_vertex_ai_vectorizer_text_embedding_004_request import GoogleVertexAiVectorizerTextEmbedding004Request
-from .google_vertex_ai_vectorizer_text_multilingual_embedding_002_request import (
- GoogleVertexAiVectorizerTextMultilingualEmbedding002Request,
-)
-from .hkunlp_instructor_xl_vectorizer_request import HkunlpInstructorXlVectorizerRequest
-from .open_ai_vectorizer_text_embedding_3_large_request import OpenAiVectorizerTextEmbedding3LargeRequest
-from .open_ai_vectorizer_text_embedding_3_small_request import OpenAiVectorizerTextEmbedding3SmallRequest
-from .open_ai_vectorizer_text_embedding_ada_002_request import OpenAiVectorizerTextEmbeddingAda002Request
-from .private_vectorizer_request import PrivateVectorizerRequest
-
-IndexingConfigVectorizerRequest = typing.Union[
- OpenAiVectorizerTextEmbedding3SmallRequest,
- OpenAiVectorizerTextEmbedding3LargeRequest,
- OpenAiVectorizerTextEmbeddingAda002Request,
- BasicVectorizerIntfloatMultilingualE5LargeRequest,
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request,
- BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
- HkunlpInstructorXlVectorizerRequest,
- GoogleVertexAiVectorizerTextEmbedding004Request,
- GoogleVertexAiVectorizerTextMultilingualEmbedding002Request,
- GoogleVertexAiVectorizerGeminiEmbedding001Request,
- FastEmbedVectorizerBaaiBgeSmallEnV15Request,
- PrivateVectorizerRequest,
-]
diff --git a/src/vellum/client/types/indexing_state_enum.py b/src/vellum/client/types/indexing_state_enum.py
deleted file mode 100644
index 0065f7ab20..0000000000
--- a/src/vellum/client/types/indexing_state_enum.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-IndexingStateEnum = typing.Union[
- typing.Literal["AWAITING_PROCESSING", "QUEUED", "INDEXING", "INDEXED", "FAILED"], typing.Any
-]
diff --git a/src/vellum/client/types/initiated_ad_hoc_execute_prompt_event.py b/src/vellum/client/types/initiated_ad_hoc_execute_prompt_event.py
deleted file mode 100644
index d9e7eba7f3..0000000000
--- a/src/vellum/client/types/initiated_ad_hoc_execute_prompt_event.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ad_hoc_initiated_prompt_execution_meta import AdHocInitiatedPromptExecutionMeta
-
-
-class InitiatedAdHocExecutePromptEvent(UniversalBaseModel):
- """
- The initial data returned indicating that the response from the model has returned and begun streaming.
- """
-
- state: typing.Literal["INITIATED"] = "INITIATED"
- meta: typing.Optional[AdHocInitiatedPromptExecutionMeta] = None
- execution_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/initiated_execute_prompt_event.py b/src/vellum/client/types/initiated_execute_prompt_event.py
deleted file mode 100644
index 5be9ecb0f6..0000000000
--- a/src/vellum/client/types/initiated_execute_prompt_event.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .initiated_prompt_execution_meta import InitiatedPromptExecutionMeta
-
-
-class InitiatedExecutePromptEvent(UniversalBaseModel):
- """
- The initial data returned indicating that the response from the model has returned and begun streaming.
- """
-
- state: typing.Literal["INITIATED"] = "INITIATED"
- meta: typing.Optional[InitiatedPromptExecutionMeta] = None
- execution_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/initiated_prompt_execution_meta.py b/src/vellum/client/types/initiated_prompt_execution_meta.py
deleted file mode 100644
index 8287e8d507..0000000000
--- a/src/vellum/client/types/initiated_prompt_execution_meta.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class InitiatedPromptExecutionMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
- """
-
- model_name: typing.Optional[str] = None
- latency: typing.Optional[int] = None
- deployment_release_tag: typing.Optional[str] = None
- prompt_version_id: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/initiated_workflow_node_result_event.py b/src/vellum/client/types/initiated_workflow_node_result_event.py
deleted file mode 100644
index fb2f06715a..0000000000
--- a/src/vellum/client/types/initiated_workflow_node_result_event.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .node_input_variable_compiled_value import NodeInputVariableCompiledValue
-from .workflow_node_result_data import WorkflowNodeResultData
-
-
-class InitiatedWorkflowNodeResultEvent(UniversalBaseModel):
- """
- An event that indicates that the node has initiated its execution.
- """
-
- id: str
- node_id: str
- node_result_id: str
- state: typing.Literal["INITIATED"] = "INITIATED"
- ts: typing.Optional[dt.datetime] = None
- data: typing.Optional[WorkflowNodeResultData] = None
- source_execution_id: typing.Optional[str] = None
- input_values: typing.Optional[typing.List[NodeInputVariableCompiledValue]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(InitiatedWorkflowNodeResultEvent)
diff --git a/src/vellum/client/types/instructor_vectorizer_config.py b/src/vellum/client/types/instructor_vectorizer_config.py
deleted file mode 100644
index fea3f99f11..0000000000
--- a/src/vellum/client/types/instructor_vectorizer_config.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class InstructorVectorizerConfig(UniversalBaseModel):
- """
- Configuration for using an Instructor vectorizer.
- """
-
- instruction_domain: str
- instruction_query_text_type: str
- instruction_document_text_type: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/instructor_vectorizer_config_request.py b/src/vellum/client/types/instructor_vectorizer_config_request.py
deleted file mode 100644
index bde13c44d7..0000000000
--- a/src/vellum/client/types/instructor_vectorizer_config_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class InstructorVectorizerConfigRequest(UniversalBaseModel):
- """
- Configuration for using an Instructor vectorizer.
- """
-
- instruction_domain: str
- instruction_query_text_type: str
- instruction_document_text_type: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/integration.py b/src/vellum/client/types/integration.py
deleted file mode 100644
index 61551c9ad4..0000000000
--- a/src/vellum/client/types/integration.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .integration_name import IntegrationName
-from .integration_provider import IntegrationProvider
-
-
-class Integration(UniversalBaseModel):
- """
- Serializer for Integration model - used in both tool and trigger definitions.
- """
-
- id: str
- provider: IntegrationProvider = "COMPOSIO"
- name: IntegrationName
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/integration_auth_config_integration.py b/src/vellum/client/types/integration_auth_config_integration.py
deleted file mode 100644
index c9b7970564..0000000000
--- a/src/vellum/client/types/integration_auth_config_integration.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .integration_name import IntegrationName
-from .integration_provider import IntegrationProvider
-
-
-class IntegrationAuthConfigIntegration(UniversalBaseModel):
- id: str
- provider: IntegrationProvider = "COMPOSIO"
- name: IntegrationName
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/integration_auth_config_integration_credential.py b/src/vellum/client/types/integration_auth_config_integration_credential.py
deleted file mode 100644
index de86ba6e39..0000000000
--- a/src/vellum/client/types/integration_auth_config_integration_credential.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class IntegrationAuthConfigIntegrationCredential(UniversalBaseModel):
- id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/integration_credential_access_type.py b/src/vellum/client/types/integration_credential_access_type.py
deleted file mode 100644
index ac6d8e34f3..0000000000
--- a/src/vellum/client/types/integration_credential_access_type.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-IntegrationCredentialAccessType = typing.Union[typing.Literal["ENVIRONMENT", "USER"], typing.Any]
diff --git a/src/vellum/client/types/integration_name.py b/src/vellum/client/types/integration_name.py
deleted file mode 100644
index e8d047a8cf..0000000000
--- a/src/vellum/client/types/integration_name.py
+++ /dev/null
@@ -1,85 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-IntegrationName = typing.Union[
- typing.Literal[
- "SLACK",
- "NOTION",
- "GOOGLE",
- "CALENDLY",
- "CANVA",
- "CLICKUP",
- "CODA",
- "HUBSPOT",
- "INTERCOM",
- "LINEAR",
- "LINKUP",
- "LISTENNOTES",
- "LMNT",
- "LINKEDIN",
- "MAILCHIMP",
- "MEM0",
- "NEON",
- "GITHUB",
- "GOOGLE_SHEETS",
- "GOOGLE_CALENDAR",
- "GOOGLE_DRIVE",
- "GMAIL",
- "ACCULYNX",
- "AFFINITY",
- "AGENCYZOOM",
- "AHREFS",
- "AIRTABLE",
- "APOLLO",
- "ASANA",
- "ATLASSIAN",
- "BITBUCKET",
- "BOX",
- "BREVO",
- "BROWSERBASE_TOOL",
- "CAL",
- "CANVAS",
- "ELEVENLABS",
- "EXA",
- "GAMMA",
- "GITLAB",
- "FIRECRAWL",
- "FIGMA",
- "FIREFLIES",
- "GOOGLE_MAPS",
- "HEYGEN",
- "JIRA",
- "JUNGLESCOUT",
- "KLAVIYO",
- "PAGERDUTY",
- "PARSERA",
- "PEOPLEDATALABS",
- "PERPLEXITY",
- "POSTHOG",
- "PRODUCTBOARD",
- "REDDIT",
- "SEMRUSH",
- "SEMANTICSCHOLAR",
- "SENDGRID",
- "SERPAPI",
- "SHARE_POINT",
- "SHORTCUT",
- "STRIPE",
- "SUPABASE",
- "TAVILY",
- "TELEGRAM",
- "WEBFLOW",
- "YOUSEARCH",
- "ZENDESK",
- "ZENROWS",
- "DROPBOX",
- "EVENTBRITE",
- "CONFLUENCE",
- "COINBASE",
- "DISCORD",
- "DOCUSIGN",
- "TRELLO",
- ],
- typing.Any,
-]
diff --git a/src/vellum/client/types/integration_provider.py b/src/vellum/client/types/integration_provider.py
deleted file mode 100644
index de44a74050..0000000000
--- a/src/vellum/client/types/integration_provider.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-IntegrationProvider = typing.Literal["COMPOSIO"]
diff --git a/src/vellum/client/types/integration_read.py b/src/vellum/client/types/integration_read.py
deleted file mode 100644
index b168fcc73b..0000000000
--- a/src/vellum/client/types/integration_read.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .components_schemas_composio_integration_exec_config import ComponentsSchemasComposioIntegrationExecConfig
-from .integration_name import IntegrationName
-from .integration_provider import IntegrationProvider
-
-
-class IntegrationRead(UniversalBaseModel):
- id: str
- label: typing.Optional[str] = None
- icon_url: str
- name: IntegrationName
- provider: IntegrationProvider = "COMPOSIO"
- exec_config: ComponentsSchemasComposioIntegrationExecConfig = pydantic.Field()
- """
- Integration provider specific information needed for filtering tools.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/integration_trigger_context.py b/src/vellum/client/types/integration_trigger_context.py
deleted file mode 100644
index 9b68b74fad..0000000000
--- a/src/vellum/client/types/integration_trigger_context.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class IntegrationTriggerContext(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- type: typing.Literal["INTEGRATION"] = "INTEGRATION"
- trigger_id: typing.Optional[str] = None
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(IntegrationTriggerContext)
diff --git a/src/vellum/client/types/invoked_port.py b/src/vellum/client/types/invoked_port.py
deleted file mode 100644
index 0f1bde19a3..0000000000
--- a/src/vellum/client/types/invoked_port.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class InvokedPort(UniversalBaseModel):
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/iteration_state_enum.py b/src/vellum/client/types/iteration_state_enum.py
deleted file mode 100644
index b3a77b0811..0000000000
--- a/src/vellum/client/types/iteration_state_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-IterationStateEnum = typing.Union[typing.Literal["INITIATED", "FULFILLED", "REJECTED"], typing.Any]
diff --git a/src/vellum/client/types/jinja_prompt_block.py b/src/vellum/client/types/jinja_prompt_block.py
deleted file mode 100644
index 9007e54fa2..0000000000
--- a/src/vellum/client/types/jinja_prompt_block.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-
-
-class JinjaPromptBlock(UniversalBaseModel):
- """
- A block of Jinja template code that is used to generate a prompt
- """
-
- block_type: typing.Literal["JINJA"] = "JINJA"
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- template: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/json_input.py b/src/vellum/client/types/json_input.py
deleted file mode 100644
index c11182aece..0000000000
--- a/src/vellum/client/types/json_input.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class JsonInput(UniversalBaseModel):
- """
- A user input representing a JSON object
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/json_input_request.py b/src/vellum/client/types/json_input_request.py
deleted file mode 100644
index 7d9b88155a..0000000000
--- a/src/vellum/client/types/json_input_request.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class JsonInputRequest(UniversalBaseModel):
- """
- A user input representing a JSON object
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/json_vellum_value.py b/src/vellum/client/types/json_vellum_value.py
deleted file mode 100644
index b9bf1e81fd..0000000000
--- a/src/vellum/client/types/json_vellum_value.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class JsonVellumValue(UniversalBaseModel):
- """
- A value representing a JSON object.
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/json_vellum_value_request.py b/src/vellum/client/types/json_vellum_value_request.py
deleted file mode 100644
index e4a52b2bda..0000000000
--- a/src/vellum/client/types/json_vellum_value_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class JsonVellumValueRequest(UniversalBaseModel):
- """
- A value representing a JSON object.
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/logical_operator.py b/src/vellum/client/types/logical_operator.py
deleted file mode 100644
index 6fb6217e21..0000000000
--- a/src/vellum/client/types/logical_operator.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-LogicalOperator = typing.Union[
- typing.Literal[
- "=",
- "!=",
- "<",
- ">",
- "<=",
- ">=",
- "contains",
- "beginsWith",
- "endsWith",
- "doesNotContain",
- "doesNotBeginWith",
- "doesNotEndWith",
- "null",
- "notNull",
- "in",
- "notIn",
- "between",
- "notBetween",
- "concat",
- "+",
- "-",
- "blank",
- "notBlank",
- "coalesce",
- "accessField",
- "parseJson",
- "and",
- "or",
- "isError",
- "length",
- ],
- typing.Any,
-]
diff --git a/src/vellum/client/types/logprobs_enum.py b/src/vellum/client/types/logprobs_enum.py
deleted file mode 100644
index ecf265e413..0000000000
--- a/src/vellum/client/types/logprobs_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-LogprobsEnum = typing.Union[typing.Literal["ALL", "NONE"], typing.Any]
diff --git a/src/vellum/client/types/map_node_result.py b/src/vellum/client/types/map_node_result.py
deleted file mode 100644
index 84c5091af1..0000000000
--- a/src/vellum/client/types/map_node_result.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .map_node_result_data import MapNodeResultData
-
-
-class MapNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from a Map Node.
- """
-
- type: typing.Literal["MAP"] = "MAP"
- data: typing.Optional[MapNodeResultData] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/map_node_result_data.py b/src/vellum/client/types/map_node_result_data.py
deleted file mode 100644
index c2f54897e9..0000000000
--- a/src/vellum/client/types/map_node_result_data.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .iteration_state_enum import IterationStateEnum
-
-
-class MapNodeResultData(UniversalBaseModel):
- execution_ids: typing.List[str]
- iteration_state: typing.Optional[IterationStateEnum] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/merge_node_result.py b/src/vellum/client/types/merge_node_result.py
deleted file mode 100644
index 093724f099..0000000000
--- a/src/vellum/client/types/merge_node_result.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .merge_node_result_data import MergeNodeResultData
-
-
-class MergeNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from a Merge Node.
- """
-
- type: typing.Literal["MERGE"] = "MERGE"
- data: MergeNodeResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/merge_node_result_data.py b/src/vellum/client/types/merge_node_result_data.py
deleted file mode 100644
index 2abc351517..0000000000
--- a/src/vellum/client/types/merge_node_result_data.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class MergeNodeResultData(UniversalBaseModel):
- paused_node_data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/metadata_filter_config_request.py b/src/vellum/client/types/metadata_filter_config_request.py
deleted file mode 100644
index 4c2b6d07f2..0000000000
--- a/src/vellum/client/types/metadata_filter_config_request.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .logical_operator import LogicalOperator
-from .metadata_filter_rule_combinator import MetadataFilterRuleCombinator
-
-
-class MetadataFilterConfigRequest(UniversalBaseModel):
- """
- A deprecated pattern for filtering on metadata. Please use MetadataFilters instead.
- """
-
- combinator: typing.Optional[MetadataFilterRuleCombinator] = None
- negated: typing.Optional[bool] = None
- rules: typing.Optional[typing.List["MetadataFilterRuleRequest"]] = None
- field: typing.Optional[str] = None
- operator: typing.Optional[LogicalOperator] = None
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .metadata_filter_rule_request import MetadataFilterRuleRequest # noqa: E402, F401, I001
-
-update_forward_refs(MetadataFilterConfigRequest)
diff --git a/src/vellum/client/types/metadata_filter_rule_combinator.py b/src/vellum/client/types/metadata_filter_rule_combinator.py
deleted file mode 100644
index fc46bf4909..0000000000
--- a/src/vellum/client/types/metadata_filter_rule_combinator.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-MetadataFilterRuleCombinator = typing.Union[typing.Literal["and", "or"], typing.Any]
diff --git a/src/vellum/client/types/metadata_filter_rule_request.py b/src/vellum/client/types/metadata_filter_rule_request.py
deleted file mode 100644
index 091336ab19..0000000000
--- a/src/vellum/client/types/metadata_filter_rule_request.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .logical_operator import LogicalOperator
-from .metadata_filter_rule_combinator import MetadataFilterRuleCombinator
-
-
-class MetadataFilterRuleRequest(UniversalBaseModel):
- combinator: typing.Optional[MetadataFilterRuleCombinator] = None
- negated: typing.Optional[bool] = None
- rules: typing.Optional[typing.List["MetadataFilterRuleRequest"]] = None
- field: typing.Optional[str] = None
- operator: typing.Optional[LogicalOperator] = None
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-update_forward_refs(MetadataFilterRuleRequest)
diff --git a/src/vellum/client/types/metadata_filters_request.py b/src/vellum/client/types/metadata_filters_request.py
deleted file mode 100644
index b146ce917d..0000000000
--- a/src/vellum/client/types/metadata_filters_request.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .metadata_filter_config_request import MetadataFilterConfigRequest
-from .vellum_value_logical_expression_request import VellumValueLogicalExpressionRequest
-
-MetadataFiltersRequest = typing.Union[MetadataFilterConfigRequest, VellumValueLogicalExpressionRequest]
diff --git a/src/vellum/client/types/method_enum.py b/src/vellum/client/types/method_enum.py
deleted file mode 100644
index 7649482ad0..0000000000
--- a/src/vellum/client/types/method_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-MethodEnum = typing.Union[typing.Literal["POST", "GET", "PATCH", "PUT", "DELETE"], typing.Any]
diff --git a/src/vellum/client/types/metric_definition_execution.py b/src/vellum/client/types/metric_definition_execution.py
deleted file mode 100644
index e7817eace5..0000000000
--- a/src/vellum/client/types/metric_definition_execution.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .test_suite_run_metric_output import TestSuiteRunMetricOutput
-
-
-class MetricDefinitionExecution(UniversalBaseModel):
- outputs: typing.List[TestSuiteRunMetricOutput]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(MetricDefinitionExecution)
diff --git a/src/vellum/client/types/metric_definition_history_item.py b/src/vellum/client/types/metric_definition_history_item.py
deleted file mode 100644
index c4fc1a693c..0000000000
--- a/src/vellum/client/types/metric_definition_history_item.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .vellum_variable import VellumVariable
-
-
-class MetricDefinitionHistoryItem(UniversalBaseModel):
- id: str
- label: str = pydantic.Field()
- """
- A human-readable label for the metric
- """
-
- name: str = pydantic.Field()
- """
- A name that uniquely identifies this metric within its workspace
- """
-
- description: str
- input_variables: typing.List[VellumVariable]
- output_variables: typing.List[VellumVariable]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(MetricDefinitionHistoryItem)
diff --git a/src/vellum/client/types/metric_definition_input.py b/src/vellum/client/types/metric_definition_input.py
deleted file mode 100644
index ca8791e0dd..0000000000
--- a/src/vellum/client/types/metric_definition_input.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .chat_history_input import ChatHistoryInput
-from .json_input import JsonInput
-from .number_input import NumberInput
-from .string_input import StringInput
-
-MetricDefinitionInput = typing.Union[StringInput, JsonInput, ChatHistoryInput, NumberInput]
diff --git a/src/vellum/client/types/metric_node_result.py b/src/vellum/client/types/metric_node_result.py
deleted file mode 100644
index 31584ab690..0000000000
--- a/src/vellum/client/types/metric_node_result.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class MetricNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from a Metric Node.
- """
-
- type: typing.Literal["METRIC"] = "METRIC"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/ml_model_read.py b/src/vellum/client/types/ml_model_read.py
deleted file mode 100644
index e5cec1ecdd..0000000000
--- a/src/vellum/client/types/ml_model_read.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class MlModelRead(UniversalBaseModel):
- """
- An ML Model that your Workspace has access to.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The unique name of the ML Model.
- """
-
- introduced_on: dt.datetime
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/ml_model_usage.py b/src/vellum/client/types/ml_model_usage.py
deleted file mode 100644
index fed8b31725..0000000000
--- a/src/vellum/client/types/ml_model_usage.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class MlModelUsage(UniversalBaseModel):
- output_token_count: typing.Optional[int] = None
- input_token_count: typing.Optional[int] = None
- input_char_count: typing.Optional[int] = None
- output_char_count: typing.Optional[int] = None
- compute_nanos: typing.Optional[int] = None
- cache_creation_input_tokens: typing.Optional[int] = None
- cache_read_input_tokens: typing.Optional[int] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/ml_model_usage_wrapper.py b/src/vellum/client/types/ml_model_usage_wrapper.py
deleted file mode 100644
index 6169efbc77..0000000000
--- a/src/vellum/client/types/ml_model_usage_wrapper.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ml_model_usage import MlModelUsage
-
-
-class MlModelUsageWrapper(UniversalBaseModel):
- ml_model_name: str
- ml_model_usage: MlModelUsage
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_scenario_input_audio_variable_value_request.py b/src/vellum/client/types/named_scenario_input_audio_variable_value_request.py
deleted file mode 100644
index eb5e300b03..0000000000
--- a/src/vellum/client/types/named_scenario_input_audio_variable_value_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio_request import VellumAudioRequest
-
-
-class NamedScenarioInputAudioVariableValueRequest(UniversalBaseModel):
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: VellumAudioRequest
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_scenario_input_chat_history_variable_value_request.py b/src/vellum/client/types/named_scenario_input_chat_history_variable_value_request.py
deleted file mode 100644
index 3d3f2ca1cf..0000000000
--- a/src/vellum/client/types/named_scenario_input_chat_history_variable_value_request.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message_request import ChatMessageRequest
-
-
-class NamedScenarioInputChatHistoryVariableValueRequest(UniversalBaseModel):
- """
- Named Prompt Sandbox Scenario input value that is of type CHAT_HISTORY
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessageRequest]] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_scenario_input_document_variable_value_request.py b/src/vellum/client/types/named_scenario_input_document_variable_value_request.py
deleted file mode 100644
index d72d15de65..0000000000
--- a/src/vellum/client/types/named_scenario_input_document_variable_value_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document_request import VellumDocumentRequest
-
-
-class NamedScenarioInputDocumentVariableValueRequest(UniversalBaseModel):
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: VellumDocumentRequest
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_scenario_input_image_variable_value_request.py b/src/vellum/client/types/named_scenario_input_image_variable_value_request.py
deleted file mode 100644
index 9378d287c7..0000000000
--- a/src/vellum/client/types/named_scenario_input_image_variable_value_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image_request import VellumImageRequest
-
-
-class NamedScenarioInputImageVariableValueRequest(UniversalBaseModel):
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: VellumImageRequest
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_scenario_input_json_variable_value_request.py b/src/vellum/client/types/named_scenario_input_json_variable_value_request.py
deleted file mode 100644
index 55fc7d715a..0000000000
--- a/src/vellum/client/types/named_scenario_input_json_variable_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NamedScenarioInputJsonVariableValueRequest(UniversalBaseModel):
- """
- Named Prompt Sandbox Scenario input value that is of type JSON
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_scenario_input_request.py b/src/vellum/client/types/named_scenario_input_request.py
deleted file mode 100644
index 0cbbd3d2e9..0000000000
--- a/src/vellum/client/types/named_scenario_input_request.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .named_scenario_input_audio_variable_value_request import NamedScenarioInputAudioVariableValueRequest
-from .named_scenario_input_chat_history_variable_value_request import NamedScenarioInputChatHistoryVariableValueRequest
-from .named_scenario_input_document_variable_value_request import NamedScenarioInputDocumentVariableValueRequest
-from .named_scenario_input_image_variable_value_request import NamedScenarioInputImageVariableValueRequest
-from .named_scenario_input_json_variable_value_request import NamedScenarioInputJsonVariableValueRequest
-from .named_scenario_input_string_variable_value_request import NamedScenarioInputStringVariableValueRequest
-from .named_scenario_input_video_variable_value_request import NamedScenarioInputVideoVariableValueRequest
-
-NamedScenarioInputRequest = typing.Union[
- NamedScenarioInputStringVariableValueRequest,
- NamedScenarioInputJsonVariableValueRequest,
- NamedScenarioInputChatHistoryVariableValueRequest,
- NamedScenarioInputAudioVariableValueRequest,
- NamedScenarioInputVideoVariableValueRequest,
- NamedScenarioInputImageVariableValueRequest,
- NamedScenarioInputDocumentVariableValueRequest,
-]
diff --git a/src/vellum/client/types/named_scenario_input_string_variable_value_request.py b/src/vellum/client/types/named_scenario_input_string_variable_value_request.py
deleted file mode 100644
index 67e6e82658..0000000000
--- a/src/vellum/client/types/named_scenario_input_string_variable_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NamedScenarioInputStringVariableValueRequest(UniversalBaseModel):
- """
- Named Prompt Sandbox Scenario input value that is of type STRING
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_scenario_input_video_variable_value_request.py b/src/vellum/client/types/named_scenario_input_video_variable_value_request.py
deleted file mode 100644
index 864862cc35..0000000000
--- a/src/vellum/client/types/named_scenario_input_video_variable_value_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video_request import VellumVideoRequest
-
-
-class NamedScenarioInputVideoVariableValueRequest(UniversalBaseModel):
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: VellumVideoRequest
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_array_variable_value.py b/src/vellum/client/types/named_test_case_array_variable_value.py
deleted file mode 100644
index 6bbf0675cb..0000000000
--- a/src/vellum/client/types/named_test_case_array_variable_value.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class NamedTestCaseArrayVariableValue(UniversalBaseModel):
- """
- Named Test Case value that is of type ARRAY
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(NamedTestCaseArrayVariableValue)
diff --git a/src/vellum/client/types/named_test_case_array_variable_value_request.py b/src/vellum/client/types/named_test_case_array_variable_value_request.py
deleted file mode 100644
index ebf1dd777a..0000000000
--- a/src/vellum/client/types/named_test_case_array_variable_value_request.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class NamedTestCaseArrayVariableValueRequest(UniversalBaseModel):
- """
- Named Test Case value that is of type ARRAY
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValueRequest"]] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-from .vellum_value_request import VellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(NamedTestCaseArrayVariableValueRequest)
diff --git a/src/vellum/client/types/named_test_case_audio_variable_value.py b/src/vellum/client/types/named_test_case_audio_variable_value.py
deleted file mode 100644
index a09bb0671e..0000000000
--- a/src/vellum/client/types/named_test_case_audio_variable_value.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio import VellumAudio
-
-
-class NamedTestCaseAudioVariableValue(UniversalBaseModel):
- """
- Named Test Case value that is of type AUDIO
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: typing.Optional[VellumAudio] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_audio_variable_value_request.py b/src/vellum/client/types/named_test_case_audio_variable_value_request.py
deleted file mode 100644
index d6cab5958c..0000000000
--- a/src/vellum/client/types/named_test_case_audio_variable_value_request.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio_request import VellumAudioRequest
-
-
-class NamedTestCaseAudioVariableValueRequest(UniversalBaseModel):
- """
- Named Test Case value that is of type AUDIO
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: typing.Optional[VellumAudioRequest] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_chat_history_variable_value.py b/src/vellum/client/types/named_test_case_chat_history_variable_value.py
deleted file mode 100644
index f1f2936c10..0000000000
--- a/src/vellum/client/types/named_test_case_chat_history_variable_value.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class NamedTestCaseChatHistoryVariableValue(UniversalBaseModel):
- """
- Named Test Case value that is of type CHAT_HISTORY
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_chat_history_variable_value_request.py b/src/vellum/client/types/named_test_case_chat_history_variable_value_request.py
deleted file mode 100644
index a27dc57c2d..0000000000
--- a/src/vellum/client/types/named_test_case_chat_history_variable_value_request.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message_request import ChatMessageRequest
-
-
-class NamedTestCaseChatHistoryVariableValueRequest(UniversalBaseModel):
- """
- Named Test Case value that is of type CHAT_HISTORY
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessageRequest]] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_document_variable_value.py b/src/vellum/client/types/named_test_case_document_variable_value.py
deleted file mode 100644
index ec78419b7c..0000000000
--- a/src/vellum/client/types/named_test_case_document_variable_value.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document import VellumDocument
-
-
-class NamedTestCaseDocumentVariableValue(UniversalBaseModel):
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: typing.Optional[VellumDocument] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_document_variable_value_request.py b/src/vellum/client/types/named_test_case_document_variable_value_request.py
deleted file mode 100644
index 8ef70c8303..0000000000
--- a/src/vellum/client/types/named_test_case_document_variable_value_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document_request import VellumDocumentRequest
-
-
-class NamedTestCaseDocumentVariableValueRequest(UniversalBaseModel):
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: typing.Optional[VellumDocumentRequest] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_error_variable_value.py b/src/vellum/client/types/named_test_case_error_variable_value.py
deleted file mode 100644
index 94a7f1f54e..0000000000
--- a/src/vellum/client/types/named_test_case_error_variable_value.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class NamedTestCaseErrorVariableValue(UniversalBaseModel):
- """
- Named Test Case value that is of type ERROR
- """
-
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_error_variable_value_request.py b/src/vellum/client/types/named_test_case_error_variable_value_request.py
deleted file mode 100644
index 7adf5a079c..0000000000
--- a/src/vellum/client/types/named_test_case_error_variable_value_request.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error_request import VellumErrorRequest
-
-
-class NamedTestCaseErrorVariableValueRequest(UniversalBaseModel):
- """
- Named Test Case value that is of type ERROR
- """
-
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumErrorRequest] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_function_call_variable_value.py b/src/vellum/client/types/named_test_case_function_call_variable_value.py
deleted file mode 100644
index b8c0412d62..0000000000
--- a/src/vellum/client/types/named_test_case_function_call_variable_value.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class NamedTestCaseFunctionCallVariableValue(UniversalBaseModel):
- """
- Named Test Case value that is of type FUNCTION_CALL
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_function_call_variable_value_request.py b/src/vellum/client/types/named_test_case_function_call_variable_value_request.py
deleted file mode 100644
index ac9ab4aa2a..0000000000
--- a/src/vellum/client/types/named_test_case_function_call_variable_value_request.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call_request import FunctionCallRequest
-
-
-class NamedTestCaseFunctionCallVariableValueRequest(UniversalBaseModel):
- """
- Named Test Case value that is of type FUNCTION_CALL
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCallRequest] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_image_variable_value.py b/src/vellum/client/types/named_test_case_image_variable_value.py
deleted file mode 100644
index 42a8fa2a37..0000000000
--- a/src/vellum/client/types/named_test_case_image_variable_value.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image import VellumImage
-
-
-class NamedTestCaseImageVariableValue(UniversalBaseModel):
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: typing.Optional[VellumImage] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_image_variable_value_request.py b/src/vellum/client/types/named_test_case_image_variable_value_request.py
deleted file mode 100644
index 2933e69848..0000000000
--- a/src/vellum/client/types/named_test_case_image_variable_value_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image_request import VellumImageRequest
-
-
-class NamedTestCaseImageVariableValueRequest(UniversalBaseModel):
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: typing.Optional[VellumImageRequest] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_json_variable_value.py b/src/vellum/client/types/named_test_case_json_variable_value.py
deleted file mode 100644
index 0caa405807..0000000000
--- a/src/vellum/client/types/named_test_case_json_variable_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NamedTestCaseJsonVariableValue(UniversalBaseModel):
- """
- Named Test Case value that is of type JSON
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_json_variable_value_request.py b/src/vellum/client/types/named_test_case_json_variable_value_request.py
deleted file mode 100644
index 59e18d3d5a..0000000000
--- a/src/vellum/client/types/named_test_case_json_variable_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NamedTestCaseJsonVariableValueRequest(UniversalBaseModel):
- """
- Named Test Case value that is of type JSON
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_number_variable_value.py b/src/vellum/client/types/named_test_case_number_variable_value.py
deleted file mode 100644
index 211e603ea6..0000000000
--- a/src/vellum/client/types/named_test_case_number_variable_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NamedTestCaseNumberVariableValue(UniversalBaseModel):
- """
- Named Test Case value that is of type NUMBER
- """
-
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_number_variable_value_request.py b/src/vellum/client/types/named_test_case_number_variable_value_request.py
deleted file mode 100644
index c133c867e4..0000000000
--- a/src/vellum/client/types/named_test_case_number_variable_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NamedTestCaseNumberVariableValueRequest(UniversalBaseModel):
- """
- Named Test Case value that is of type NUMBER
- """
-
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_search_results_variable_value.py b/src/vellum/client/types/named_test_case_search_results_variable_value.py
deleted file mode 100644
index 4dde48ed3d..0000000000
--- a/src/vellum/client/types/named_test_case_search_results_variable_value.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class NamedTestCaseSearchResultsVariableValue(UniversalBaseModel):
- """
- Named Test Case value that is of type SEARCH_RESULTS
- """
-
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_search_results_variable_value_request.py b/src/vellum/client/types/named_test_case_search_results_variable_value_request.py
deleted file mode 100644
index aa2e641132..0000000000
--- a/src/vellum/client/types/named_test_case_search_results_variable_value_request.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result_request import SearchResultRequest
-
-
-class NamedTestCaseSearchResultsVariableValueRequest(UniversalBaseModel):
- """
- Named Test Case value that is of type SEARCH_RESULTS
- """
-
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResultRequest]] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_string_variable_value.py b/src/vellum/client/types/named_test_case_string_variable_value.py
deleted file mode 100644
index c62475fac8..0000000000
--- a/src/vellum/client/types/named_test_case_string_variable_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NamedTestCaseStringVariableValue(UniversalBaseModel):
- """
- Named Test Case value that is of type STRING
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_string_variable_value_request.py b/src/vellum/client/types/named_test_case_string_variable_value_request.py
deleted file mode 100644
index 112ecf11d2..0000000000
--- a/src/vellum/client/types/named_test_case_string_variable_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NamedTestCaseStringVariableValueRequest(UniversalBaseModel):
- """
- Named Test Case value that is of type STRING
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_variable_value.py b/src/vellum/client/types/named_test_case_variable_value.py
deleted file mode 100644
index 7fe5cfd26a..0000000000
--- a/src/vellum/client/types/named_test_case_variable_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .named_test_case_array_variable_value import NamedTestCaseArrayVariableValue
-from .named_test_case_audio_variable_value import NamedTestCaseAudioVariableValue
-from .named_test_case_chat_history_variable_value import NamedTestCaseChatHistoryVariableValue
-from .named_test_case_document_variable_value import NamedTestCaseDocumentVariableValue
-from .named_test_case_error_variable_value import NamedTestCaseErrorVariableValue
-from .named_test_case_function_call_variable_value import NamedTestCaseFunctionCallVariableValue
-from .named_test_case_image_variable_value import NamedTestCaseImageVariableValue
-from .named_test_case_json_variable_value import NamedTestCaseJsonVariableValue
-from .named_test_case_number_variable_value import NamedTestCaseNumberVariableValue
-from .named_test_case_search_results_variable_value import NamedTestCaseSearchResultsVariableValue
-from .named_test_case_string_variable_value import NamedTestCaseStringVariableValue
-from .named_test_case_video_variable_value import NamedTestCaseVideoVariableValue
-
-NamedTestCaseVariableValue = typing.Union[
- NamedTestCaseStringVariableValue,
- NamedTestCaseNumberVariableValue,
- NamedTestCaseJsonVariableValue,
- NamedTestCaseChatHistoryVariableValue,
- NamedTestCaseSearchResultsVariableValue,
- NamedTestCaseErrorVariableValue,
- NamedTestCaseFunctionCallVariableValue,
- NamedTestCaseArrayVariableValue,
- NamedTestCaseAudioVariableValue,
- NamedTestCaseVideoVariableValue,
- NamedTestCaseImageVariableValue,
- NamedTestCaseDocumentVariableValue,
-]
diff --git a/src/vellum/client/types/named_test_case_variable_value_request.py b/src/vellum/client/types/named_test_case_variable_value_request.py
deleted file mode 100644
index 930a6624f1..0000000000
--- a/src/vellum/client/types/named_test_case_variable_value_request.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .named_test_case_array_variable_value_request import NamedTestCaseArrayVariableValueRequest
-from .named_test_case_audio_variable_value_request import NamedTestCaseAudioVariableValueRequest
-from .named_test_case_chat_history_variable_value_request import NamedTestCaseChatHistoryVariableValueRequest
-from .named_test_case_document_variable_value_request import NamedTestCaseDocumentVariableValueRequest
-from .named_test_case_error_variable_value_request import NamedTestCaseErrorVariableValueRequest
-from .named_test_case_function_call_variable_value_request import NamedTestCaseFunctionCallVariableValueRequest
-from .named_test_case_image_variable_value_request import NamedTestCaseImageVariableValueRequest
-from .named_test_case_json_variable_value_request import NamedTestCaseJsonVariableValueRequest
-from .named_test_case_number_variable_value_request import NamedTestCaseNumberVariableValueRequest
-from .named_test_case_search_results_variable_value_request import NamedTestCaseSearchResultsVariableValueRequest
-from .named_test_case_string_variable_value_request import NamedTestCaseStringVariableValueRequest
-from .named_test_case_video_variable_value_request import NamedTestCaseVideoVariableValueRequest
-
-NamedTestCaseVariableValueRequest = typing.Union[
- NamedTestCaseStringVariableValueRequest,
- NamedTestCaseNumberVariableValueRequest,
- NamedTestCaseJsonVariableValueRequest,
- NamedTestCaseChatHistoryVariableValueRequest,
- NamedTestCaseSearchResultsVariableValueRequest,
- NamedTestCaseErrorVariableValueRequest,
- NamedTestCaseFunctionCallVariableValueRequest,
- NamedTestCaseArrayVariableValueRequest,
- NamedTestCaseAudioVariableValueRequest,
- NamedTestCaseVideoVariableValueRequest,
- NamedTestCaseImageVariableValueRequest,
- NamedTestCaseDocumentVariableValueRequest,
-]
diff --git a/src/vellum/client/types/named_test_case_video_variable_value.py b/src/vellum/client/types/named_test_case_video_variable_value.py
deleted file mode 100644
index 7dfbc89916..0000000000
--- a/src/vellum/client/types/named_test_case_video_variable_value.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video import VellumVideo
-
-
-class NamedTestCaseVideoVariableValue(UniversalBaseModel):
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: typing.Optional[VellumVideo] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/named_test_case_video_variable_value_request.py b/src/vellum/client/types/named_test_case_video_variable_value_request.py
deleted file mode 100644
index 568bcf8710..0000000000
--- a/src/vellum/client/types/named_test_case_video_variable_value_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video_request import VellumVideoRequest
-
-
-class NamedTestCaseVideoVariableValueRequest(UniversalBaseModel):
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: typing.Optional[VellumVideoRequest] = None
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/new_member_join_behavior_enum.py b/src/vellum/client/types/new_member_join_behavior_enum.py
deleted file mode 100644
index de6ba42822..0000000000
--- a/src/vellum/client/types/new_member_join_behavior_enum.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-NewMemberJoinBehaviorEnum = typing.Union[
- typing.Literal["AUTO_ACCEPT_FROM_SHARED_DOMAIN", "ALLOW_REQUESTS_FROM_SHARED_DOMAIN", "REQUIRE_EXPLICIT_INVITE"],
- typing.Any,
-]
diff --git a/src/vellum/client/types/node_execution_fulfilled_body.py b/src/vellum/client/types/node_execution_fulfilled_body.py
deleted file mode 100644
index 8b9545a0bc..0000000000
--- a/src/vellum/client/types/node_execution_fulfilled_body.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .invoked_port import InvokedPort
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class NodeExecutionFulfilledBody(UniversalBaseModel):
- node_definition: VellumCodeResourceDefinition
- invoked_ports: typing.Optional[typing.List[InvokedPort]] = None
- outputs: typing.Dict[str, typing.Optional[typing.Any]]
- mocked: typing.Optional[bool] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_execution_fulfilled_event.py b/src/vellum/client/types/node_execution_fulfilled_event.py
deleted file mode 100644
index 9720b780f7..0000000000
--- a/src/vellum/client/types/node_execution_fulfilled_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .node_execution_fulfilled_body import NodeExecutionFulfilledBody
-
-
-class NodeExecutionFulfilledEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["node.execution.fulfilled"] = "node.execution.fulfilled"
- body: NodeExecutionFulfilledBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(NodeExecutionFulfilledEvent)
diff --git a/src/vellum/client/types/node_execution_initiated_body.py b/src/vellum/client/types/node_execution_initiated_body.py
deleted file mode 100644
index 5870ec1a4e..0000000000
--- a/src/vellum/client/types/node_execution_initiated_body.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class NodeExecutionInitiatedBody(UniversalBaseModel):
- node_definition: VellumCodeResourceDefinition
- inputs: typing.Dict[str, typing.Optional[typing.Any]]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_execution_initiated_event.py b/src/vellum/client/types/node_execution_initiated_event.py
deleted file mode 100644
index 7c7938ad0d..0000000000
--- a/src/vellum/client/types/node_execution_initiated_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .node_execution_initiated_body import NodeExecutionInitiatedBody
-
-
-class NodeExecutionInitiatedEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["node.execution.initiated"] = "node.execution.initiated"
- body: NodeExecutionInitiatedBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(NodeExecutionInitiatedEvent)
diff --git a/src/vellum/client/types/node_execution_paused_body.py b/src/vellum/client/types/node_execution_paused_body.py
deleted file mode 100644
index 2a1a4ebffc..0000000000
--- a/src/vellum/client/types/node_execution_paused_body.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class NodeExecutionPausedBody(UniversalBaseModel):
- node_definition: VellumCodeResourceDefinition
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_execution_paused_event.py b/src/vellum/client/types/node_execution_paused_event.py
deleted file mode 100644
index ff3f03f110..0000000000
--- a/src/vellum/client/types/node_execution_paused_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .node_execution_paused_body import NodeExecutionPausedBody
-
-
-class NodeExecutionPausedEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["node.execution.paused"] = "node.execution.paused"
- body: NodeExecutionPausedBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(NodeExecutionPausedEvent)
diff --git a/src/vellum/client/types/node_execution_rejected_body.py b/src/vellum/client/types/node_execution_rejected_body.py
deleted file mode 100644
index fbd8170ad2..0000000000
--- a/src/vellum/client/types/node_execution_rejected_body.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-from .vellum_sdk_error import VellumSdkError
-
-
-class NodeExecutionRejectedBody(UniversalBaseModel):
- node_definition: VellumCodeResourceDefinition
- error: VellumSdkError
- stacktrace: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_execution_rejected_event.py b/src/vellum/client/types/node_execution_rejected_event.py
deleted file mode 100644
index e4ecc80725..0000000000
--- a/src/vellum/client/types/node_execution_rejected_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .node_execution_rejected_body import NodeExecutionRejectedBody
-
-
-class NodeExecutionRejectedEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["node.execution.rejected"] = "node.execution.rejected"
- body: NodeExecutionRejectedBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(NodeExecutionRejectedEvent)
diff --git a/src/vellum/client/types/node_execution_resumed_body.py b/src/vellum/client/types/node_execution_resumed_body.py
deleted file mode 100644
index a3f01a31f4..0000000000
--- a/src/vellum/client/types/node_execution_resumed_body.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class NodeExecutionResumedBody(UniversalBaseModel):
- node_definition: VellumCodeResourceDefinition
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_execution_resumed_event.py b/src/vellum/client/types/node_execution_resumed_event.py
deleted file mode 100644
index e7fe70425a..0000000000
--- a/src/vellum/client/types/node_execution_resumed_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .node_execution_resumed_body import NodeExecutionResumedBody
-
-
-class NodeExecutionResumedEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["node.execution.resumed"] = "node.execution.resumed"
- body: NodeExecutionResumedBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(NodeExecutionResumedEvent)
diff --git a/src/vellum/client/types/node_execution_span.py b/src/vellum/client/types/node_execution_span.py
deleted file mode 100644
index b1f985d7df..0000000000
--- a/src/vellum/client/types/node_execution_span.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .node_execution_span_attributes import NodeExecutionSpanAttributes
-from .vellum_node_execution_event import VellumNodeExecutionEvent
-from .workflow_execution_usage_calculation_fulfilled_body import WorkflowExecutionUsageCalculationFulfilledBody
-
-
-class NodeExecutionSpan(UniversalBaseModel):
- name: typing.Literal["node.execution"] = "node.execution"
- events: typing.List[VellumNodeExecutionEvent]
- attributes: NodeExecutionSpanAttributes
- usage_result: typing.Optional[WorkflowExecutionUsageCalculationFulfilledBody] = None
- span_id: str
- start_ts: dt.datetime
- end_ts: dt.datetime
- parent_span_id: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-
-update_forward_refs(NodeExecutionSpan)
diff --git a/src/vellum/client/types/node_execution_span_attributes.py b/src/vellum/client/types/node_execution_span_attributes.py
deleted file mode 100644
index 009f0306a0..0000000000
--- a/src/vellum/client/types/node_execution_span_attributes.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NodeExecutionSpanAttributes(UniversalBaseModel):
- label: str
- filepath: typing.Optional[str] = None
- node_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_execution_streaming_body.py b/src/vellum/client/types/node_execution_streaming_body.py
deleted file mode 100644
index 8c1a7d9481..0000000000
--- a/src/vellum/client/types/node_execution_streaming_body.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .base_output import BaseOutput
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class NodeExecutionStreamingBody(UniversalBaseModel):
- node_definition: VellumCodeResourceDefinition
- output: BaseOutput
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_execution_streaming_event.py b/src/vellum/client/types/node_execution_streaming_event.py
deleted file mode 100644
index 91521885fa..0000000000
--- a/src/vellum/client/types/node_execution_streaming_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .node_execution_streaming_body import NodeExecutionStreamingBody
-
-
-class NodeExecutionStreamingEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["node.execution.streaming"] = "node.execution.streaming"
- body: NodeExecutionStreamingBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(NodeExecutionStreamingEvent)
diff --git a/src/vellum/client/types/node_input_compiled_array_value.py b/src/vellum/client/types/node_input_compiled_array_value.py
deleted file mode 100644
index 002444d44d..0000000000
--- a/src/vellum/client/types/node_input_compiled_array_value.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class NodeInputCompiledArrayValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(NodeInputCompiledArrayValue)
diff --git a/src/vellum/client/types/node_input_compiled_audio_value.py b/src/vellum/client/types/node_input_compiled_audio_value.py
deleted file mode 100644
index 4335ffda70..0000000000
--- a/src/vellum/client/types/node_input_compiled_audio_value.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio import VellumAudio
-
-
-class NodeInputCompiledAudioValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: typing.Optional[VellumAudio] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_chat_history_value.py b/src/vellum/client/types/node_input_compiled_chat_history_value.py
deleted file mode 100644
index 7dd0ad9d4c..0000000000
--- a/src/vellum/client/types/node_input_compiled_chat_history_value.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class NodeInputCompiledChatHistoryValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_document_value.py b/src/vellum/client/types/node_input_compiled_document_value.py
deleted file mode 100644
index fe942420e7..0000000000
--- a/src/vellum/client/types/node_input_compiled_document_value.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document import VellumDocument
-
-
-class NodeInputCompiledDocumentValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: typing.Optional[VellumDocument] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_error_value.py b/src/vellum/client/types/node_input_compiled_error_value.py
deleted file mode 100644
index e6b21c24a0..0000000000
--- a/src/vellum/client/types/node_input_compiled_error_value.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class NodeInputCompiledErrorValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_function_call_value.py b/src/vellum/client/types/node_input_compiled_function_call_value.py
deleted file mode 100644
index 9db607da98..0000000000
--- a/src/vellum/client/types/node_input_compiled_function_call_value.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class NodeInputCompiledFunctionCallValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_image_value.py b/src/vellum/client/types/node_input_compiled_image_value.py
deleted file mode 100644
index 19ce466630..0000000000
--- a/src/vellum/client/types/node_input_compiled_image_value.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image import VellumImage
-
-
-class NodeInputCompiledImageValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: typing.Optional[VellumImage] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_json_value.py b/src/vellum/client/types/node_input_compiled_json_value.py
deleted file mode 100644
index acd9ac1f75..0000000000
--- a/src/vellum/client/types/node_input_compiled_json_value.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NodeInputCompiledJsonValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_number_value.py b/src/vellum/client/types/node_input_compiled_number_value.py
deleted file mode 100644
index 83a06531ce..0000000000
--- a/src/vellum/client/types/node_input_compiled_number_value.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NodeInputCompiledNumberValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_search_results_value.py b/src/vellum/client/types/node_input_compiled_search_results_value.py
deleted file mode 100644
index d692f1a5ba..0000000000
--- a/src/vellum/client/types/node_input_compiled_search_results_value.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class NodeInputCompiledSearchResultsValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_secret_value.py b/src/vellum/client/types/node_input_compiled_secret_value.py
deleted file mode 100644
index 36b82dacbd..0000000000
--- a/src/vellum/client/types/node_input_compiled_secret_value.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_secret import VellumSecret
-
-
-class NodeInputCompiledSecretValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["SECRET"] = "SECRET"
- value: VellumSecret
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_string_value.py b/src/vellum/client/types/node_input_compiled_string_value.py
deleted file mode 100644
index b62535e209..0000000000
--- a/src/vellum/client/types/node_input_compiled_string_value.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NodeInputCompiledStringValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_compiled_video_value.py b/src/vellum/client/types/node_input_compiled_video_value.py
deleted file mode 100644
index b74eefdc6a..0000000000
--- a/src/vellum/client/types/node_input_compiled_video_value.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video import VellumVideo
-
-
-class NodeInputCompiledVideoValue(UniversalBaseModel):
- node_input_id: str
- key: str
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: typing.Optional[VellumVideo] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_input_variable_compiled_value.py b/src/vellum/client/types/node_input_variable_compiled_value.py
deleted file mode 100644
index 2e0e360410..0000000000
--- a/src/vellum/client/types/node_input_variable_compiled_value.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .node_input_compiled_array_value import NodeInputCompiledArrayValue
-from .node_input_compiled_audio_value import NodeInputCompiledAudioValue
-from .node_input_compiled_chat_history_value import NodeInputCompiledChatHistoryValue
-from .node_input_compiled_document_value import NodeInputCompiledDocumentValue
-from .node_input_compiled_error_value import NodeInputCompiledErrorValue
-from .node_input_compiled_function_call_value import NodeInputCompiledFunctionCallValue
-from .node_input_compiled_image_value import NodeInputCompiledImageValue
-from .node_input_compiled_json_value import NodeInputCompiledJsonValue
-from .node_input_compiled_number_value import NodeInputCompiledNumberValue
-from .node_input_compiled_search_results_value import NodeInputCompiledSearchResultsValue
-from .node_input_compiled_secret_value import NodeInputCompiledSecretValue
-from .node_input_compiled_string_value import NodeInputCompiledStringValue
-from .node_input_compiled_video_value import NodeInputCompiledVideoValue
-
-NodeInputVariableCompiledValue = typing.Union[
- NodeInputCompiledStringValue,
- NodeInputCompiledNumberValue,
- NodeInputCompiledJsonValue,
- NodeInputCompiledChatHistoryValue,
- NodeInputCompiledSearchResultsValue,
- NodeInputCompiledErrorValue,
- NodeInputCompiledArrayValue,
- NodeInputCompiledFunctionCallValue,
- NodeInputCompiledSecretValue,
- NodeInputCompiledAudioValue,
- NodeInputCompiledVideoValue,
- NodeInputCompiledImageValue,
- NodeInputCompiledDocumentValue,
-]
diff --git a/src/vellum/client/types/node_output_compiled_array_value.py b/src/vellum/client/types/node_output_compiled_array_value.py
deleted file mode 100644
index 915e0d2340..0000000000
--- a/src/vellum/client/types/node_output_compiled_array_value.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class NodeOutputCompiledArrayValue(UniversalBaseModel):
- """
- An output returned by a node that is of type ARRAY.
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
- node_output_id: str
- state: typing.Optional[WorkflowNodeResultEventState] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(NodeOutputCompiledArrayValue)
diff --git a/src/vellum/client/types/node_output_compiled_chat_history_value.py b/src/vellum/client/types/node_output_compiled_chat_history_value.py
deleted file mode 100644
index 5140fcf4eb..0000000000
--- a/src/vellum/client/types/node_output_compiled_chat_history_value.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class NodeOutputCompiledChatHistoryValue(UniversalBaseModel):
- """
- An output returned by a node that is of type CHAT_HISTORY.
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
- node_output_id: str
- state: typing.Optional[WorkflowNodeResultEventState] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_output_compiled_error_value.py b/src/vellum/client/types/node_output_compiled_error_value.py
deleted file mode 100644
index fc2de8a6c8..0000000000
--- a/src/vellum/client/types/node_output_compiled_error_value.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class NodeOutputCompiledErrorValue(UniversalBaseModel):
- """
- An output returned by a node that is of type ERROR.
- """
-
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
- node_output_id: str
- state: typing.Optional[WorkflowNodeResultEventState] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_output_compiled_function_call_value.py b/src/vellum/client/types/node_output_compiled_function_call_value.py
deleted file mode 100644
index 9e8b19ba57..0000000000
--- a/src/vellum/client/types/node_output_compiled_function_call_value.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class NodeOutputCompiledFunctionCallValue(UniversalBaseModel):
- """
- An output returned by a node that is of type FUNCTION_CALL.
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
- node_output_id: str
- state: typing.Optional[WorkflowNodeResultEventState] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_output_compiled_json_value.py b/src/vellum/client/types/node_output_compiled_json_value.py
deleted file mode 100644
index 5aa53542b6..0000000000
--- a/src/vellum/client/types/node_output_compiled_json_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class NodeOutputCompiledJsonValue(UniversalBaseModel):
- """
- An output returned by a node that is of type JSON.
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
- node_output_id: str
- state: typing.Optional[WorkflowNodeResultEventState] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_output_compiled_number_value.py b/src/vellum/client/types/node_output_compiled_number_value.py
deleted file mode 100644
index 2d4d0108ce..0000000000
--- a/src/vellum/client/types/node_output_compiled_number_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class NodeOutputCompiledNumberValue(UniversalBaseModel):
- """
- An output returned by a node that is of type NUMBER.
- """
-
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
- node_output_id: str
- state: typing.Optional[WorkflowNodeResultEventState] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_output_compiled_search_results_value.py b/src/vellum/client/types/node_output_compiled_search_results_value.py
deleted file mode 100644
index d0bed70a47..0000000000
--- a/src/vellum/client/types/node_output_compiled_search_results_value.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class NodeOutputCompiledSearchResultsValue(UniversalBaseModel):
- """
- An output returned by a node that is of type SEARCH_RESULTS.
- """
-
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
- node_output_id: str
- state: typing.Optional[WorkflowNodeResultEventState] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_output_compiled_string_value.py b/src/vellum/client/types/node_output_compiled_string_value.py
deleted file mode 100644
index 77dbaabe1b..0000000000
--- a/src/vellum/client/types/node_output_compiled_string_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class NodeOutputCompiledStringValue(UniversalBaseModel):
- """
- An output returned by a node that is of type STRING.
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
- node_output_id: str
- state: typing.Optional[WorkflowNodeResultEventState] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_output_compiled_thinking_value.py b/src/vellum/client/types/node_output_compiled_thinking_value.py
deleted file mode 100644
index c4a4ec96be..0000000000
--- a/src/vellum/client/types/node_output_compiled_thinking_value.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .string_vellum_value import StringVellumValue
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class NodeOutputCompiledThinkingValue(UniversalBaseModel):
- """
- An output returned by a node that is of type THINKING.
- """
-
- type: typing.Literal["THINKING"] = "THINKING"
- value: typing.Optional[StringVellumValue] = None
- node_output_id: str
- state: typing.Optional[WorkflowNodeResultEventState] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/node_output_compiled_value.py b/src/vellum/client/types/node_output_compiled_value.py
deleted file mode 100644
index 6d370cb077..0000000000
--- a/src/vellum/client/types/node_output_compiled_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .node_output_compiled_array_value import NodeOutputCompiledArrayValue
-from .node_output_compiled_chat_history_value import NodeOutputCompiledChatHistoryValue
-from .node_output_compiled_error_value import NodeOutputCompiledErrorValue
-from .node_output_compiled_function_call_value import NodeOutputCompiledFunctionCallValue
-from .node_output_compiled_json_value import NodeOutputCompiledJsonValue
-from .node_output_compiled_number_value import NodeOutputCompiledNumberValue
-from .node_output_compiled_search_results_value import NodeOutputCompiledSearchResultsValue
-from .node_output_compiled_string_value import NodeOutputCompiledStringValue
-from .node_output_compiled_thinking_value import NodeOutputCompiledThinkingValue
-
-NodeOutputCompiledValue = typing.Union[
- NodeOutputCompiledStringValue,
- NodeOutputCompiledNumberValue,
- NodeOutputCompiledJsonValue,
- NodeOutputCompiledChatHistoryValue,
- NodeOutputCompiledSearchResultsValue,
- NodeOutputCompiledErrorValue,
- NodeOutputCompiledArrayValue,
- NodeOutputCompiledFunctionCallValue,
- NodeOutputCompiledThinkingValue,
-]
diff --git a/src/vellum/client/types/node_parent_context.py b/src/vellum/client/types/node_parent_context.py
deleted file mode 100644
index af5c068215..0000000000
--- a/src/vellum/client/types/node_parent_context.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class NodeParentContext(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- node_definition: VellumCodeResourceDefinition
- type: typing.Literal["WORKFLOW_NODE"] = "WORKFLOW_NODE"
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(NodeParentContext)
diff --git a/src/vellum/client/types/normalized_log_probs.py b/src/vellum/client/types/normalized_log_probs.py
deleted file mode 100644
index f0f246d0d3..0000000000
--- a/src/vellum/client/types/normalized_log_probs.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .normalized_token_log_probs import NormalizedTokenLogProbs
-
-
-class NormalizedLogProbs(UniversalBaseModel):
- tokens: typing.List[NormalizedTokenLogProbs]
- likelihood: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/normalized_token_log_probs.py b/src/vellum/client/types/normalized_token_log_probs.py
deleted file mode 100644
index 8defdd4478..0000000000
--- a/src/vellum/client/types/normalized_token_log_probs.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NormalizedTokenLogProbs(UniversalBaseModel):
- token: str
- logprob: typing.Optional[float] = None
- top_logprobs: typing.Optional[typing.Dict[str, typing.Optional[float]]] = None
- text_offset: int
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/number_input.py b/src/vellum/client/types/number_input.py
deleted file mode 100644
index 5c792afa3f..0000000000
--- a/src/vellum/client/types/number_input.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NumberInput(UniversalBaseModel):
- """
- A user input representing a number value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: float
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/number_vellum_value.py b/src/vellum/client/types/number_vellum_value.py
deleted file mode 100644
index b3f48bd1e1..0000000000
--- a/src/vellum/client/types/number_vellum_value.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NumberVellumValue(UniversalBaseModel):
- """
- A value representing a number.
- """
-
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/number_vellum_value_request.py b/src/vellum/client/types/number_vellum_value_request.py
deleted file mode 100644
index 19a9f56451..0000000000
--- a/src/vellum/client/types/number_vellum_value_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class NumberVellumValueRequest(UniversalBaseModel):
- """
- A value representing a number.
- """
-
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/open_ai_vectorizer_config.py b/src/vellum/client/types/open_ai_vectorizer_config.py
deleted file mode 100644
index 396d6f930a..0000000000
--- a/src/vellum/client/types/open_ai_vectorizer_config.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .add_openai_api_key_enum import AddOpenaiApiKeyEnum
-
-
-class OpenAiVectorizerConfig(UniversalBaseModel):
- """
- Configuration for using an OpenAI vectorizer.
- """
-
- add_openai_api_key: typing.Optional[AddOpenaiApiKeyEnum] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/open_ai_vectorizer_config_request.py b/src/vellum/client/types/open_ai_vectorizer_config_request.py
deleted file mode 100644
index 21ce9dce19..0000000000
--- a/src/vellum/client/types/open_ai_vectorizer_config_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .add_openai_api_key_enum import AddOpenaiApiKeyEnum
-
-
-class OpenAiVectorizerConfigRequest(UniversalBaseModel):
- """
- Configuration for using an OpenAI vectorizer.
- """
-
- add_openai_api_key: typing.Optional[AddOpenaiApiKeyEnum] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_large.py b/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_large.py
deleted file mode 100644
index 288430c3f5..0000000000
--- a/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_large.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .open_ai_vectorizer_config import OpenAiVectorizerConfig
-
-
-class OpenAiVectorizerTextEmbedding3Large(UniversalBaseModel):
- """
- OpenAI vectorizer for text-embedding-3-large.
- """
-
- config: OpenAiVectorizerConfig
- model_name: typing.Literal["text-embedding-3-large"] = "text-embedding-3-large"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_large_request.py b/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_large_request.py
deleted file mode 100644
index cd91f1c6ca..0000000000
--- a/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_large_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .open_ai_vectorizer_config_request import OpenAiVectorizerConfigRequest
-
-
-class OpenAiVectorizerTextEmbedding3LargeRequest(UniversalBaseModel):
- """
- OpenAI vectorizer for text-embedding-3-large.
- """
-
- config: OpenAiVectorizerConfigRequest
- model_name: typing.Literal["text-embedding-3-large"] = "text-embedding-3-large"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_small.py b/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_small.py
deleted file mode 100644
index 40712b2f75..0000000000
--- a/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_small.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .open_ai_vectorizer_config import OpenAiVectorizerConfig
-
-
-class OpenAiVectorizerTextEmbedding3Small(UniversalBaseModel):
- """
- OpenAI vectorizer for text-embedding-3-small.
- """
-
- config: OpenAiVectorizerConfig
- model_name: typing.Literal["text-embedding-3-small"] = "text-embedding-3-small"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_small_request.py b/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_small_request.py
deleted file mode 100644
index f8ab9c1d4d..0000000000
--- a/src/vellum/client/types/open_ai_vectorizer_text_embedding_3_small_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .open_ai_vectorizer_config_request import OpenAiVectorizerConfigRequest
-
-
-class OpenAiVectorizerTextEmbedding3SmallRequest(UniversalBaseModel):
- """
- OpenAI vectorizer for text-embedding-3-small.
- """
-
- config: OpenAiVectorizerConfigRequest
- model_name: typing.Literal["text-embedding-3-small"] = "text-embedding-3-small"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/open_ai_vectorizer_text_embedding_ada_002.py b/src/vellum/client/types/open_ai_vectorizer_text_embedding_ada_002.py
deleted file mode 100644
index baad419c0e..0000000000
--- a/src/vellum/client/types/open_ai_vectorizer_text_embedding_ada_002.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .open_ai_vectorizer_config import OpenAiVectorizerConfig
-
-
-class OpenAiVectorizerTextEmbeddingAda002(UniversalBaseModel):
- """
- OpenAI vectorizer for text-embedding-ada-002.
- """
-
- config: OpenAiVectorizerConfig
- model_name: typing.Literal["text-embedding-ada-002"] = "text-embedding-ada-002"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/open_ai_vectorizer_text_embedding_ada_002_request.py b/src/vellum/client/types/open_ai_vectorizer_text_embedding_ada_002_request.py
deleted file mode 100644
index 912d6b0a86..0000000000
--- a/src/vellum/client/types/open_ai_vectorizer_text_embedding_ada_002_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .open_ai_vectorizer_config_request import OpenAiVectorizerConfigRequest
-
-
-class OpenAiVectorizerTextEmbeddingAda002Request(UniversalBaseModel):
- """
- OpenAI vectorizer for text-embedding-ada-002.
- """
-
- config: OpenAiVectorizerConfigRequest
- model_name: typing.Literal["text-embedding-ada-002"] = "text-embedding-ada-002"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/organization_read.py b/src/vellum/client/types/organization_read.py
deleted file mode 100644
index 115f6ff0d5..0000000000
--- a/src/vellum/client/types/organization_read.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .new_member_join_behavior_enum import NewMemberJoinBehaviorEnum
-
-
-class OrganizationRead(UniversalBaseModel):
- id: str
- name: str
- created: typing.Optional[dt.datetime] = None
- allow_staff_access: typing.Optional[bool] = None
- new_member_join_behavior: NewMemberJoinBehaviorEnum
- limit_config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/paginated_container_image_read_list.py b/src/vellum/client/types/paginated_container_image_read_list.py
deleted file mode 100644
index 35badd5aa5..0000000000
--- a/src/vellum/client/types/paginated_container_image_read_list.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .container_image_read import ContainerImageRead
-
-
-class PaginatedContainerImageReadList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[ContainerImageRead]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/paginated_deployment_release_tag_read_list.py b/src/vellum/client/types/paginated_deployment_release_tag_read_list.py
deleted file mode 100644
index dd00f14d8a..0000000000
--- a/src/vellum/client/types/paginated_deployment_release_tag_read_list.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .deployment_release_tag_read import DeploymentReleaseTagRead
-
-
-class PaginatedDeploymentReleaseTagReadList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[DeploymentReleaseTagRead]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/paginated_document_index_read_list.py b/src/vellum/client/types/paginated_document_index_read_list.py
deleted file mode 100644
index 4c1f6a66a9..0000000000
--- a/src/vellum/client/types/paginated_document_index_read_list.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .document_index_read import DocumentIndexRead
-
-
-class PaginatedDocumentIndexReadList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[DocumentIndexRead]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/paginated_folder_entity_list.py b/src/vellum/client/types/paginated_folder_entity_list.py
deleted file mode 100644
index fadae4c92d..0000000000
--- a/src/vellum/client/types/paginated_folder_entity_list.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .folder_entity import FolderEntity
-
-
-class PaginatedFolderEntityList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[FolderEntity]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/paginated_slim_deployment_read_list.py b/src/vellum/client/types/paginated_slim_deployment_read_list.py
deleted file mode 100644
index d601cf17f8..0000000000
--- a/src/vellum/client/types/paginated_slim_deployment_read_list.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .slim_deployment_read import SlimDeploymentRead
-
-
-class PaginatedSlimDeploymentReadList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[SlimDeploymentRead]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(PaginatedSlimDeploymentReadList)
diff --git a/src/vellum/client/types/paginated_slim_document_list.py b/src/vellum/client/types/paginated_slim_document_list.py
deleted file mode 100644
index cf4eafa93e..0000000000
--- a/src/vellum/client/types/paginated_slim_document_list.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .slim_document import SlimDocument
-
-
-class PaginatedSlimDocumentList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[SlimDocument]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/paginated_slim_integration_auth_config_read_list.py b/src/vellum/client/types/paginated_slim_integration_auth_config_read_list.py
deleted file mode 100644
index a08fcb6d08..0000000000
--- a/src/vellum/client/types/paginated_slim_integration_auth_config_read_list.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .slim_integration_auth_config_read import SlimIntegrationAuthConfigRead
-
-
-class PaginatedSlimIntegrationAuthConfigReadList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[SlimIntegrationAuthConfigRead]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/paginated_slim_integration_read_list.py b/src/vellum/client/types/paginated_slim_integration_read_list.py
deleted file mode 100644
index 336dde497b..0000000000
--- a/src/vellum/client/types/paginated_slim_integration_read_list.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .slim_integration_read import SlimIntegrationRead
-
-
-class PaginatedSlimIntegrationReadList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[SlimIntegrationRead]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/paginated_slim_tool_definition_list.py b/src/vellum/client/types/paginated_slim_tool_definition_list.py
deleted file mode 100644
index f70a28f76b..0000000000
--- a/src/vellum/client/types/paginated_slim_tool_definition_list.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .components_schemas_slim_composio_tool_definition import ComponentsSchemasSlimComposioToolDefinition
-
-
-class PaginatedSlimToolDefinitionList(UniversalBaseModel):
- count: int
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.List[ComponentsSchemasSlimComposioToolDefinition]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/paginated_slim_workflow_deployment_list.py b/src/vellum/client/types/paginated_slim_workflow_deployment_list.py
deleted file mode 100644
index adbb0226d9..0000000000
--- a/src/vellum/client/types/paginated_slim_workflow_deployment_list.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .slim_workflow_deployment import SlimWorkflowDeployment
-
-
-class PaginatedSlimWorkflowDeploymentList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[SlimWorkflowDeployment]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(PaginatedSlimWorkflowDeploymentList)
diff --git a/src/vellum/client/types/paginated_test_suite_run_execution_list.py b/src/vellum/client/types/paginated_test_suite_run_execution_list.py
deleted file mode 100644
index 6ff23dd522..0000000000
--- a/src/vellum/client/types/paginated_test_suite_run_execution_list.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .test_suite_run_execution import TestSuiteRunExecution
-
-
-class PaginatedTestSuiteRunExecutionList(UniversalBaseModel):
- count: int
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.List[TestSuiteRunExecution]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(PaginatedTestSuiteRunExecutionList)
diff --git a/src/vellum/client/types/paginated_test_suite_test_case_list.py b/src/vellum/client/types/paginated_test_suite_test_case_list.py
deleted file mode 100644
index 7fbe51399e..0000000000
--- a/src/vellum/client/types/paginated_test_suite_test_case_list.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .test_suite_test_case import TestSuiteTestCase
-
-
-class PaginatedTestSuiteTestCaseList(UniversalBaseModel):
- count: int
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.List[TestSuiteTestCase]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(PaginatedTestSuiteTestCaseList)
diff --git a/src/vellum/client/types/paginated_workflow_deployment_release_list.py b/src/vellum/client/types/paginated_workflow_deployment_release_list.py
deleted file mode 100644
index 18d989e368..0000000000
--- a/src/vellum/client/types/paginated_workflow_deployment_release_list.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .workflow_deployment_release import WorkflowDeploymentRelease
-
-
-class PaginatedWorkflowDeploymentReleaseList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[WorkflowDeploymentRelease]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(PaginatedWorkflowDeploymentReleaseList)
diff --git a/src/vellum/client/types/paginated_workflow_release_tag_read_list.py b/src/vellum/client/types/paginated_workflow_release_tag_read_list.py
deleted file mode 100644
index be980b8975..0000000000
--- a/src/vellum/client/types/paginated_workflow_release_tag_read_list.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_release_tag_read import WorkflowReleaseTagRead
-
-
-class PaginatedWorkflowReleaseTagReadList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[WorkflowReleaseTagRead]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/paginated_workflow_sandbox_example_list.py b/src/vellum/client/types/paginated_workflow_sandbox_example_list.py
deleted file mode 100644
index 8e54a1b0ff..0000000000
--- a/src/vellum/client/types/paginated_workflow_sandbox_example_list.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_sandbox_example import WorkflowSandboxExample
-
-
-class PaginatedWorkflowSandboxExampleList(UniversalBaseModel):
- count: typing.Optional[int] = None
- next: typing.Optional[str] = None
- previous: typing.Optional[str] = None
- results: typing.Optional[typing.List[WorkflowSandboxExample]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/parent_context.py b/src/vellum/client/types/parent_context.py
deleted file mode 100644
index 2c156bcf12..0000000000
--- a/src/vellum/client/types/parent_context.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-from pydantic import Field
-
-if typing.TYPE_CHECKING:
- from .api_request_parent_context import ApiRequestParentContext
- from .external_parent_context import ExternalParentContext
- from .integration_trigger_context import IntegrationTriggerContext
- from .node_parent_context import NodeParentContext
- from .prompt_deployment_parent_context import PromptDeploymentParentContext
- from .scheduled_trigger_context import ScheduledTriggerContext
- from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
- from .workflow_parent_context import WorkflowParentContext
- from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
-ParentContext = typing.Annotated[
- typing.Union[
- "WorkflowParentContext",
- "NodeParentContext",
- "WorkflowDeploymentParentContext",
- "WorkflowSandboxParentContext",
- "PromptDeploymentParentContext",
- "ApiRequestParentContext",
- "ExternalParentContext",
- "ScheduledTriggerContext",
- "IntegrationTriggerContext",
- ],
- Field(discriminator="type")
-]
diff --git a/src/vellum/client/types/pdf_search_result_meta_source.py b/src/vellum/client/types/pdf_search_result_meta_source.py
deleted file mode 100644
index 127784acde..0000000000
--- a/src/vellum/client/types/pdf_search_result_meta_source.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PdfSearchResultMetaSource(UniversalBaseModel):
- """
- The source of a search result from a PDF document.
- """
-
- document_type: typing.Literal["PDF"] = "PDF"
- start_page_num: typing.Optional[int] = pydantic.Field(default=None)
- """
- The 1-indexed page number where the chunk starts in the document. Only available for supported chunking strategies and document types.
- """
-
- end_page_num: typing.Optional[int] = pydantic.Field(default=None)
- """
- The 1-indexed page number where the chunk ends in the document. Only available for supported chunking strategies and document types.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/pdf_search_result_meta_source_request.py b/src/vellum/client/types/pdf_search_result_meta_source_request.py
deleted file mode 100644
index f004fc2b41..0000000000
--- a/src/vellum/client/types/pdf_search_result_meta_source_request.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PdfSearchResultMetaSourceRequest(UniversalBaseModel):
- """
- The source of a search result from a PDF document.
- """
-
- document_type: typing.Literal["PDF"] = "PDF"
- start_page_num: typing.Optional[int] = pydantic.Field(default=None)
- """
- The 1-indexed page number where the chunk starts in the document. Only available for supported chunking strategies and document types.
- """
-
- end_page_num: typing.Optional[int] = pydantic.Field(default=None)
- """
- The 1-indexed page number where the chunk ends in the document. Only available for supported chunking strategies and document types.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/plain_text_prompt_block.py b/src/vellum/client/types/plain_text_prompt_block.py
deleted file mode 100644
index dad7bd965f..0000000000
--- a/src/vellum/client/types/plain_text_prompt_block.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-
-
-class PlainTextPromptBlock(UniversalBaseModel):
- """
- A block that holds a plain text string value.
- """
-
- block_type: typing.Literal["PLAIN_TEXT"] = "PLAIN_TEXT"
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- text: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/price.py b/src/vellum/client/types/price.py
deleted file mode 100644
index dcda2fd21b..0000000000
--- a/src/vellum/client/types/price.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .unit_enum import UnitEnum
-
-
-class Price(UniversalBaseModel):
- value: float
- unit: UnitEnum = "USD"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/private_vectorizer.py b/src/vellum/client/types/private_vectorizer.py
deleted file mode 100644
index b487699e56..0000000000
--- a/src/vellum/client/types/private_vectorizer.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PrivateVectorizer(UniversalBaseModel):
- """
- Serializer for private vectorizer.
- """
-
- model_name: typing.Literal["private-vectorizer"] = "private-vectorizer"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/private_vectorizer_request.py b/src/vellum/client/types/private_vectorizer_request.py
deleted file mode 100644
index f4e0b76341..0000000000
--- a/src/vellum/client/types/private_vectorizer_request.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PrivateVectorizerRequest(UniversalBaseModel):
- """
- Serializer for private vectorizer.
- """
-
- model_name: typing.Literal["private-vectorizer"] = "private-vectorizer"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/processing_failure_reason_enum.py b/src/vellum/client/types/processing_failure_reason_enum.py
deleted file mode 100644
index 9d6671d4fd..0000000000
--- a/src/vellum/client/types/processing_failure_reason_enum.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ProcessingFailureReasonEnum = typing.Union[
- typing.Literal["EXCEEDED_CHARACTER_LIMIT", "INVALID_FILE", "INVALID_CREDENTIALS"], typing.Any
-]
diff --git a/src/vellum/client/types/prompt_block.py b/src/vellum/client/types/prompt_block.py
deleted file mode 100644
index 2199d6c454..0000000000
--- a/src/vellum/client/types/prompt_block.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-from .audio_prompt_block import AudioPromptBlock
-from .document_prompt_block import DocumentPromptBlock
-from .function_call_prompt_block import FunctionCallPromptBlock
-from .image_prompt_block import ImagePromptBlock
-from .jinja_prompt_block import JinjaPromptBlock
-from .rich_text_prompt_block import RichTextPromptBlock
-from .variable_prompt_block import VariablePromptBlock
-from .video_prompt_block import VideoPromptBlock
-
-if typing.TYPE_CHECKING:
- from .chat_message_prompt_block import ChatMessagePromptBlock
-PromptBlock = typing.Union[
- JinjaPromptBlock,
- "ChatMessagePromptBlock",
- VariablePromptBlock,
- RichTextPromptBlock,
- FunctionCallPromptBlock,
- AudioPromptBlock,
- VideoPromptBlock,
- ImagePromptBlock,
- DocumentPromptBlock,
-]
diff --git a/src/vellum/client/types/prompt_block_state.py b/src/vellum/client/types/prompt_block_state.py
deleted file mode 100644
index 58a187a820..0000000000
--- a/src/vellum/client/types/prompt_block_state.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-PromptBlockState = typing.Union[typing.Literal["ENABLED", "DISABLED"], typing.Any]
diff --git a/src/vellum/client/types/prompt_deployment_expand_meta_request.py b/src/vellum/client/types/prompt_deployment_expand_meta_request.py
deleted file mode 100644
index 56077061e3..0000000000
--- a/src/vellum/client/types/prompt_deployment_expand_meta_request.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PromptDeploymentExpandMetaRequest(UniversalBaseModel):
- model_name: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include the model identifier representing the ML Model invoked by the Prompt.
- """
-
- usage: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include model host usage tracking. This may increase latency for some model hosts.
- """
-
- cost: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include model host cost tracking. This may increase latency for some model hosts.
- """
-
- finish_reason: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include the reason provided by the model for why the execution finished.
- """
-
- latency: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include the time in nanoseconds it took to execute the Prompt Deployment.
- """
-
- deployment_release_tag: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include the release tag of the Prompt Deployment.
- """
-
- prompt_version_id: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the response will include the ID of the Prompt Version backing the deployment.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_deployment_input_request.py b/src/vellum/client/types/prompt_deployment_input_request.py
deleted file mode 100644
index f723baddc9..0000000000
--- a/src/vellum/client/types/prompt_deployment_input_request.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .audio_input_request import AudioInputRequest
-from .chat_history_input_request import ChatHistoryInputRequest
-from .document_input_request import DocumentInputRequest
-from .image_input_request import ImageInputRequest
-from .json_input_request import JsonInputRequest
-from .string_input_request import StringInputRequest
-from .video_input_request import VideoInputRequest
-
-PromptDeploymentInputRequest = typing.Union[
- StringInputRequest,
- JsonInputRequest,
- ChatHistoryInputRequest,
- AudioInputRequest,
- VideoInputRequest,
- ImageInputRequest,
- DocumentInputRequest,
-]
diff --git a/src/vellum/client/types/prompt_deployment_parent_context.py b/src/vellum/client/types/prompt_deployment_parent_context.py
deleted file mode 100644
index d158e7862c..0000000000
--- a/src/vellum/client/types/prompt_deployment_parent_context.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class PromptDeploymentParentContext(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- type: typing.Literal["PROMPT_RELEASE_TAG"] = "PROMPT_RELEASE_TAG"
- span_id: str
- deployment_id: str
- deployment_name: str
- deployment_history_item_id: str
- release_tag_id: str
- release_tag_name: str
- external_id: typing.Optional[str] = None
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
- prompt_version_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(PromptDeploymentParentContext)
diff --git a/src/vellum/client/types/prompt_deployment_release.py b/src/vellum/client/types/prompt_deployment_release.py
deleted file mode 100644
index cb91655e73..0000000000
--- a/src/vellum/client/types/prompt_deployment_release.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .prompt_deployment_release_prompt_deployment import PromptDeploymentReleasePromptDeployment
-from .prompt_deployment_release_prompt_version import PromptDeploymentReleasePromptVersion
-from .release_created_by import ReleaseCreatedBy
-from .release_environment import ReleaseEnvironment
-from .release_release_tag import ReleaseReleaseTag
-from .slim_release_review import SlimReleaseReview
-
-
-class PromptDeploymentRelease(UniversalBaseModel):
- id: str
- created: dt.datetime
- environment: ReleaseEnvironment
- created_by: typing.Optional[ReleaseCreatedBy] = None
- prompt_version: PromptDeploymentReleasePromptVersion
- deployment: PromptDeploymentReleasePromptDeployment
- description: typing.Optional[str] = None
- release_tags: typing.List[ReleaseReleaseTag]
- reviews: typing.List[SlimReleaseReview]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_deployment_release_prompt_deployment.py b/src/vellum/client/types/prompt_deployment_release_prompt_deployment.py
deleted file mode 100644
index 5458f81f44..0000000000
--- a/src/vellum/client/types/prompt_deployment_release_prompt_deployment.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PromptDeploymentReleasePromptDeployment(UniversalBaseModel):
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_deployment_release_prompt_version.py b/src/vellum/client/types/prompt_deployment_release_prompt_version.py
deleted file mode 100644
index e457d54848..0000000000
--- a/src/vellum/client/types/prompt_deployment_release_prompt_version.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .components_schemas_prompt_version_build_config_sandbox import ComponentsSchemasPromptVersionBuildConfigSandbox
-
-
-class PromptDeploymentReleasePromptVersion(UniversalBaseModel):
- id: str
- build_config: ComponentsSchemasPromptVersionBuildConfigSandbox = pydantic.Field()
- """
- Configuration used to build this prompt version.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_exec_config.py b/src/vellum/client/types/prompt_exec_config.py
deleted file mode 100644
index 59a5aae553..0000000000
--- a/src/vellum/client/types/prompt_exec_config.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .function_definition import FunctionDefinition
-from .prompt_parameters import PromptParameters
-from .prompt_settings import PromptSettings
-from .vellum_variable import VellumVariable
-
-
-class PromptExecConfig(UniversalBaseModel):
- ml_model: str
- input_variables: typing.List[VellumVariable]
- parameters: PromptParameters
- settings: typing.Optional[PromptSettings] = None
- blocks: typing.List["PromptBlock"]
- functions: typing.Optional[typing.List[FunctionDefinition]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .chat_message_prompt_block import ChatMessagePromptBlock # noqa: E402, F401, I001
-from .prompt_block import PromptBlock # noqa: E402, F401, I001
-
-update_forward_refs(PromptExecConfig)
diff --git a/src/vellum/client/types/prompt_execution_meta.py b/src/vellum/client/types/prompt_execution_meta.py
deleted file mode 100644
index 554835e62d..0000000000
--- a/src/vellum/client/types/prompt_execution_meta.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .finish_reason_enum import FinishReasonEnum
-from .ml_model_usage import MlModelUsage
-from .price import Price
-
-
-class PromptExecutionMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
- """
-
- model_name: typing.Optional[str] = None
- latency: typing.Optional[int] = None
- deployment_release_tag: typing.Optional[str] = None
- prompt_version_id: typing.Optional[str] = None
- finish_reason: typing.Optional[FinishReasonEnum] = None
- usage: typing.Optional[MlModelUsage] = None
- cost: typing.Optional[Price] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_node_execution_meta.py b/src/vellum/client/types/prompt_node_execution_meta.py
deleted file mode 100644
index 38f6b641f8..0000000000
--- a/src/vellum/client/types/prompt_node_execution_meta.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ml_model_usage import MlModelUsage
-from .price import Price
-
-
-class PromptNodeExecutionMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
- """
-
- usage: typing.Optional[MlModelUsage] = None
- cost: typing.Optional[Price] = None
- model_name: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_node_result.py b/src/vellum/client/types/prompt_node_result.py
deleted file mode 100644
index 4bebdc8a75..0000000000
--- a/src/vellum/client/types/prompt_node_result.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .prompt_node_result_data import PromptNodeResultData
-
-
-class PromptNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from a Prompt Node.
- """
-
- type: typing.Literal["PROMPT"] = "PROMPT"
- data: PromptNodeResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_node_result_data.py b/src/vellum/client/types/prompt_node_result_data.py
deleted file mode 100644
index c3a0a539b3..0000000000
--- a/src/vellum/client/types/prompt_node_result_data.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .prompt_node_execution_meta import PromptNodeExecutionMeta
-
-
-class PromptNodeResultData(UniversalBaseModel):
- execution_meta: typing.Optional[PromptNodeExecutionMeta] = None
- output_id: str
- array_output_id: typing.Optional[str] = None
- execution_id: typing.Optional[str] = None
- text: typing.Optional[str] = None
- delta: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_output.py b/src/vellum/client/types/prompt_output.py
deleted file mode 100644
index 1880ddf623..0000000000
--- a/src/vellum/client/types/prompt_output.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .error_vellum_value import ErrorVellumValue
-from .function_call_vellum_value import FunctionCallVellumValue
-from .json_vellum_value import JsonVellumValue
-from .string_vellum_value import StringVellumValue
-from .thinking_vellum_value import ThinkingVellumValue
-
-PromptOutput = typing.Union[
- StringVellumValue, JsonVellumValue, ErrorVellumValue, FunctionCallVellumValue, ThinkingVellumValue
-]
diff --git a/src/vellum/client/types/prompt_parameters.py b/src/vellum/client/types/prompt_parameters.py
deleted file mode 100644
index 9263c36693..0000000000
--- a/src/vellum/client/types/prompt_parameters.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PromptParameters(UniversalBaseModel):
- stop: typing.Optional[typing.List[str]] = None
- temperature: typing.Optional[float] = None
- max_tokens: typing.Optional[int] = None
- top_p: typing.Optional[float] = None
- top_k: typing.Optional[int] = None
- frequency_penalty: typing.Optional[float] = None
- presence_penalty: typing.Optional[float] = None
- logit_bias: typing.Optional[typing.Dict[str, typing.Optional[float]]] = None
- custom_parameters: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_push_response.py b/src/vellum/client/types/prompt_push_response.py
deleted file mode 100644
index 051a9ca6cd..0000000000
--- a/src/vellum/client/types/prompt_push_response.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PromptPushResponse(UniversalBaseModel):
- prompt_variant_id: str
- prompt_sandbox_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_request_audio_input.py b/src/vellum/client/types/prompt_request_audio_input.py
deleted file mode 100644
index 349576c8e1..0000000000
--- a/src/vellum/client/types/prompt_request_audio_input.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio import VellumAudio
-
-
-class PromptRequestAudioInput(UniversalBaseModel):
- key: str = pydantic.Field()
- """
- The variable's name, as defined in the Prompt.
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: VellumAudio
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_request_chat_history_input.py b/src/vellum/client/types/prompt_request_chat_history_input.py
deleted file mode 100644
index 3d3d862c73..0000000000
--- a/src/vellum/client/types/prompt_request_chat_history_input.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class PromptRequestChatHistoryInput(UniversalBaseModel):
- key: str = pydantic.Field()
- """
- The variable's name, as defined in the Prompt.
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.List[ChatMessage]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_request_document_input.py b/src/vellum/client/types/prompt_request_document_input.py
deleted file mode 100644
index 05c9b2e83b..0000000000
--- a/src/vellum/client/types/prompt_request_document_input.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document import VellumDocument
-
-
-class PromptRequestDocumentInput(UniversalBaseModel):
- key: str = pydantic.Field()
- """
- The variable's name, as defined in the Prompt.
- """
-
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: VellumDocument
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_request_image_input.py b/src/vellum/client/types/prompt_request_image_input.py
deleted file mode 100644
index 0a4039fd21..0000000000
--- a/src/vellum/client/types/prompt_request_image_input.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image import VellumImage
-
-
-class PromptRequestImageInput(UniversalBaseModel):
- key: str = pydantic.Field()
- """
- The variable's name, as defined in the Prompt.
- """
-
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: VellumImage
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_request_input.py b/src/vellum/client/types/prompt_request_input.py
deleted file mode 100644
index fcef7649b7..0000000000
--- a/src/vellum/client/types/prompt_request_input.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .prompt_request_audio_input import PromptRequestAudioInput
-from .prompt_request_chat_history_input import PromptRequestChatHistoryInput
-from .prompt_request_document_input import PromptRequestDocumentInput
-from .prompt_request_image_input import PromptRequestImageInput
-from .prompt_request_json_input import PromptRequestJsonInput
-from .prompt_request_string_input import PromptRequestStringInput
-from .prompt_request_video_input import PromptRequestVideoInput
-
-PromptRequestInput = typing.Union[
- PromptRequestStringInput,
- PromptRequestJsonInput,
- PromptRequestChatHistoryInput,
- PromptRequestAudioInput,
- PromptRequestVideoInput,
- PromptRequestImageInput,
- PromptRequestDocumentInput,
-]
diff --git a/src/vellum/client/types/prompt_request_json_input.py b/src/vellum/client/types/prompt_request_json_input.py
deleted file mode 100644
index 9d088bfe51..0000000000
--- a/src/vellum/client/types/prompt_request_json_input.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PromptRequestJsonInput(UniversalBaseModel):
- key: str = pydantic.Field()
- """
- The variable's name, as defined in the Prompt.
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_request_string_input.py b/src/vellum/client/types/prompt_request_string_input.py
deleted file mode 100644
index 73a30a961a..0000000000
--- a/src/vellum/client/types/prompt_request_string_input.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PromptRequestStringInput(UniversalBaseModel):
- key: str = pydantic.Field()
- """
- The variable's name, as defined in the Prompt.
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_request_video_input.py b/src/vellum/client/types/prompt_request_video_input.py
deleted file mode 100644
index c4fdfd9a5c..0000000000
--- a/src/vellum/client/types/prompt_request_video_input.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video import VellumVideo
-
-
-class PromptRequestVideoInput(UniversalBaseModel):
- key: str = pydantic.Field()
- """
- The variable's name, as defined in the Prompt.
- """
-
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: VellumVideo
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_settings.py b/src/vellum/client/types/prompt_settings.py
deleted file mode 100644
index a4def07f95..0000000000
--- a/src/vellum/client/types/prompt_settings.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PromptSettings(UniversalBaseModel):
- timeout: typing.Optional[float] = None
- stream_enabled: typing.Optional[bool] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/prompt_version_build_config_sandbox.py b/src/vellum/client/types/prompt_version_build_config_sandbox.py
deleted file mode 100644
index 5f281bf53b..0000000000
--- a/src/vellum/client/types/prompt_version_build_config_sandbox.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class PromptVersionBuildConfigSandbox(UniversalBaseModel):
- source: typing.Literal["SANDBOX"] = "SANDBOX"
- sandbox_id: str
- sandbox_snapshot_id: str
- prompt_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/raw_prompt_execution_overrides_request.py b/src/vellum/client/types/raw_prompt_execution_overrides_request.py
deleted file mode 100644
index 576010d20f..0000000000
--- a/src/vellum/client/types/raw_prompt_execution_overrides_request.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class RawPromptExecutionOverridesRequest(UniversalBaseModel):
- body: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
- headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = pydantic.Field(default=None)
- """
- The raw headers to send to the model host.
- """
-
- url: typing.Optional[str] = pydantic.Field(default=None)
- """
- The raw URL to send to the model host.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/reducto_chunker_config.py b/src/vellum/client/types/reducto_chunker_config.py
deleted file mode 100644
index 03c3afe50f..0000000000
--- a/src/vellum/client/types/reducto_chunker_config.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ReductoChunkerConfig(UniversalBaseModel):
- """
- Configuration for Reducto chunking
- """
-
- character_limit: typing.Optional[int] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/reducto_chunker_config_request.py b/src/vellum/client/types/reducto_chunker_config_request.py
deleted file mode 100644
index fc7eb88060..0000000000
--- a/src/vellum/client/types/reducto_chunker_config_request.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ReductoChunkerConfigRequest(UniversalBaseModel):
- """
- Configuration for Reducto chunking
- """
-
- character_limit: typing.Optional[int] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/reducto_chunking.py b/src/vellum/client/types/reducto_chunking.py
deleted file mode 100644
index a6477baf48..0000000000
--- a/src/vellum/client/types/reducto_chunking.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .reducto_chunker_config import ReductoChunkerConfig
-
-
-class ReductoChunking(UniversalBaseModel):
- """
- Reducto chunking
- """
-
- chunker_name: typing.Literal["reducto-chunker"] = "reducto-chunker"
- chunker_config: typing.Optional[ReductoChunkerConfig] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/reducto_chunking_request.py b/src/vellum/client/types/reducto_chunking_request.py
deleted file mode 100644
index 94185ce9ec..0000000000
--- a/src/vellum/client/types/reducto_chunking_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .reducto_chunker_config_request import ReductoChunkerConfigRequest
-
-
-class ReductoChunkingRequest(UniversalBaseModel):
- """
- Reducto chunking
- """
-
- chunker_name: typing.Literal["reducto-chunker"] = "reducto-chunker"
- chunker_config: typing.Optional[ReductoChunkerConfigRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/rejected_ad_hoc_execute_prompt_event.py b/src/vellum/client/types/rejected_ad_hoc_execute_prompt_event.py
deleted file mode 100644
index 3a94da76dd..0000000000
--- a/src/vellum/client/types/rejected_ad_hoc_execute_prompt_event.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ad_hoc_rejected_prompt_execution_meta import AdHocRejectedPromptExecutionMeta
-from .vellum_error import VellumError
-
-
-class RejectedAdHocExecutePromptEvent(UniversalBaseModel):
- """
- The final data returned indicating an error occurred during the stream.
- """
-
- state: typing.Literal["REJECTED"] = "REJECTED"
- error: VellumError
- execution_id: str
- meta: typing.Optional[AdHocRejectedPromptExecutionMeta] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/rejected_execute_prompt_event.py b/src/vellum/client/types/rejected_execute_prompt_event.py
deleted file mode 100644
index f3fc30f74f..0000000000
--- a/src/vellum/client/types/rejected_execute_prompt_event.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .rejected_prompt_execution_meta import RejectedPromptExecutionMeta
-from .vellum_error import VellumError
-
-
-class RejectedExecutePromptEvent(UniversalBaseModel):
- """
- The final data returned indicating an error occurred during the stream.
- """
-
- state: typing.Literal["REJECTED"] = "REJECTED"
- error: VellumError
- execution_id: str
- meta: typing.Optional[RejectedPromptExecutionMeta] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/rejected_execute_prompt_response.py b/src/vellum/client/types/rejected_execute_prompt_response.py
deleted file mode 100644
index a476a402d3..0000000000
--- a/src/vellum/client/types/rejected_execute_prompt_response.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .prompt_execution_meta import PromptExecutionMeta
-from .vellum_error import VellumError
-
-
-class RejectedExecutePromptResponse(UniversalBaseModel):
- """
- The unsuccessful response from the model containing an error of what went wrong.
- """
-
- meta: typing.Optional[PromptExecutionMeta] = None
- raw: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- The subset of the raw response from the model that the request opted into with `expand_raw`.
- """
-
- execution_id: str = pydantic.Field()
- """
- The ID of the execution.
- """
-
- state: typing.Literal["REJECTED"] = "REJECTED"
- error: VellumError
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/rejected_execute_workflow_workflow_result_event.py b/src/vellum/client/types/rejected_execute_workflow_workflow_result_event.py
deleted file mode 100644
index 0981d8e60f..0000000000
--- a/src/vellum/client/types/rejected_execute_workflow_workflow_result_event.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_event_error import WorkflowEventError
-
-
-class RejectedExecuteWorkflowWorkflowResultEvent(UniversalBaseModel):
- """
- The unsuccessful response from the Workflow execution containing an error specifying what went wrong.
- """
-
- id: str
- state: typing.Literal["REJECTED"] = "REJECTED"
- ts: dt.datetime
- error: WorkflowEventError
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/rejected_prompt_execution_meta.py b/src/vellum/client/types/rejected_prompt_execution_meta.py
deleted file mode 100644
index c7abf74b51..0000000000
--- a/src/vellum/client/types/rejected_prompt_execution_meta.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .finish_reason_enum import FinishReasonEnum
-
-
-class RejectedPromptExecutionMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
- """
-
- latency: typing.Optional[int] = None
- finish_reason: typing.Optional[FinishReasonEnum] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/rejected_workflow_node_result_event.py b/src/vellum/client/types/rejected_workflow_node_result_event.py
deleted file mode 100644
index 612d15a830..0000000000
--- a/src/vellum/client/types/rejected_workflow_node_result_event.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .workflow_event_error import WorkflowEventError
-from .workflow_node_result_data import WorkflowNodeResultData
-
-
-class RejectedWorkflowNodeResultEvent(UniversalBaseModel):
- """
- An event that indicates that the node has rejected its execution.
- """
-
- id: str
- node_id: str
- node_result_id: str
- state: typing.Literal["REJECTED"] = "REJECTED"
- ts: typing.Optional[dt.datetime] = None
- data: typing.Optional[WorkflowNodeResultData] = None
- source_execution_id: typing.Optional[str] = None
- error: WorkflowEventError
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(RejectedWorkflowNodeResultEvent)
diff --git a/src/vellum/client/types/release_created_by.py b/src/vellum/client/types/release_created_by.py
deleted file mode 100644
index 01e070e91d..0000000000
--- a/src/vellum/client/types/release_created_by.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ReleaseCreatedBy(UniversalBaseModel):
- id: str
- full_name: typing.Optional[str] = None
- email: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/release_environment.py b/src/vellum/client/types/release_environment.py
deleted file mode 100644
index 0b992162bf..0000000000
--- a/src/vellum/client/types/release_environment.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ReleaseEnvironment(UniversalBaseModel):
- id: str
- name: str
- label: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/release_release_tag.py b/src/vellum/client/types/release_release_tag.py
deleted file mode 100644
index e4bfc9f99b..0000000000
--- a/src/vellum/client/types/release_release_tag.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .release_tag_source import ReleaseTagSource
-
-
-class ReleaseReleaseTag(UniversalBaseModel):
- name: str = pydantic.Field()
- """
- The name of the Release Tag
- """
-
- source: ReleaseTagSource = pydantic.Field()
- """
- The source of how the Release Tag was originally created
-
- * `SYSTEM` - System
- * `USER` - User
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/release_review_reviewer.py b/src/vellum/client/types/release_review_reviewer.py
deleted file mode 100644
index bf34d69965..0000000000
--- a/src/vellum/client/types/release_review_reviewer.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ReleaseReviewReviewer(UniversalBaseModel):
- id: str
- full_name: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/release_review_state.py b/src/vellum/client/types/release_review_state.py
deleted file mode 100644
index 4963e91705..0000000000
--- a/src/vellum/client/types/release_review_state.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ReleaseReviewState = typing.Union[typing.Literal["APPROVED", "CHANGES_REQUESTED", "COMMENTED"], typing.Any]
diff --git a/src/vellum/client/types/release_tag_release.py b/src/vellum/client/types/release_tag_release.py
deleted file mode 100644
index 8e45ef845d..0000000000
--- a/src/vellum/client/types/release_tag_release.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ReleaseTagRelease(UniversalBaseModel):
- id: str
- timestamp: dt.datetime
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/release_tag_source.py b/src/vellum/client/types/release_tag_source.py
deleted file mode 100644
index 181fd464f9..0000000000
--- a/src/vellum/client/types/release_tag_source.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-ReleaseTagSource = typing.Union[typing.Literal["SYSTEM", "USER"], typing.Any]
diff --git a/src/vellum/client/types/replace_test_suite_test_case_request.py b/src/vellum/client/types/replace_test_suite_test_case_request.py
deleted file mode 100644
index c0edea048d..0000000000
--- a/src/vellum/client/types/replace_test_suite_test_case_request.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
-
-
-class ReplaceTestSuiteTestCaseRequest(UniversalBaseModel):
- """
- Information about the Test Case to replace
- """
-
- id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Vellum-generated ID of the Test Case whose data you'd like to replace. Must specify either this or external_id.
- """
-
- external_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The ID that was originally provided upon Test Case creation that uniquely identifies the Test Case whose data you'd like to replace. Must specify either this of id.
- """
-
- label: typing.Optional[str] = pydantic.Field(default=None)
- """
- A human-readable label used to convey the intention of this Test Case
- """
-
- input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
- """
- Values for each of the Test Case's input variables
- """
-
- evaluation_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
- """
- Values for each of the Test Case's evaluation variables
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(ReplaceTestSuiteTestCaseRequest)
diff --git a/src/vellum/client/types/rich_text_child_block.py b/src/vellum/client/types/rich_text_child_block.py
deleted file mode 100644
index 44bfcda643..0000000000
--- a/src/vellum/client/types/rich_text_child_block.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .plain_text_prompt_block import PlainTextPromptBlock
-from .variable_prompt_block import VariablePromptBlock
-
-RichTextChildBlock = typing.Union[VariablePromptBlock, PlainTextPromptBlock]
diff --git a/src/vellum/client/types/rich_text_prompt_block.py b/src/vellum/client/types/rich_text_prompt_block.py
deleted file mode 100644
index c2cfe75bd0..0000000000
--- a/src/vellum/client/types/rich_text_prompt_block.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-from .rich_text_child_block import RichTextChildBlock
-
-
-class RichTextPromptBlock(UniversalBaseModel):
- """
- A block that includes a combination of plain text and variable blocks.
- """
-
- block_type: typing.Literal["RICH_TEXT"] = "RICH_TEXT"
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- blocks: typing.List[RichTextChildBlock]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/sandbox_scenario.py b/src/vellum/client/types/sandbox_scenario.py
deleted file mode 100644
index 8eea065908..0000000000
--- a/src/vellum/client/types/sandbox_scenario.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .scenario_input import ScenarioInput
-
-
-class SandboxScenario(UniversalBaseModel):
- """
- Sandbox Scenario
- """
-
- label: typing.Optional[str] = None
- inputs: typing.List[ScenarioInput] = pydantic.Field()
- """
- The inputs for the scenario
- """
-
- id: str = pydantic.Field()
- """
- The id of the scenario
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/scenario_input.py b/src/vellum/client/types/scenario_input.py
deleted file mode 100644
index 71007665eb..0000000000
--- a/src/vellum/client/types/scenario_input.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .scenario_input_audio_variable_value import ScenarioInputAudioVariableValue
-from .scenario_input_chat_history_variable_value import ScenarioInputChatHistoryVariableValue
-from .scenario_input_document_variable_value import ScenarioInputDocumentVariableValue
-from .scenario_input_image_variable_value import ScenarioInputImageVariableValue
-from .scenario_input_json_variable_value import ScenarioInputJsonVariableValue
-from .scenario_input_string_variable_value import ScenarioInputStringVariableValue
-from .scenario_input_video_variable_value import ScenarioInputVideoVariableValue
-
-ScenarioInput = typing.Union[
- ScenarioInputStringVariableValue,
- ScenarioInputJsonVariableValue,
- ScenarioInputChatHistoryVariableValue,
- ScenarioInputAudioVariableValue,
- ScenarioInputVideoVariableValue,
- ScenarioInputImageVariableValue,
- ScenarioInputDocumentVariableValue,
-]
diff --git a/src/vellum/client/types/scenario_input_audio_variable_value.py b/src/vellum/client/types/scenario_input_audio_variable_value.py
deleted file mode 100644
index 89068f627b..0000000000
--- a/src/vellum/client/types/scenario_input_audio_variable_value.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio import VellumAudio
-
-
-class ScenarioInputAudioVariableValue(UniversalBaseModel):
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: typing.Optional[VellumAudio] = None
- input_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/scenario_input_chat_history_variable_value.py b/src/vellum/client/types/scenario_input_chat_history_variable_value.py
deleted file mode 100644
index 7e37eed595..0000000000
--- a/src/vellum/client/types/scenario_input_chat_history_variable_value.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class ScenarioInputChatHistoryVariableValue(UniversalBaseModel):
- """
- Prompt Sandbox Scenario input value that is of type CHAT_HISTORY
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
- input_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/scenario_input_document_variable_value.py b/src/vellum/client/types/scenario_input_document_variable_value.py
deleted file mode 100644
index 37bf2bc2df..0000000000
--- a/src/vellum/client/types/scenario_input_document_variable_value.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document import VellumDocument
-
-
-class ScenarioInputDocumentVariableValue(UniversalBaseModel):
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: typing.Optional[VellumDocument] = None
- input_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/scenario_input_image_variable_value.py b/src/vellum/client/types/scenario_input_image_variable_value.py
deleted file mode 100644
index 2c692ea5eb..0000000000
--- a/src/vellum/client/types/scenario_input_image_variable_value.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image import VellumImage
-
-
-class ScenarioInputImageVariableValue(UniversalBaseModel):
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: typing.Optional[VellumImage] = None
- input_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/scenario_input_json_variable_value.py b/src/vellum/client/types/scenario_input_json_variable_value.py
deleted file mode 100644
index dbcc68adf0..0000000000
--- a/src/vellum/client/types/scenario_input_json_variable_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ScenarioInputJsonVariableValue(UniversalBaseModel):
- """
- Prompt Sandbox Scenario input value that is of type JSON
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
- input_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/scenario_input_string_variable_value.py b/src/vellum/client/types/scenario_input_string_variable_value.py
deleted file mode 100644
index 0c1718ea4b..0000000000
--- a/src/vellum/client/types/scenario_input_string_variable_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class ScenarioInputStringVariableValue(UniversalBaseModel):
- """
- Prompt Sandbox Scenario input value that is of type STRING
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
- input_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/scenario_input_video_variable_value.py b/src/vellum/client/types/scenario_input_video_variable_value.py
deleted file mode 100644
index d5344290b1..0000000000
--- a/src/vellum/client/types/scenario_input_video_variable_value.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video import VellumVideo
-
-
-class ScenarioInputVideoVariableValue(UniversalBaseModel):
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: typing.Optional[VellumVideo] = None
- input_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/scheduled_trigger_context.py b/src/vellum/client/types/scheduled_trigger_context.py
deleted file mode 100644
index ff1af6ba11..0000000000
--- a/src/vellum/client/types/scheduled_trigger_context.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class ScheduledTriggerContext(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- type: typing.Literal["SCHEDULED"] = "SCHEDULED"
- trigger_id: typing.Optional[str] = None
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(ScheduledTriggerContext)
diff --git a/src/vellum/client/types/search_filters_request.py b/src/vellum/client/types/search_filters_request.py
deleted file mode 100644
index 246ffadbd9..0000000000
--- a/src/vellum/client/types/search_filters_request.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .metadata_filters_request import MetadataFiltersRequest
-
-
-class SearchFiltersRequest(UniversalBaseModel):
- external_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- The document external IDs to filter by
- """
-
- metadata: typing.Optional[MetadataFiltersRequest] = pydantic.Field(default=None)
- """
- The metadata filters to apply to the search
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-from .metadata_filter_rule_request import MetadataFilterRuleRequest # noqa: E402, F401, I001
-from .vellum_value_logical_condition_group_request import VellumValueLogicalConditionGroupRequest # noqa: E402, F401, I001
-
-update_forward_refs(SearchFiltersRequest)
diff --git a/src/vellum/client/types/search_node_result.py b/src/vellum/client/types/search_node_result.py
deleted file mode 100644
index c7cc2ee733..0000000000
--- a/src/vellum/client/types/search_node_result.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_node_result_data import SearchNodeResultData
-
-
-class SearchNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from a Search Node.
- """
-
- type: typing.Literal["SEARCH"] = "SEARCH"
- data: SearchNodeResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_node_result_data.py b/src/vellum/client/types/search_node_result_data.py
deleted file mode 100644
index f491de3865..0000000000
--- a/src/vellum/client/types/search_node_result_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class SearchNodeResultData(UniversalBaseModel):
- results_output_id: str
- results: typing.List[SearchResult] = pydantic.Field()
- """
- The results of the search. Each result represents a chunk that matches the search query.
- """
-
- text_output_id: str
- text: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_request_options_request.py b/src/vellum/client/types/search_request_options_request.py
deleted file mode 100644
index c107422e97..0000000000
--- a/src/vellum/client/types/search_request_options_request.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .search_filters_request import SearchFiltersRequest
-from .search_result_merging_request import SearchResultMergingRequest
-from .search_weights_request import SearchWeightsRequest
-
-
-class SearchRequestOptionsRequest(UniversalBaseModel):
- limit: typing.Optional[int] = pydantic.Field(default=None)
- """
- The maximum number of results to return.
- """
-
- weights: typing.Optional[SearchWeightsRequest] = pydantic.Field(default=None)
- """
- The weights to use for the search. Must add up to 1.0.
- """
-
- result_merging: typing.Optional[SearchResultMergingRequest] = pydantic.Field(default=None)
- """
- The configuration for merging results.
- """
-
- filters: typing.Optional[SearchFiltersRequest] = pydantic.Field(default=None)
- """
- The filters to apply to the search.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-from .metadata_filter_rule_request import MetadataFilterRuleRequest # noqa: E402, F401, I001
-from .vellum_value_logical_condition_group_request import VellumValueLogicalConditionGroupRequest # noqa: E402, F401, I001
-
-update_forward_refs(SearchRequestOptionsRequest)
diff --git a/src/vellum/client/types/search_response.py b/src/vellum/client/types/search_response.py
deleted file mode 100644
index 2f21ad8c05..0000000000
--- a/src/vellum/client/types/search_response.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class SearchResponse(UniversalBaseModel):
- results: typing.List[SearchResult] = pydantic.Field()
- """
- The results of the search. Each result represents a chunk that matches the search query.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_result.py b/src/vellum/client/types/search_result.py
deleted file mode 100644
index c7710c483a..0000000000
--- a/src/vellum/client/types/search_result.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result_document import SearchResultDocument
-from .search_result_meta import SearchResultMeta
-
-
-class SearchResult(UniversalBaseModel):
- text: str = pydantic.Field()
- """
- The text of the chunk that matched the search query.
- """
-
- score: float = pydantic.Field()
- """
- A score representing how well the chunk matches the search query.
- """
-
- keywords: typing.List[str]
- document: SearchResultDocument = pydantic.Field()
- """
- The document that contains the chunk that matched the search query.
- """
-
- meta: typing.Optional[SearchResultMeta] = pydantic.Field(default=None)
- """
- Additional information about the search result.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_result_document.py b/src/vellum/client/types/search_result_document.py
deleted file mode 100644
index eea629f530..0000000000
--- a/src/vellum/client/types/search_result_document.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class SearchResultDocument(UniversalBaseModel):
- id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The ID of the document.
- """
-
- label: str = pydantic.Field()
- """
- The human-readable name for the document.
- """
-
- external_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The unique ID of the document as represented in an external system and specified when it was originally uploaded.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- A previously supplied JSON object containing metadata that can be filtered on when searching.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_result_document_request.py b/src/vellum/client/types/search_result_document_request.py
deleted file mode 100644
index f90bab0072..0000000000
--- a/src/vellum/client/types/search_result_document_request.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class SearchResultDocumentRequest(UniversalBaseModel):
- id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The ID of the document.
- """
-
- label: str = pydantic.Field()
- """
- The human-readable name for the document.
- """
-
- external_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The unique ID of the document as represented in an external system and specified when it was originally uploaded.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- A previously supplied JSON object containing metadata that can be filtered on when searching.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_result_merging_request.py b/src/vellum/client/types/search_result_merging_request.py
deleted file mode 100644
index 8344602600..0000000000
--- a/src/vellum/client/types/search_result_merging_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class SearchResultMergingRequest(UniversalBaseModel):
- enabled: typing.Optional[bool] = pydantic.Field(default=None)
- """
- Whether to enable merging results
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_result_meta.py b/src/vellum/client/types/search_result_meta.py
deleted file mode 100644
index e250ebaee4..0000000000
--- a/src/vellum/client/types/search_result_meta.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .components_schemas_pdf_search_result_meta_source import ComponentsSchemasPdfSearchResultMetaSource
-
-
-class SearchResultMeta(UniversalBaseModel):
- source: typing.Optional[ComponentsSchemasPdfSearchResultMetaSource] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_result_meta_request.py b/src/vellum/client/types/search_result_meta_request.py
deleted file mode 100644
index ceb25b2ba5..0000000000
--- a/src/vellum/client/types/search_result_meta_request.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .components_schemas_pdf_search_result_meta_source_request import ComponentsSchemasPdfSearchResultMetaSourceRequest
-
-
-class SearchResultMetaRequest(UniversalBaseModel):
- source: typing.Optional[ComponentsSchemasPdfSearchResultMetaSourceRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_result_request.py b/src/vellum/client/types/search_result_request.py
deleted file mode 100644
index 4c5f188e73..0000000000
--- a/src/vellum/client/types/search_result_request.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result_document_request import SearchResultDocumentRequest
-from .search_result_meta_request import SearchResultMetaRequest
-
-
-class SearchResultRequest(UniversalBaseModel):
- text: str = pydantic.Field()
- """
- The text of the chunk that matched the search query.
- """
-
- score: float = pydantic.Field()
- """
- A score representing how well the chunk matches the search query.
- """
-
- keywords: typing.List[str]
- document: SearchResultDocumentRequest = pydantic.Field()
- """
- The document that contains the chunk that matched the search query.
- """
-
- meta: typing.Optional[SearchResultMetaRequest] = pydantic.Field(default=None)
- """
- Additional information about the search result.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_results_input.py b/src/vellum/client/types/search_results_input.py
deleted file mode 100644
index 414026c685..0000000000
--- a/src/vellum/client/types/search_results_input.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class SearchResultsInput(UniversalBaseModel):
- """
- A user input representing a search results value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.List[SearchResult]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_results_vellum_value.py b/src/vellum/client/types/search_results_vellum_value.py
deleted file mode 100644
index 45baba6de4..0000000000
--- a/src/vellum/client/types/search_results_vellum_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class SearchResultsVellumValue(UniversalBaseModel):
- """
- A value representing Search Results.
- """
-
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_results_vellum_value_request.py b/src/vellum/client/types/search_results_vellum_value_request.py
deleted file mode 100644
index 6533d5adbe..0000000000
--- a/src/vellum/client/types/search_results_vellum_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result_request import SearchResultRequest
-
-
-class SearchResultsVellumValueRequest(UniversalBaseModel):
- """
- A value representing Search Results.
- """
-
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResultRequest]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/search_weights_request.py b/src/vellum/client/types/search_weights_request.py
deleted file mode 100644
index d78eae51f1..0000000000
--- a/src/vellum/client/types/search_weights_request.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class SearchWeightsRequest(UniversalBaseModel):
- semantic_similarity: typing.Optional[float] = pydantic.Field(default=None)
- """
- The relative weight to give to semantic similarity
- """
-
- keywords: typing.Optional[float] = pydantic.Field(default=None)
- """
- The relative weight to give to keywords
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/secret_type_enum.py b/src/vellum/client/types/secret_type_enum.py
deleted file mode 100644
index 622757a7bf..0000000000
--- a/src/vellum/client/types/secret_type_enum.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-SecretTypeEnum = typing.Union[
- typing.Literal["USER_DEFINED", "HMAC", "INTERNAL_API_KEY", "EXTERNALLY_PROVISIONED"], typing.Any
-]
diff --git a/src/vellum/client/types/sentence_chunker_config.py b/src/vellum/client/types/sentence_chunker_config.py
deleted file mode 100644
index 0d02c0afcf..0000000000
--- a/src/vellum/client/types/sentence_chunker_config.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class SentenceChunkerConfig(UniversalBaseModel):
- """
- Configuration for sentence chunking
- """
-
- character_limit: typing.Optional[int] = None
- min_overlap_ratio: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/sentence_chunker_config_request.py b/src/vellum/client/types/sentence_chunker_config_request.py
deleted file mode 100644
index 989888e065..0000000000
--- a/src/vellum/client/types/sentence_chunker_config_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class SentenceChunkerConfigRequest(UniversalBaseModel):
- """
- Configuration for sentence chunking
- """
-
- character_limit: typing.Optional[int] = None
- min_overlap_ratio: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/sentence_chunking.py b/src/vellum/client/types/sentence_chunking.py
deleted file mode 100644
index 7f0753f319..0000000000
--- a/src/vellum/client/types/sentence_chunking.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .sentence_chunker_config import SentenceChunkerConfig
-
-
-class SentenceChunking(UniversalBaseModel):
- """
- Sentence chunking
- """
-
- chunker_name: typing.Literal["sentence-chunker"] = "sentence-chunker"
- chunker_config: typing.Optional[SentenceChunkerConfig] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/sentence_chunking_request.py b/src/vellum/client/types/sentence_chunking_request.py
deleted file mode 100644
index c3057cbaae..0000000000
--- a/src/vellum/client/types/sentence_chunking_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .sentence_chunker_config_request import SentenceChunkerConfigRequest
-
-
-class SentenceChunkingRequest(UniversalBaseModel):
- """
- Sentence chunking
- """
-
- chunker_name: typing.Literal["sentence-chunker"] = "sentence-chunker"
- chunker_config: typing.Optional[SentenceChunkerConfigRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/slim_composio_tool_definition.py b/src/vellum/client/types/slim_composio_tool_definition.py
deleted file mode 100644
index 10e78bf241..0000000000
--- a/src/vellum/client/types/slim_composio_tool_definition.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .integration import Integration
-
-
-class SlimComposioToolDefinition(UniversalBaseModel):
- provider: typing.Literal["COMPOSIO"] = "COMPOSIO"
- integration: Integration
- name: str
- label: str
- description: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/slim_deployment_read.py b/src/vellum/client/types/slim_deployment_read.py
deleted file mode 100644
index 617d297654..0000000000
--- a/src/vellum/client/types/slim_deployment_read.py
+++ /dev/null
@@ -1,64 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .entity_status import EntityStatus
-from .environment_enum import EnvironmentEnum
-from .vellum_variable import VellumVariable
-
-
-class SlimDeploymentRead(UniversalBaseModel):
- """
- A subset of a Prompt Deployment's full details.
- """
-
- id: str
- created: dt.datetime
- label: str = pydantic.Field()
- """
- A human-readable label for the deployment
- """
-
- name: str = pydantic.Field()
- """
- A name that uniquely identifies this deployment within its workspace
- """
-
- status: typing.Optional[EntityStatus] = pydantic.Field(default=None)
- """
- The current status of the deployment
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
- """
-
- environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
- """
- Deprecated. The value returned will always be 'PRODUCTION'.
- """
-
- last_deployed_on: dt.datetime
- input_variables: typing.List[VellumVariable]
- description: typing.Optional[str] = pydantic.Field(default=None)
- """
- A human-readable description of the deployment
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(SlimDeploymentRead)
diff --git a/src/vellum/client/types/slim_document.py b/src/vellum/client/types/slim_document.py
deleted file mode 100644
index b512538cb5..0000000000
--- a/src/vellum/client/types/slim_document.py
+++ /dev/null
@@ -1,71 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .document_processing_state import DocumentProcessingState
-from .document_status import DocumentStatus
-from .processing_failure_reason_enum import ProcessingFailureReasonEnum
-from .slim_document_document_to_document_index import SlimDocumentDocumentToDocumentIndex
-
-
-class SlimDocument(UniversalBaseModel):
- id: str = pydantic.Field()
- """
- Vellum-generated ID that uniquely identifies this document.
- """
-
- external_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The external ID that was originally provided when uploading the document.
- """
-
- last_uploaded_at: dt.datetime = pydantic.Field()
- """
- A timestamp representing when this document was most recently uploaded.
- """
-
- label: str = pydantic.Field()
- """
- Human-friendly name for this document.
- """
-
- processing_state: DocumentProcessingState
- processing_failure_reason: typing.Optional[ProcessingFailureReasonEnum] = pydantic.Field(default=None)
- """
- An enum value representing why the document could not be processed. Is null unless processing_state is FAILED.
-
- * `EXCEEDED_CHARACTER_LIMIT` - Exceeded Character Limit
- * `INVALID_FILE` - Invalid File
- * `INVALID_CREDENTIALS` - Invalid Credentials
- """
-
- status: typing.Optional[DocumentStatus] = pydantic.Field(default=None)
- """
- The document's current status.
-
- * `ACTIVE` - Active
- """
-
- keywords: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- A list of keywords associated with this document. Originally provided when uploading the document.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- A previously supplied JSON object containing metadata that can be filtered on when searching.
- """
-
- document_to_document_indexes: typing.List[SlimDocumentDocumentToDocumentIndex]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/slim_document_document_to_document_index.py b/src/vellum/client/types/slim_document_document_to_document_index.py
deleted file mode 100644
index e26b5895d9..0000000000
--- a/src/vellum/client/types/slim_document_document_to_document_index.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .indexing_state_enum import IndexingStateEnum
-
-
-class SlimDocumentDocumentToDocumentIndex(UniversalBaseModel):
- """
- A slim representation of the link between a Document and a Document Index it's a member of.
- """
-
- id: str = pydantic.Field()
- """
- Vellum-generated ID that uniquely identifies this link.
- """
-
- environment_document_index_id: str = pydantic.Field()
- """
- Vellum-generated ID that uniquely identifies the environment index this document is included in.
- """
-
- document_index_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- Vellum-generated ID that uniquely identifies the index this document is included in.
- """
-
- indexing_state: typing.Optional[IndexingStateEnum] = pydantic.Field(default=None)
- """
- An enum value representing where this document is along its indexing lifecycle for this index.
-
- * `AWAITING_PROCESSING` - Awaiting Processing
- * `QUEUED` - Queued
- * `INDEXING` - Indexing
- * `INDEXED` - Indexed
- * `FAILED` - Failed
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/slim_integration_auth_config_read.py b/src/vellum/client/types/slim_integration_auth_config_read.py
deleted file mode 100644
index 5df25d3772..0000000000
--- a/src/vellum/client/types/slim_integration_auth_config_read.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .auth_type_enum import AuthTypeEnum
-from .integration_auth_config_integration import IntegrationAuthConfigIntegration
-from .integration_auth_config_integration_credential import IntegrationAuthConfigIntegrationCredential
-from .integration_credential_access_type import IntegrationCredentialAccessType
-
-
-class SlimIntegrationAuthConfigRead(UniversalBaseModel):
- """
- A slim representation of an Integration Auth Config.
- """
-
- id: str
- integration: IntegrationAuthConfigIntegration
- auth_type: typing.Optional[AuthTypeEnum] = None
- integration_credentials: typing.Optional[typing.List[IntegrationAuthConfigIntegrationCredential]] = None
- system_credential_eligible: typing.Optional[bool] = pydantic.Field(default=None)
- """
- Whether or not this auth config is eligible to use Vellum-managed system credentials to authenticate.
- """
-
- default_access_type: typing.Optional[IntegrationCredentialAccessType] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/slim_integration_read.py b/src/vellum/client/types/slim_integration_read.py
deleted file mode 100644
index fb9d0e070a..0000000000
--- a/src/vellum/client/types/slim_integration_read.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .integration_name import IntegrationName
-from .integration_provider import IntegrationProvider
-
-
-class SlimIntegrationRead(UniversalBaseModel):
- id: str
- label: typing.Optional[str] = None
- icon_url: str
- name: IntegrationName
- provider: IntegrationProvider = "COMPOSIO"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/slim_release_review.py b/src/vellum/client/types/slim_release_review.py
deleted file mode 100644
index f79934ad67..0000000000
--- a/src/vellum/client/types/slim_release_review.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .release_review_reviewer import ReleaseReviewReviewer
-from .release_review_state import ReleaseReviewState
-
-
-class SlimReleaseReview(UniversalBaseModel):
- id: str
- created: dt.datetime
- reviewer: ReleaseReviewReviewer
- state: ReleaseReviewState
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/slim_workflow_deployment.py b/src/vellum/client/types/slim_workflow_deployment.py
deleted file mode 100644
index ca1f4727a4..0000000000
--- a/src/vellum/client/types/slim_workflow_deployment.py
+++ /dev/null
@@ -1,73 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .entity_status import EntityStatus
-from .environment_enum import EnvironmentEnum
-from .vellum_variable import VellumVariable
-
-
-class SlimWorkflowDeployment(UniversalBaseModel):
- """
- A subset of a Workflow Deployment's full details.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- A name that uniquely identifies this workflow deployment within its workspace
- """
-
- label: str = pydantic.Field()
- """
- A human-readable label for the workflow deployment
- """
-
- status: typing.Optional[EntityStatus] = pydantic.Field(default=None)
- """
- The current status of the workflow deployment
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
- """
-
- environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
- """
- Deprecated. The value returned will always be 'PRODUCTION'.
- """
-
- created: dt.datetime
- last_deployed_on: dt.datetime
- input_variables: typing.List[VellumVariable] = pydantic.Field()
- """
- The input variables this Workflow Deployment expects to receive values for when it is executed.
- """
-
- output_variables: typing.List[VellumVariable] = pydantic.Field()
- """
- The output variables this Workflow Deployment will produce when it is executed.
- """
-
- description: typing.Optional[str] = pydantic.Field(default=None)
- """
- A human-readable description of the workflow deployment
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(SlimWorkflowDeployment)
diff --git a/src/vellum/client/types/slim_workflow_execution_read.py b/src/vellum/client/types/slim_workflow_execution_read.py
deleted file mode 100644
index 9c3083d657..0000000000
--- a/src/vellum/client/types/slim_workflow_execution_read.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .execution_vellum_value import ExecutionVellumValue
-from .workflow_error import WorkflowError
-from .workflow_execution_actual import WorkflowExecutionActual
-from .workflow_execution_usage_result import WorkflowExecutionUsageResult
-from .workflow_execution_view_online_eval_metric_result import WorkflowExecutionViewOnlineEvalMetricResult
-
-
-class SlimWorkflowExecutionRead(UniversalBaseModel):
- span_id: str
- start: dt.datetime
- end: typing.Optional[dt.datetime] = None
- inputs: typing.List[ExecutionVellumValue]
- outputs: typing.List[ExecutionVellumValue]
- error: typing.Optional[WorkflowError] = None
- usage_results: typing.Optional[typing.List[WorkflowExecutionUsageResult]] = None
- parent_context: typing.Optional["WorkflowDeploymentParentContext"] = None
- latest_actual: typing.Optional[WorkflowExecutionActual] = None
- metric_results: typing.List[WorkflowExecutionViewOnlineEvalMetricResult]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-
-update_forward_refs(SlimWorkflowExecutionRead)
diff --git a/src/vellum/client/types/span_link.py b/src/vellum/client/types/span_link.py
deleted file mode 100644
index ecffabc687..0000000000
--- a/src/vellum/client/types/span_link.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .span_link_type_enum import SpanLinkTypeEnum
-
-
-class SpanLink(UniversalBaseModel):
- trace_id: str
- type: SpanLinkTypeEnum
- span_context: "ParentContext"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(SpanLink)
diff --git a/src/vellum/client/types/span_link_type_enum.py b/src/vellum/client/types/span_link_type_enum.py
deleted file mode 100644
index 639bc889ef..0000000000
--- a/src/vellum/client/types/span_link_type_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-SpanLinkTypeEnum = typing.Union[typing.Literal["TRIGGERED_BY", "PREVIOUS_SPAN", "ROOT_SPAN"], typing.Any]
diff --git a/src/vellum/client/types/streaming_ad_hoc_execute_prompt_event.py b/src/vellum/client/types/streaming_ad_hoc_execute_prompt_event.py
deleted file mode 100644
index 11c5c3be6f..0000000000
--- a/src/vellum/client/types/streaming_ad_hoc_execute_prompt_event.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ad_hoc_streaming_prompt_execution_meta import AdHocStreamingPromptExecutionMeta
-from .prompt_output import PromptOutput
-
-
-class StreamingAdHocExecutePromptEvent(UniversalBaseModel):
- """
- The data returned for each delta during the prompt execution stream.
- """
-
- state: typing.Literal["STREAMING"] = "STREAMING"
- output: PromptOutput
- output_index: int
- execution_id: str
- meta: typing.Optional[AdHocStreamingPromptExecutionMeta] = None
- raw: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- The subset of the raw response from the model that the request opted into with `expand_raw`.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/streaming_execute_prompt_event.py b/src/vellum/client/types/streaming_execute_prompt_event.py
deleted file mode 100644
index ae47fe060f..0000000000
--- a/src/vellum/client/types/streaming_execute_prompt_event.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .prompt_output import PromptOutput
-from .streaming_prompt_execution_meta import StreamingPromptExecutionMeta
-
-
-class StreamingExecutePromptEvent(UniversalBaseModel):
- """
- The data returned for each delta during the prompt execution stream.
- """
-
- state: typing.Literal["STREAMING"] = "STREAMING"
- output: PromptOutput
- output_index: int
- execution_id: str
- meta: typing.Optional[StreamingPromptExecutionMeta] = None
- raw: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- The subset of the raw response from the model that the request opted into with `expand_raw`.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/streaming_prompt_execution_meta.py b/src/vellum/client/types/streaming_prompt_execution_meta.py
deleted file mode 100644
index 580f795fd0..0000000000
--- a/src/vellum/client/types/streaming_prompt_execution_meta.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class StreamingPromptExecutionMeta(UniversalBaseModel):
- """
- The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
- """
-
- latency: typing.Optional[int] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/streaming_workflow_node_result_event.py b/src/vellum/client/types/streaming_workflow_node_result_event.py
deleted file mode 100644
index 9603071f8c..0000000000
--- a/src/vellum/client/types/streaming_workflow_node_result_event.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .node_output_compiled_value import NodeOutputCompiledValue
-from .workflow_node_result_data import WorkflowNodeResultData
-
-
-class StreamingWorkflowNodeResultEvent(UniversalBaseModel):
- """
- An event that indicates that the node has execution is in progress.
- """
-
- id: str
- node_id: str
- node_result_id: str
- state: typing.Literal["STREAMING"] = "STREAMING"
- ts: typing.Optional[dt.datetime] = None
- data: typing.Optional[WorkflowNodeResultData] = None
- source_execution_id: typing.Optional[str] = None
- output: typing.Optional[NodeOutputCompiledValue] = None
- output_index: typing.Optional[int] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(StreamingWorkflowNodeResultEvent)
diff --git a/src/vellum/client/types/string_chat_message_content.py b/src/vellum/client/types/string_chat_message_content.py
deleted file mode 100644
index 739e90118c..0000000000
--- a/src/vellum/client/types/string_chat_message_content.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class StringChatMessageContent(UniversalBaseModel):
- """
- A string value that is used in a chat message.
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/string_chat_message_content_request.py b/src/vellum/client/types/string_chat_message_content_request.py
deleted file mode 100644
index aff6f2cce5..0000000000
--- a/src/vellum/client/types/string_chat_message_content_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class StringChatMessageContentRequest(UniversalBaseModel):
- """
- A string value that is used in a chat message.
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/string_input.py b/src/vellum/client/types/string_input.py
deleted file mode 100644
index 6ddba5748e..0000000000
--- a/src/vellum/client/types/string_input.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class StringInput(UniversalBaseModel):
- """
- A user input representing a string value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/string_input_request.py b/src/vellum/client/types/string_input_request.py
deleted file mode 100644
index f29855bc95..0000000000
--- a/src/vellum/client/types/string_input_request.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class StringInputRequest(UniversalBaseModel):
- """
- A user input representing a string value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/string_vellum_value.py b/src/vellum/client/types/string_vellum_value.py
deleted file mode 100644
index 9eb2b74904..0000000000
--- a/src/vellum/client/types/string_vellum_value.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class StringVellumValue(UniversalBaseModel):
- """
- A value representing a string.
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/string_vellum_value_request.py b/src/vellum/client/types/string_vellum_value_request.py
deleted file mode 100644
index fc95ee4e27..0000000000
--- a/src/vellum/client/types/string_vellum_value_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class StringVellumValueRequest(UniversalBaseModel):
- """
- A value representing a string.
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/submit_completion_actual_request.py b/src/vellum/client/types/submit_completion_actual_request.py
deleted file mode 100644
index 5377ccebd7..0000000000
--- a/src/vellum/client/types/submit_completion_actual_request.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class SubmitCompletionActualRequest(UniversalBaseModel):
- id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Vellum-generated ID of a previously generated completion. Must provide either this or external_id.
- """
-
- external_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The external ID that was originally provided when generating the completion that you'd now like to submit actuals for. Must provide either this or id.
- """
-
- text: typing.Optional[str] = pydantic.Field(default=None)
- """
- Text representing what the completion _should_ have been.
- """
-
- quality: typing.Optional[float] = pydantic.Field(default=None)
- """
- A number between 0 and 1 representing the quality of the completion. 0 is the worst, 1 is the best.
- """
-
- timestamp: typing.Optional[dt.datetime] = pydantic.Field(default=None)
- """
- Optionally provide the timestamp representing when this feedback was collected. Used for reporting purposes.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- Optionally provide additional metadata about the feedback submission.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/submit_workflow_execution_actual_request.py b/src/vellum/client/types/submit_workflow_execution_actual_request.py
deleted file mode 100644
index 13eecea2d5..0000000000
--- a/src/vellum/client/types/submit_workflow_execution_actual_request.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .workflow_execution_actual_chat_history_request import WorkflowExecutionActualChatHistoryRequest
-from .workflow_execution_actual_json_request import WorkflowExecutionActualJsonRequest
-from .workflow_execution_actual_string_request import WorkflowExecutionActualStringRequest
-
-SubmitWorkflowExecutionActualRequest = typing.Union[
- WorkflowExecutionActualStringRequest, WorkflowExecutionActualJsonRequest, WorkflowExecutionActualChatHistoryRequest
-]
diff --git a/src/vellum/client/types/subworkflow_node_result.py b/src/vellum/client/types/subworkflow_node_result.py
deleted file mode 100644
index 972a0c09ce..0000000000
--- a/src/vellum/client/types/subworkflow_node_result.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .subworkflow_node_result_data import SubworkflowNodeResultData
-
-
-class SubworkflowNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from a Subworkflow Node.
- """
-
- type: typing.Literal["SUBWORKFLOW"] = "SUBWORKFLOW"
- data: typing.Optional[SubworkflowNodeResultData] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/subworkflow_node_result_data.py b/src/vellum/client/types/subworkflow_node_result_data.py
deleted file mode 100644
index df4775fdeb..0000000000
--- a/src/vellum/client/types/subworkflow_node_result_data.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class SubworkflowNodeResultData(UniversalBaseModel):
- execution_id: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/templating_node_array_result.py b/src/vellum/client/types/templating_node_array_result.py
deleted file mode 100644
index 855434bb53..0000000000
--- a/src/vellum/client/types/templating_node_array_result.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class TemplatingNodeArrayResult(UniversalBaseModel):
- id: str
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TemplatingNodeArrayResult)
diff --git a/src/vellum/client/types/templating_node_chat_history_result.py b/src/vellum/client/types/templating_node_chat_history_result.py
deleted file mode 100644
index 32f63bb642..0000000000
--- a/src/vellum/client/types/templating_node_chat_history_result.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class TemplatingNodeChatHistoryResult(UniversalBaseModel):
- id: str
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/templating_node_error_result.py b/src/vellum/client/types/templating_node_error_result.py
deleted file mode 100644
index 75423c81da..0000000000
--- a/src/vellum/client/types/templating_node_error_result.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class TemplatingNodeErrorResult(UniversalBaseModel):
- id: str
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/templating_node_function_call_result.py b/src/vellum/client/types/templating_node_function_call_result.py
deleted file mode 100644
index 83be35a229..0000000000
--- a/src/vellum/client/types/templating_node_function_call_result.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class TemplatingNodeFunctionCallResult(UniversalBaseModel):
- id: str
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/templating_node_json_result.py b/src/vellum/client/types/templating_node_json_result.py
deleted file mode 100644
index 8eba79fb25..0000000000
--- a/src/vellum/client/types/templating_node_json_result.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TemplatingNodeJsonResult(UniversalBaseModel):
- id: str
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/templating_node_number_result.py b/src/vellum/client/types/templating_node_number_result.py
deleted file mode 100644
index c7dbdab502..0000000000
--- a/src/vellum/client/types/templating_node_number_result.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TemplatingNodeNumberResult(UniversalBaseModel):
- id: str
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/templating_node_result.py b/src/vellum/client/types/templating_node_result.py
deleted file mode 100644
index 6b7ae241f4..0000000000
--- a/src/vellum/client/types/templating_node_result.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .templating_node_result_data import TemplatingNodeResultData
-
-
-class TemplatingNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from a Templating Node.
- """
-
- type: typing.Literal["TEMPLATING"] = "TEMPLATING"
- data: TemplatingNodeResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TemplatingNodeResult)
diff --git a/src/vellum/client/types/templating_node_result_data.py b/src/vellum/client/types/templating_node_result_data.py
deleted file mode 100644
index 5b3180adb3..0000000000
--- a/src/vellum/client/types/templating_node_result_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .templating_node_result_output import TemplatingNodeResultOutput
-
-
-class TemplatingNodeResultData(UniversalBaseModel):
- output: TemplatingNodeResultOutput
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TemplatingNodeResultData)
diff --git a/src/vellum/client/types/templating_node_result_output.py b/src/vellum/client/types/templating_node_result_output.py
deleted file mode 100644
index f3bdafe882..0000000000
--- a/src/vellum/client/types/templating_node_result_output.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .templating_node_array_result import TemplatingNodeArrayResult
-from .templating_node_chat_history_result import TemplatingNodeChatHistoryResult
-from .templating_node_error_result import TemplatingNodeErrorResult
-from .templating_node_function_call_result import TemplatingNodeFunctionCallResult
-from .templating_node_json_result import TemplatingNodeJsonResult
-from .templating_node_number_result import TemplatingNodeNumberResult
-from .templating_node_search_results_result import TemplatingNodeSearchResultsResult
-from .templating_node_string_result import TemplatingNodeStringResult
-
-TemplatingNodeResultOutput = typing.Union[
- TemplatingNodeStringResult,
- TemplatingNodeNumberResult,
- TemplatingNodeJsonResult,
- TemplatingNodeChatHistoryResult,
- TemplatingNodeSearchResultsResult,
- TemplatingNodeErrorResult,
- TemplatingNodeArrayResult,
- TemplatingNodeFunctionCallResult,
-]
diff --git a/src/vellum/client/types/templating_node_search_results_result.py b/src/vellum/client/types/templating_node_search_results_result.py
deleted file mode 100644
index 6b0e2bce87..0000000000
--- a/src/vellum/client/types/templating_node_search_results_result.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class TemplatingNodeSearchResultsResult(UniversalBaseModel):
- id: str
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/templating_node_string_result.py b/src/vellum/client/types/templating_node_string_result.py
deleted file mode 100644
index 6daeee7647..0000000000
--- a/src/vellum/client/types/templating_node_string_result.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TemplatingNodeStringResult(UniversalBaseModel):
- id: str
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/terminal_node_array_result.py b/src/vellum/client/types/terminal_node_array_result.py
deleted file mode 100644
index 444f746282..0000000000
--- a/src/vellum/client/types/terminal_node_array_result.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class TerminalNodeArrayResult(UniversalBaseModel):
- id: typing.Optional[str] = None
- name: str = pydantic.Field()
- """
- The unique name given to the terminal node that produced this output.
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TerminalNodeArrayResult)
diff --git a/src/vellum/client/types/terminal_node_chat_history_result.py b/src/vellum/client/types/terminal_node_chat_history_result.py
deleted file mode 100644
index f9a93f864e..0000000000
--- a/src/vellum/client/types/terminal_node_chat_history_result.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class TerminalNodeChatHistoryResult(UniversalBaseModel):
- id: typing.Optional[str] = None
- name: str = pydantic.Field()
- """
- The unique name given to the terminal node that produced this output.
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/terminal_node_error_result.py b/src/vellum/client/types/terminal_node_error_result.py
deleted file mode 100644
index 769c59ba91..0000000000
--- a/src/vellum/client/types/terminal_node_error_result.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class TerminalNodeErrorResult(UniversalBaseModel):
- id: typing.Optional[str] = None
- name: str = pydantic.Field()
- """
- The unique name given to the terminal node that produced this output.
- """
-
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/terminal_node_function_call_result.py b/src/vellum/client/types/terminal_node_function_call_result.py
deleted file mode 100644
index b9476276a3..0000000000
--- a/src/vellum/client/types/terminal_node_function_call_result.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class TerminalNodeFunctionCallResult(UniversalBaseModel):
- id: typing.Optional[str] = None
- name: str = pydantic.Field()
- """
- The unique name given to the terminal node that produced this output.
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/terminal_node_json_result.py b/src/vellum/client/types/terminal_node_json_result.py
deleted file mode 100644
index d43dc36c57..0000000000
--- a/src/vellum/client/types/terminal_node_json_result.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TerminalNodeJsonResult(UniversalBaseModel):
- id: typing.Optional[str] = None
- name: str = pydantic.Field()
- """
- The unique name given to the terminal node that produced this output.
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/terminal_node_number_result.py b/src/vellum/client/types/terminal_node_number_result.py
deleted file mode 100644
index 550db2c9ba..0000000000
--- a/src/vellum/client/types/terminal_node_number_result.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TerminalNodeNumberResult(UniversalBaseModel):
- id: typing.Optional[str] = None
- name: str = pydantic.Field()
- """
- The unique name given to the terminal node that produced this output.
- """
-
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/terminal_node_result.py b/src/vellum/client/types/terminal_node_result.py
deleted file mode 100644
index 42b32ef719..0000000000
--- a/src/vellum/client/types/terminal_node_result.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .terminal_node_result_data import TerminalNodeResultData
-
-
-class TerminalNodeResult(UniversalBaseModel):
- """
- A Node Result Event emitted from a Terminal Node.
- """
-
- type: typing.Literal["TERMINAL"] = "TERMINAL"
- data: TerminalNodeResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TerminalNodeResult)
diff --git a/src/vellum/client/types/terminal_node_result_data.py b/src/vellum/client/types/terminal_node_result_data.py
deleted file mode 100644
index 089931bc40..0000000000
--- a/src/vellum/client/types/terminal_node_result_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .terminal_node_result_output import TerminalNodeResultOutput
-
-
-class TerminalNodeResultData(UniversalBaseModel):
- output: TerminalNodeResultOutput
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TerminalNodeResultData)
diff --git a/src/vellum/client/types/terminal_node_result_output.py b/src/vellum/client/types/terminal_node_result_output.py
deleted file mode 100644
index 912b2eeb92..0000000000
--- a/src/vellum/client/types/terminal_node_result_output.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .terminal_node_array_result import TerminalNodeArrayResult
-from .terminal_node_chat_history_result import TerminalNodeChatHistoryResult
-from .terminal_node_error_result import TerminalNodeErrorResult
-from .terminal_node_function_call_result import TerminalNodeFunctionCallResult
-from .terminal_node_json_result import TerminalNodeJsonResult
-from .terminal_node_number_result import TerminalNodeNumberResult
-from .terminal_node_search_results_result import TerminalNodeSearchResultsResult
-from .terminal_node_string_result import TerminalNodeStringResult
-
-TerminalNodeResultOutput = typing.Union[
- TerminalNodeStringResult,
- TerminalNodeNumberResult,
- TerminalNodeJsonResult,
- TerminalNodeChatHistoryResult,
- TerminalNodeSearchResultsResult,
- TerminalNodeErrorResult,
- TerminalNodeArrayResult,
- TerminalNodeFunctionCallResult,
-]
diff --git a/src/vellum/client/types/terminal_node_search_results_result.py b/src/vellum/client/types/terminal_node_search_results_result.py
deleted file mode 100644
index ecbf875185..0000000000
--- a/src/vellum/client/types/terminal_node_search_results_result.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class TerminalNodeSearchResultsResult(UniversalBaseModel):
- id: typing.Optional[str] = None
- name: str = pydantic.Field()
- """
- The unique name given to the terminal node that produced this output.
- """
-
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/terminal_node_string_result.py b/src/vellum/client/types/terminal_node_string_result.py
deleted file mode 100644
index 299e68125b..0000000000
--- a/src/vellum/client/types/terminal_node_string_result.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TerminalNodeStringResult(UniversalBaseModel):
- id: typing.Optional[str] = None
- name: str = pydantic.Field()
- """
- The unique name given to the terminal node that produced this output.
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_array_variable_value.py b/src/vellum/client/types/test_case_array_variable_value.py
deleted file mode 100644
index 1f457220c8..0000000000
--- a/src/vellum/client/types/test_case_array_variable_value.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class TestCaseArrayVariableValue(UniversalBaseModel):
- """
- An Array value for a variable in a Test Case.
- """
-
- variable_id: str
- name: str
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TestCaseArrayVariableValue)
diff --git a/src/vellum/client/types/test_case_audio_variable_value.py b/src/vellum/client/types/test_case_audio_variable_value.py
deleted file mode 100644
index d27fa8d0bf..0000000000
--- a/src/vellum/client/types/test_case_audio_variable_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio import VellumAudio
-
-
-class TestCaseAudioVariableValue(UniversalBaseModel):
- """
- An audio value for a variable in a Test Case.
- """
-
- variable_id: str
- name: typing.Optional[str] = None
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: typing.Optional[VellumAudio] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_chat_history_variable_value.py b/src/vellum/client/types/test_case_chat_history_variable_value.py
deleted file mode 100644
index a2f6a9ff84..0000000000
--- a/src/vellum/client/types/test_case_chat_history_variable_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class TestCaseChatHistoryVariableValue(UniversalBaseModel):
- """
- A chat history value for a variable in a Test Case.
- """
-
- variable_id: str
- name: str
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_document_variable_value.py b/src/vellum/client/types/test_case_document_variable_value.py
deleted file mode 100644
index b464b3c631..0000000000
--- a/src/vellum/client/types/test_case_document_variable_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document import VellumDocument
-
-
-class TestCaseDocumentVariableValue(UniversalBaseModel):
- """
- A document value for a variable in a Test Case.
- """
-
- variable_id: str
- name: typing.Optional[str] = None
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: typing.Optional[VellumDocument] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_error_variable_value.py b/src/vellum/client/types/test_case_error_variable_value.py
deleted file mode 100644
index df966880b5..0000000000
--- a/src/vellum/client/types/test_case_error_variable_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class TestCaseErrorVariableValue(UniversalBaseModel):
- """
- An error value for a variable in a Test Case.
- """
-
- variable_id: str
- name: str
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_function_call_variable_value.py b/src/vellum/client/types/test_case_function_call_variable_value.py
deleted file mode 100644
index f3f67be80e..0000000000
--- a/src/vellum/client/types/test_case_function_call_variable_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class TestCaseFunctionCallVariableValue(UniversalBaseModel):
- """
- A function call value for a variable in a Test Case.
- """
-
- variable_id: str
- name: str
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_image_variable_value.py b/src/vellum/client/types/test_case_image_variable_value.py
deleted file mode 100644
index 512f40ef42..0000000000
--- a/src/vellum/client/types/test_case_image_variable_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image import VellumImage
-
-
-class TestCaseImageVariableValue(UniversalBaseModel):
- """
- An image value for a variable in a Test Case.
- """
-
- variable_id: str
- name: typing.Optional[str] = None
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: typing.Optional[VellumImage] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_json_variable_value.py b/src/vellum/client/types/test_case_json_variable_value.py
deleted file mode 100644
index 8178399f22..0000000000
--- a/src/vellum/client/types/test_case_json_variable_value.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestCaseJsonVariableValue(UniversalBaseModel):
- """
- A JSON value for a variable in a Test Case.
- """
-
- variable_id: str
- name: str
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_number_variable_value.py b/src/vellum/client/types/test_case_number_variable_value.py
deleted file mode 100644
index d374ef6e11..0000000000
--- a/src/vellum/client/types/test_case_number_variable_value.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestCaseNumberVariableValue(UniversalBaseModel):
- """
- A numerical value for a variable in a Test Case.
- """
-
- variable_id: str
- name: str
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_search_results_variable_value.py b/src/vellum/client/types/test_case_search_results_variable_value.py
deleted file mode 100644
index b6f0100b64..0000000000
--- a/src/vellum/client/types/test_case_search_results_variable_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class TestCaseSearchResultsVariableValue(UniversalBaseModel):
- """
- A search results value for a variable in a Test Case.
- """
-
- variable_id: str
- name: str
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_string_variable_value.py b/src/vellum/client/types/test_case_string_variable_value.py
deleted file mode 100644
index 53de74415e..0000000000
--- a/src/vellum/client/types/test_case_string_variable_value.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestCaseStringVariableValue(UniversalBaseModel):
- """
- A string value for a variable in a Test Case.
- """
-
- variable_id: str
- name: str
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_case_variable_value.py b/src/vellum/client/types/test_case_variable_value.py
deleted file mode 100644
index 670bef94d3..0000000000
--- a/src/vellum/client/types/test_case_variable_value.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .test_case_array_variable_value import TestCaseArrayVariableValue
-from .test_case_audio_variable_value import TestCaseAudioVariableValue
-from .test_case_chat_history_variable_value import TestCaseChatHistoryVariableValue
-from .test_case_document_variable_value import TestCaseDocumentVariableValue
-from .test_case_error_variable_value import TestCaseErrorVariableValue
-from .test_case_function_call_variable_value import TestCaseFunctionCallVariableValue
-from .test_case_image_variable_value import TestCaseImageVariableValue
-from .test_case_json_variable_value import TestCaseJsonVariableValue
-from .test_case_number_variable_value import TestCaseNumberVariableValue
-from .test_case_search_results_variable_value import TestCaseSearchResultsVariableValue
-from .test_case_string_variable_value import TestCaseStringVariableValue
-from .test_case_video_variable_value import TestCaseVideoVariableValue
-
-TestCaseVariableValue = typing.Union[
- TestCaseStringVariableValue,
- TestCaseNumberVariableValue,
- TestCaseJsonVariableValue,
- TestCaseChatHistoryVariableValue,
- TestCaseSearchResultsVariableValue,
- TestCaseErrorVariableValue,
- TestCaseFunctionCallVariableValue,
- TestCaseArrayVariableValue,
- TestCaseAudioVariableValue,
- TestCaseImageVariableValue,
- TestCaseVideoVariableValue,
- TestCaseDocumentVariableValue,
-]
diff --git a/src/vellum/client/types/test_case_video_variable_value.py b/src/vellum/client/types/test_case_video_variable_value.py
deleted file mode 100644
index 4efab47fed..0000000000
--- a/src/vellum/client/types/test_case_video_variable_value.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video import VellumVideo
-
-
-class TestCaseVideoVariableValue(UniversalBaseModel):
- """
- A video value for a variable in a Test Case.
- """
-
- variable_id: str
- name: typing.Optional[str] = None
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: typing.Optional[VellumVideo] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config.py b/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config.py
deleted file mode 100644
index 4a7de8011d..0000000000
--- a/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_run_deployment_release_tag_exec_config_data import TestSuiteRunDeploymentReleaseTagExecConfigData
-
-
-class TestSuiteRunDeploymentReleaseTagExecConfig(UniversalBaseModel):
- """
- Execution configuration for running a Test Suite against a Prompt Deployment
- """
-
- type: typing.Literal["DEPLOYMENT_RELEASE_TAG"] = "DEPLOYMENT_RELEASE_TAG"
- data: TestSuiteRunDeploymentReleaseTagExecConfigData
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data.py b/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data.py
deleted file mode 100644
index a495c1f8eb..0000000000
--- a/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunDeploymentReleaseTagExecConfigData(UniversalBaseModel):
- deployment_id: str = pydantic.Field()
- """
- The ID of the Prompt Deployment to run the Test Suite against.
- """
-
- tag: typing.Optional[str] = pydantic.Field(default=None)
- """
- A tag identifying which release of the Prompt Deployment to run the Test Suite against. Useful for testing past versions of the Prompt Deployment
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data_request.py b/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data_request.py
deleted file mode 100644
index b9bc6e9b6a..0000000000
--- a/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config_data_request.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunDeploymentReleaseTagExecConfigDataRequest(UniversalBaseModel):
- deployment_id: str = pydantic.Field()
- """
- The ID of the Prompt Deployment to run the Test Suite against.
- """
-
- tag: typing.Optional[str] = pydantic.Field(default=None)
- """
- A tag identifying which release of the Prompt Deployment to run the Test Suite against. Useful for testing past versions of the Prompt Deployment
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config_request.py b/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config_request.py
deleted file mode 100644
index 5bd85d7a03..0000000000
--- a/src/vellum/client/types/test_suite_run_deployment_release_tag_exec_config_request.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_run_deployment_release_tag_exec_config_data_request import (
- TestSuiteRunDeploymentReleaseTagExecConfigDataRequest,
-)
-
-
-class TestSuiteRunDeploymentReleaseTagExecConfigRequest(UniversalBaseModel):
- """
- Execution configuration for running a Test Suite against a Prompt Deployment
- """
-
- type: typing.Literal["DEPLOYMENT_RELEASE_TAG"] = "DEPLOYMENT_RELEASE_TAG"
- data: TestSuiteRunDeploymentReleaseTagExecConfigDataRequest
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_exec_config.py b/src/vellum/client/types/test_suite_run_exec_config.py
deleted file mode 100644
index d332b1a314..0000000000
--- a/src/vellum/client/types/test_suite_run_exec_config.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .test_suite_run_deployment_release_tag_exec_config import TestSuiteRunDeploymentReleaseTagExecConfig
-from .test_suite_run_external_exec_config import TestSuiteRunExternalExecConfig
-from .test_suite_run_prompt_sandbox_history_item_exec_config import TestSuiteRunPromptSandboxHistoryItemExecConfig
-from .test_suite_run_workflow_release_tag_exec_config import TestSuiteRunWorkflowReleaseTagExecConfig
-from .test_suite_run_workflow_sandbox_history_item_exec_config import TestSuiteRunWorkflowSandboxHistoryItemExecConfig
-
-TestSuiteRunExecConfig = typing.Union[
- TestSuiteRunDeploymentReleaseTagExecConfig,
- TestSuiteRunPromptSandboxHistoryItemExecConfig,
- TestSuiteRunWorkflowReleaseTagExecConfig,
- TestSuiteRunWorkflowSandboxHistoryItemExecConfig,
- TestSuiteRunExternalExecConfig,
-]
diff --git a/src/vellum/client/types/test_suite_run_exec_config_request.py b/src/vellum/client/types/test_suite_run_exec_config_request.py
deleted file mode 100644
index 2c3239da5a..0000000000
--- a/src/vellum/client/types/test_suite_run_exec_config_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .test_suite_run_deployment_release_tag_exec_config_request import TestSuiteRunDeploymentReleaseTagExecConfigRequest
-from .test_suite_run_external_exec_config_request import TestSuiteRunExternalExecConfigRequest
-from .test_suite_run_prompt_sandbox_exec_config_request import TestSuiteRunPromptSandboxExecConfigRequest
-from .test_suite_run_prompt_sandbox_history_item_exec_config_request import (
- TestSuiteRunPromptSandboxHistoryItemExecConfigRequest,
-)
-from .test_suite_run_workflow_release_tag_exec_config_request import TestSuiteRunWorkflowReleaseTagExecConfigRequest
-from .test_suite_run_workflow_sandbox_exec_config_request import TestSuiteRunWorkflowSandboxExecConfigRequest
-from .test_suite_run_workflow_sandbox_history_item_exec_config_request import (
- TestSuiteRunWorkflowSandboxHistoryItemExecConfigRequest,
-)
-
-TestSuiteRunExecConfigRequest = typing.Union[
- TestSuiteRunDeploymentReleaseTagExecConfigRequest,
- TestSuiteRunPromptSandboxExecConfigRequest,
- TestSuiteRunPromptSandboxHistoryItemExecConfigRequest,
- TestSuiteRunWorkflowReleaseTagExecConfigRequest,
- TestSuiteRunWorkflowSandboxExecConfigRequest,
- TestSuiteRunWorkflowSandboxHistoryItemExecConfigRequest,
- TestSuiteRunExternalExecConfigRequest,
-]
diff --git a/src/vellum/client/types/test_suite_run_execution.py b/src/vellum/client/types/test_suite_run_execution.py
deleted file mode 100644
index 8c08e21cd3..0000000000
--- a/src/vellum/client/types/test_suite_run_execution.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .test_suite_run_execution_metric_result import TestSuiteRunExecutionMetricResult
-from .test_suite_run_execution_output import TestSuiteRunExecutionOutput
-
-
-class TestSuiteRunExecution(UniversalBaseModel):
- id: str
- test_case_id: str
- outputs: typing.List[TestSuiteRunExecutionOutput]
- metric_results: typing.List[TestSuiteRunExecutionMetricResult]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteRunExecution)
diff --git a/src/vellum/client/types/test_suite_run_execution_array_output.py b/src/vellum/client/types/test_suite_run_execution_array_output.py
deleted file mode 100644
index 80cd06373b..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_array_output.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class TestSuiteRunExecutionArrayOutput(UniversalBaseModel):
- """
- Execution output of an entity evaluated during a Test Suite Run that is of type ARRAY
- """
-
- name: str
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
- output_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteRunExecutionArrayOutput)
diff --git a/src/vellum/client/types/test_suite_run_execution_chat_history_output.py b/src/vellum/client/types/test_suite_run_execution_chat_history_output.py
deleted file mode 100644
index 4a6817e43e..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_chat_history_output.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class TestSuiteRunExecutionChatHistoryOutput(UniversalBaseModel):
- """
- Execution output of an entity evaluated during a Test Suite Run that is of type CHAT_HISTORY
- """
-
- name: str
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
- output_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_execution_error_output.py b/src/vellum/client/types/test_suite_run_execution_error_output.py
deleted file mode 100644
index 5e3adc3df9..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_error_output.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class TestSuiteRunExecutionErrorOutput(UniversalBaseModel):
- """
- Execution output of an entity evaluated during a Test Suite Run that is of type ERROR
- """
-
- name: str
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
- output_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_execution_function_call_output.py b/src/vellum/client/types/test_suite_run_execution_function_call_output.py
deleted file mode 100644
index c57a0b82ca..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_function_call_output.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class TestSuiteRunExecutionFunctionCallOutput(UniversalBaseModel):
- """
- Execution output of an entity evaluated during a Test Suite Run that is of type FUNCTION_CALL
- """
-
- name: str
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
- output_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_execution_json_output.py b/src/vellum/client/types/test_suite_run_execution_json_output.py
deleted file mode 100644
index 0f6eff5bd7..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_json_output.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunExecutionJsonOutput(UniversalBaseModel):
- """
- Execution output of an entity evaluated during a Test Suite Run that is of type JSON
- """
-
- name: str
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
- output_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_execution_metric_definition.py b/src/vellum/client/types/test_suite_run_execution_metric_definition.py
deleted file mode 100644
index 354c04e4a7..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_metric_definition.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunExecutionMetricDefinition(UniversalBaseModel):
- id: typing.Optional[str] = None
- label: typing.Optional[str] = None
- name: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_execution_metric_result.py b/src/vellum/client/types/test_suite_run_execution_metric_result.py
deleted file mode 100644
index cd52d11752..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_metric_result.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .test_suite_run_execution_metric_definition import TestSuiteRunExecutionMetricDefinition
-from .test_suite_run_metric_output import TestSuiteRunMetricOutput
-
-
-class TestSuiteRunExecutionMetricResult(UniversalBaseModel):
- metric_id: str
- outputs: typing.List[TestSuiteRunMetricOutput]
- metric_label: typing.Optional[str] = None
- metric_definition: typing.Optional[TestSuiteRunExecutionMetricDefinition] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteRunExecutionMetricResult)
diff --git a/src/vellum/client/types/test_suite_run_execution_number_output.py b/src/vellum/client/types/test_suite_run_execution_number_output.py
deleted file mode 100644
index ebc6ff63af..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_number_output.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunExecutionNumberOutput(UniversalBaseModel):
- """
- Execution output of an entity evaluated during a Test Suite Run that is of type NUMBER
- """
-
- name: str
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
- output_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_execution_output.py b/src/vellum/client/types/test_suite_run_execution_output.py
deleted file mode 100644
index 0d6cfeff9f..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_output.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .test_suite_run_execution_array_output import TestSuiteRunExecutionArrayOutput
-from .test_suite_run_execution_chat_history_output import TestSuiteRunExecutionChatHistoryOutput
-from .test_suite_run_execution_error_output import TestSuiteRunExecutionErrorOutput
-from .test_suite_run_execution_function_call_output import TestSuiteRunExecutionFunctionCallOutput
-from .test_suite_run_execution_json_output import TestSuiteRunExecutionJsonOutput
-from .test_suite_run_execution_number_output import TestSuiteRunExecutionNumberOutput
-from .test_suite_run_execution_search_results_output import TestSuiteRunExecutionSearchResultsOutput
-from .test_suite_run_execution_string_output import TestSuiteRunExecutionStringOutput
-
-TestSuiteRunExecutionOutput = typing.Union[
- TestSuiteRunExecutionStringOutput,
- TestSuiteRunExecutionNumberOutput,
- TestSuiteRunExecutionJsonOutput,
- TestSuiteRunExecutionChatHistoryOutput,
- TestSuiteRunExecutionSearchResultsOutput,
- TestSuiteRunExecutionErrorOutput,
- TestSuiteRunExecutionFunctionCallOutput,
- TestSuiteRunExecutionArrayOutput,
-]
diff --git a/src/vellum/client/types/test_suite_run_execution_search_results_output.py b/src/vellum/client/types/test_suite_run_execution_search_results_output.py
deleted file mode 100644
index 58361d0aae..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_search_results_output.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class TestSuiteRunExecutionSearchResultsOutput(UniversalBaseModel):
- """
- Execution output of an entity evaluated during a Test Suite Run that is of type SEARCH_RESULTS
- """
-
- name: str
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
- output_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_execution_string_output.py b/src/vellum/client/types/test_suite_run_execution_string_output.py
deleted file mode 100644
index 14ffe10e47..0000000000
--- a/src/vellum/client/types/test_suite_run_execution_string_output.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunExecutionStringOutput(UniversalBaseModel):
- """
- Execution output of an entity evaluated during a Test Suite Run that is of type STRING
- """
-
- name: str
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
- output_variable_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_external_exec_config.py b/src/vellum/client/types/test_suite_run_external_exec_config.py
deleted file mode 100644
index 57e7316cf1..0000000000
--- a/src/vellum/client/types/test_suite_run_external_exec_config.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .test_suite_run_external_exec_config_data import TestSuiteRunExternalExecConfigData
-
-
-class TestSuiteRunExternalExecConfig(UniversalBaseModel):
- """
- Execution configuration for running a Vellum Test Suite against an external callable
- """
-
- data: TestSuiteRunExternalExecConfigData
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- type: typing.Literal["EXTERNAL"] = "EXTERNAL"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteRunExternalExecConfig)
diff --git a/src/vellum/client/types/test_suite_run_external_exec_config_data.py b/src/vellum/client/types/test_suite_run_external_exec_config_data.py
deleted file mode 100644
index ac69faaf61..0000000000
--- a/src/vellum/client/types/test_suite_run_external_exec_config_data.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .external_test_case_execution import ExternalTestCaseExecution
-
-
-class TestSuiteRunExternalExecConfigData(UniversalBaseModel):
- executions: typing.List[ExternalTestCaseExecution] = pydantic.Field()
- """
- The executions of some callable external to Vellum whose outputs you would like to evaluate.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteRunExternalExecConfigData)
diff --git a/src/vellum/client/types/test_suite_run_external_exec_config_data_request.py b/src/vellum/client/types/test_suite_run_external_exec_config_data_request.py
deleted file mode 100644
index e965e240bb..0000000000
--- a/src/vellum/client/types/test_suite_run_external_exec_config_data_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .external_test_case_execution_request import ExternalTestCaseExecutionRequest
-
-
-class TestSuiteRunExternalExecConfigDataRequest(UniversalBaseModel):
- executions: typing.List[ExternalTestCaseExecutionRequest] = pydantic.Field()
- """
- The executions of some callable external to Vellum whose outputs you would like to evaluate.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteRunExternalExecConfigDataRequest)
diff --git a/src/vellum/client/types/test_suite_run_external_exec_config_request.py b/src/vellum/client/types/test_suite_run_external_exec_config_request.py
deleted file mode 100644
index aa9fa360b8..0000000000
--- a/src/vellum/client/types/test_suite_run_external_exec_config_request.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .test_suite_run_external_exec_config_data_request import TestSuiteRunExternalExecConfigDataRequest
-
-
-class TestSuiteRunExternalExecConfigRequest(UniversalBaseModel):
- """
- Execution configuration for running a Vellum Test Suite against an external callable
- """
-
- data: TestSuiteRunExternalExecConfigDataRequest
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- type: typing.Literal["EXTERNAL"] = "EXTERNAL"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteRunExternalExecConfigRequest)
diff --git a/src/vellum/client/types/test_suite_run_metric_array_output.py b/src/vellum/client/types/test_suite_run_metric_array_output.py
deleted file mode 100644
index d0db2fe96e..0000000000
--- a/src/vellum/client/types/test_suite_run_metric_array_output.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class TestSuiteRunMetricArrayOutput(UniversalBaseModel):
- """
- Output for a test suite run metric that is of type ARRAY
- """
-
- value: typing.Optional[typing.List["VellumValue"]] = None
- type: typing.Literal["ARRAY"] = "ARRAY"
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteRunMetricArrayOutput)
diff --git a/src/vellum/client/types/test_suite_run_metric_error_output.py b/src/vellum/client/types/test_suite_run_metric_error_output.py
deleted file mode 100644
index a86bc27e35..0000000000
--- a/src/vellum/client/types/test_suite_run_metric_error_output.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class TestSuiteRunMetricErrorOutput(UniversalBaseModel):
- """
- Output for a test suite run metric that is of type ERROR
- """
-
- value: VellumError
- type: typing.Literal["ERROR"] = "ERROR"
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_metric_json_output.py b/src/vellum/client/types/test_suite_run_metric_json_output.py
deleted file mode 100644
index ad18a77bf2..0000000000
--- a/src/vellum/client/types/test_suite_run_metric_json_output.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunMetricJsonOutput(UniversalBaseModel):
- """
- Output for a test suite run metric that is of type NUMBER
- """
-
- value: typing.Optional[typing.Any] = None
- type: typing.Literal["JSON"] = "JSON"
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_metric_number_output.py b/src/vellum/client/types/test_suite_run_metric_number_output.py
deleted file mode 100644
index f6a620f582..0000000000
--- a/src/vellum/client/types/test_suite_run_metric_number_output.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunMetricNumberOutput(UniversalBaseModel):
- """
- Output for a test suite run metric that is of type NUMBER
- """
-
- value: typing.Optional[float] = None
- type: typing.Literal["NUMBER"] = "NUMBER"
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_metric_output.py b/src/vellum/client/types/test_suite_run_metric_output.py
deleted file mode 100644
index 8bace42c84..0000000000
--- a/src/vellum/client/types/test_suite_run_metric_output.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .test_suite_run_metric_array_output import TestSuiteRunMetricArrayOutput
-from .test_suite_run_metric_error_output import TestSuiteRunMetricErrorOutput
-from .test_suite_run_metric_json_output import TestSuiteRunMetricJsonOutput
-from .test_suite_run_metric_number_output import TestSuiteRunMetricNumberOutput
-from .test_suite_run_metric_string_output import TestSuiteRunMetricStringOutput
-
-TestSuiteRunMetricOutput = typing.Union[
- TestSuiteRunMetricStringOutput,
- TestSuiteRunMetricNumberOutput,
- TestSuiteRunMetricJsonOutput,
- TestSuiteRunMetricErrorOutput,
- TestSuiteRunMetricArrayOutput,
-]
diff --git a/src/vellum/client/types/test_suite_run_metric_string_output.py b/src/vellum/client/types/test_suite_run_metric_string_output.py
deleted file mode 100644
index 73e6296e30..0000000000
--- a/src/vellum/client/types/test_suite_run_metric_string_output.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunMetricStringOutput(UniversalBaseModel):
- """
- Output for a test suite run metric that is of type STRING
- """
-
- value: typing.Optional[str] = None
- type: typing.Literal["STRING"] = "STRING"
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_progress.py b/src/vellum/client/types/test_suite_run_progress.py
deleted file mode 100644
index ddd2bfaf3a..0000000000
--- a/src/vellum/client/types/test_suite_run_progress.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunProgress(UniversalBaseModel):
- number_of_requested_test_cases: int
- number_of_completed_test_cases: int
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_prompt_sandbox_exec_config_data_request.py b/src/vellum/client/types/test_suite_run_prompt_sandbox_exec_config_data_request.py
deleted file mode 100644
index 36073c1ced..0000000000
--- a/src/vellum/client/types/test_suite_run_prompt_sandbox_exec_config_data_request.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunPromptSandboxExecConfigDataRequest(UniversalBaseModel):
- prompt_sandbox_id: str = pydantic.Field()
- """
- The ID of the Prompt Sandbox to run the Test Suite against.
- """
-
- prompt_variant_id: str = pydantic.Field()
- """
- The ID of the Prompt Variant within the Prompt Sandbox that you'd like to run the Test Suite against.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_prompt_sandbox_exec_config_request.py b/src/vellum/client/types/test_suite_run_prompt_sandbox_exec_config_request.py
deleted file mode 100644
index 2f26b30732..0000000000
--- a/src/vellum/client/types/test_suite_run_prompt_sandbox_exec_config_request.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_run_prompt_sandbox_exec_config_data_request import TestSuiteRunPromptSandboxExecConfigDataRequest
-
-
-class TestSuiteRunPromptSandboxExecConfigRequest(UniversalBaseModel):
- """
- Execution configuration for running a Test Suite against a Prompt Sandbox
- """
-
- type: typing.Literal["PROMPT_SANDBOX"] = "PROMPT_SANDBOX"
- data: TestSuiteRunPromptSandboxExecConfigDataRequest
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py b/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py
deleted file mode 100644
index e6a1ec094d..0000000000
--- a/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_run_prompt_sandbox_history_item_exec_config_data import (
- TestSuiteRunPromptSandboxHistoryItemExecConfigData,
-)
-
-
-class TestSuiteRunPromptSandboxHistoryItemExecConfig(UniversalBaseModel):
- """
- Execution configuration for running a Test Suite against a Prompt Sandbox History Item
- """
-
- type: typing.Literal["PROMPT_SANDBOX_HISTORY_ITEM"] = "PROMPT_SANDBOX_HISTORY_ITEM"
- data: TestSuiteRunPromptSandboxHistoryItemExecConfigData
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py b/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py
deleted file mode 100644
index 2bb6fae1a0..0000000000
--- a/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunPromptSandboxHistoryItemExecConfigData(UniversalBaseModel):
- history_item_id: str = pydantic.Field()
- """
- The ID of the Prompt Sandbox History Item that the Test Suite will run against.
- """
-
- prompt_variant_id: str = pydantic.Field()
- """
- The ID of the Prompt Variant within the Prompt Sandbox History Item that you'd like to run the Test Suite against.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py b/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py
deleted file mode 100644
index 3fba2694a5..0000000000
--- a/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunPromptSandboxHistoryItemExecConfigDataRequest(UniversalBaseModel):
- history_item_id: str = pydantic.Field()
- """
- The ID of the Prompt Sandbox History Item that the Test Suite will run against.
- """
-
- prompt_variant_id: str = pydantic.Field()
- """
- The ID of the Prompt Variant within the Prompt Sandbox History Item that you'd like to run the Test Suite against.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py b/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py
deleted file mode 100644
index 78753f22be..0000000000
--- a/src/vellum/client/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_run_prompt_sandbox_history_item_exec_config_data_request import (
- TestSuiteRunPromptSandboxHistoryItemExecConfigDataRequest,
-)
-
-
-class TestSuiteRunPromptSandboxHistoryItemExecConfigRequest(UniversalBaseModel):
- """
- Execution configuration for running a Test Suite against a Prompt Sandbox History Item
- """
-
- type: typing.Literal["PROMPT_SANDBOX_HISTORY_ITEM"] = "PROMPT_SANDBOX_HISTORY_ITEM"
- data: TestSuiteRunPromptSandboxHistoryItemExecConfigDataRequest
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_read.py b/src/vellum/client/types/test_suite_run_read.py
deleted file mode 100644
index 5c2ada16ef..0000000000
--- a/src/vellum/client/types/test_suite_run_read.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .test_suite_run_exec_config import TestSuiteRunExecConfig
-from .test_suite_run_progress import TestSuiteRunProgress
-from .test_suite_run_state import TestSuiteRunState
-from .test_suite_run_test_suite import TestSuiteRunTestSuite
-
-
-class TestSuiteRunRead(UniversalBaseModel):
- id: str
- created: dt.datetime
- test_suite: TestSuiteRunTestSuite
- state: TestSuiteRunState = pydantic.Field()
- """
- The current state of this run
-
- * `QUEUED` - Queued
- * `RUNNING` - Running
- * `COMPLETE` - Complete
- * `FAILED` - Failed
- * `CANCELLED` - Cancelled
- """
-
- exec_config: typing.Optional[TestSuiteRunExecConfig] = pydantic.Field(default=None)
- """
- Configuration that defines how the Test Suite should be run
- """
-
- progress: typing.Optional[TestSuiteRunProgress] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteRunRead)
diff --git a/src/vellum/client/types/test_suite_run_state.py b/src/vellum/client/types/test_suite_run_state.py
deleted file mode 100644
index 8de80455bd..0000000000
--- a/src/vellum/client/types/test_suite_run_state.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-TestSuiteRunState = typing.Union[typing.Literal["QUEUED", "RUNNING", "COMPLETE", "FAILED", "CANCELLED"], typing.Any]
diff --git a/src/vellum/client/types/test_suite_run_test_suite.py b/src/vellum/client/types/test_suite_run_test_suite.py
deleted file mode 100644
index 821940efd1..0000000000
--- a/src/vellum/client/types/test_suite_run_test_suite.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunTestSuite(UniversalBaseModel):
- id: str
- history_item_id: str
- label: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config.py b/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config.py
deleted file mode 100644
index a939c78856..0000000000
--- a/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_run_workflow_release_tag_exec_config_data import TestSuiteRunWorkflowReleaseTagExecConfigData
-
-
-class TestSuiteRunWorkflowReleaseTagExecConfig(UniversalBaseModel):
- """
- Execution configuration for running a Test Suite against a Workflow Deployment
- """
-
- type: typing.Literal["WORKFLOW_RELEASE_TAG"] = "WORKFLOW_RELEASE_TAG"
- data: TestSuiteRunWorkflowReleaseTagExecConfigData
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data.py b/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data.py
deleted file mode 100644
index 18b02006fd..0000000000
--- a/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunWorkflowReleaseTagExecConfigData(UniversalBaseModel):
- workflow_deployment_id: str = pydantic.Field()
- """
- The ID of the Workflow Deployment to run the Test Suite against.
- """
-
- tag: typing.Optional[str] = pydantic.Field(default=None)
- """
- A tag identifying which release of the Workflow Deployment to run the Test Suite against. Useful for testing past versions of the Workflow Deployment
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data_request.py b/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data_request.py
deleted file mode 100644
index fdb38b17c5..0000000000
--- a/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config_data_request.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunWorkflowReleaseTagExecConfigDataRequest(UniversalBaseModel):
- workflow_deployment_id: str = pydantic.Field()
- """
- The ID of the Workflow Deployment to run the Test Suite against.
- """
-
- tag: typing.Optional[str] = pydantic.Field(default=None)
- """
- A tag identifying which release of the Workflow Deployment to run the Test Suite against. Useful for testing past versions of the Workflow Deployment
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config_request.py b/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config_request.py
deleted file mode 100644
index 7f078a8ac3..0000000000
--- a/src/vellum/client/types/test_suite_run_workflow_release_tag_exec_config_request.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_run_workflow_release_tag_exec_config_data_request import (
- TestSuiteRunWorkflowReleaseTagExecConfigDataRequest,
-)
-
-
-class TestSuiteRunWorkflowReleaseTagExecConfigRequest(UniversalBaseModel):
- """
- Execution configuration for running a Test Suite against a Workflow Deployment
- """
-
- type: typing.Literal["WORKFLOW_RELEASE_TAG"] = "WORKFLOW_RELEASE_TAG"
- data: TestSuiteRunWorkflowReleaseTagExecConfigDataRequest
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_workflow_sandbox_exec_config_data_request.py b/src/vellum/client/types/test_suite_run_workflow_sandbox_exec_config_data_request.py
deleted file mode 100644
index b82c820868..0000000000
--- a/src/vellum/client/types/test_suite_run_workflow_sandbox_exec_config_data_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunWorkflowSandboxExecConfigDataRequest(UniversalBaseModel):
- workflow_sandbox_id: str = pydantic.Field()
- """
- The ID of the Workflow Sandbox to run the Test Suite against.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_workflow_sandbox_exec_config_request.py b/src/vellum/client/types/test_suite_run_workflow_sandbox_exec_config_request.py
deleted file mode 100644
index 21be5c82a4..0000000000
--- a/src/vellum/client/types/test_suite_run_workflow_sandbox_exec_config_request.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_run_workflow_sandbox_exec_config_data_request import TestSuiteRunWorkflowSandboxExecConfigDataRequest
-
-
-class TestSuiteRunWorkflowSandboxExecConfigRequest(UniversalBaseModel):
- """
- Execution configuration for running a Test Suite against a Workflow Sandbox
- """
-
- type: typing.Literal["WORKFLOW_SANDBOX"] = "WORKFLOW_SANDBOX"
- data: TestSuiteRunWorkflowSandboxExecConfigDataRequest
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config.py b/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config.py
deleted file mode 100644
index 11882bb7c1..0000000000
--- a/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_run_workflow_sandbox_history_item_exec_config_data import (
- TestSuiteRunWorkflowSandboxHistoryItemExecConfigData,
-)
-
-
-class TestSuiteRunWorkflowSandboxHistoryItemExecConfig(UniversalBaseModel):
- """
- Execution configuration for running a Test Suite against a Workflow Sandbox History Item
- """
-
- type: typing.Literal["WORKFLOW_SANDBOX_HISTORY_ITEM"] = "WORKFLOW_SANDBOX_HISTORY_ITEM"
- data: TestSuiteRunWorkflowSandboxHistoryItemExecConfigData
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py b/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py
deleted file mode 100644
index ea8d7f2528..0000000000
--- a/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunWorkflowSandboxHistoryItemExecConfigData(UniversalBaseModel):
- history_item_id: str = pydantic.Field()
- """
- The ID of the Workflow Sandbox History Item that the Test Suite will run against.
- """
-
- workflow_variant_id: str = pydantic.Field()
- """
- The ID of the Workflow Variant within the Workflow Sandbox History Item that you'd like to run the Test Suite against.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py b/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py
deleted file mode 100644
index 67f67fb0a6..0000000000
--- a/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteRunWorkflowSandboxHistoryItemExecConfigDataRequest(UniversalBaseModel):
- history_item_id: str = pydantic.Field()
- """
- The ID of the Workflow Sandbox History Item that the Test Suite will run against.
- """
-
- workflow_variant_id: str = pydantic.Field()
- """
- The ID of the Workflow Variant within the Workflow Sandbox History Item that you'd like to run the Test Suite against.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py b/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py
deleted file mode 100644
index 8dc53c9bd9..0000000000
--- a/src/vellum/client/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_run_workflow_sandbox_history_item_exec_config_data_request import (
- TestSuiteRunWorkflowSandboxHistoryItemExecConfigDataRequest,
-)
-
-
-class TestSuiteRunWorkflowSandboxHistoryItemExecConfigRequest(UniversalBaseModel):
- """
- Execution configuration for running a Test Suite against a Workflow Sandbox History Item
- """
-
- type: typing.Literal["WORKFLOW_SANDBOX_HISTORY_ITEM"] = "WORKFLOW_SANDBOX_HISTORY_ITEM"
- data: TestSuiteRunWorkflowSandboxHistoryItemExecConfigDataRequest
- test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
- """
- Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_test_case.py b/src/vellum/client/types/test_suite_test_case.py
deleted file mode 100644
index 0913cfbf27..0000000000
--- a/src/vellum/client/types/test_suite_test_case.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .test_case_variable_value import TestCaseVariableValue
-
-
-class TestSuiteTestCase(UniversalBaseModel):
- id: typing.Optional[str] = None
- external_id: typing.Optional[str] = None
- label: typing.Optional[str] = None
- input_values: typing.List[TestCaseVariableValue]
- evaluation_values: typing.List[TestCaseVariableValue]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteTestCase)
diff --git a/src/vellum/client/types/test_suite_test_case_bulk_operation_request.py b/src/vellum/client/types/test_suite_test_case_bulk_operation_request.py
deleted file mode 100644
index a41c4378ec..0000000000
--- a/src/vellum/client/types/test_suite_test_case_bulk_operation_request.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .test_suite_test_case_create_bulk_operation_request import TestSuiteTestCaseCreateBulkOperationRequest
-from .test_suite_test_case_delete_bulk_operation_request import TestSuiteTestCaseDeleteBulkOperationRequest
-from .test_suite_test_case_replace_bulk_operation_request import TestSuiteTestCaseReplaceBulkOperationRequest
-from .test_suite_test_case_upsert_bulk_operation_request import TestSuiteTestCaseUpsertBulkOperationRequest
-
-TestSuiteTestCaseBulkOperationRequest = typing.Union[
- TestSuiteTestCaseCreateBulkOperationRequest,
- TestSuiteTestCaseReplaceBulkOperationRequest,
- TestSuiteTestCaseUpsertBulkOperationRequest,
- TestSuiteTestCaseDeleteBulkOperationRequest,
-]
diff --git a/src/vellum/client/types/test_suite_test_case_bulk_result.py b/src/vellum/client/types/test_suite_test_case_bulk_result.py
deleted file mode 100644
index 98ea05b23c..0000000000
--- a/src/vellum/client/types/test_suite_test_case_bulk_result.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .test_suite_test_case_created_bulk_result import TestSuiteTestCaseCreatedBulkResult
-from .test_suite_test_case_deleted_bulk_result import TestSuiteTestCaseDeletedBulkResult
-from .test_suite_test_case_rejected_bulk_result import TestSuiteTestCaseRejectedBulkResult
-from .test_suite_test_case_replaced_bulk_result import TestSuiteTestCaseReplacedBulkResult
-
-TestSuiteTestCaseBulkResult = typing.Union[
- TestSuiteTestCaseCreatedBulkResult,
- TestSuiteTestCaseReplacedBulkResult,
- TestSuiteTestCaseDeletedBulkResult,
- TestSuiteTestCaseRejectedBulkResult,
-]
diff --git a/src/vellum/client/types/test_suite_test_case_create_bulk_operation_request.py b/src/vellum/client/types/test_suite_test_case_create_bulk_operation_request.py
deleted file mode 100644
index 875ccf7dff..0000000000
--- a/src/vellum/client/types/test_suite_test_case_create_bulk_operation_request.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .create_test_suite_test_case_request import CreateTestSuiteTestCaseRequest
-
-
-class TestSuiteTestCaseCreateBulkOperationRequest(UniversalBaseModel):
- """
- A bulk operation that represents the creation of a Test Case.
- """
-
- id: str = pydantic.Field()
- """
- An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
- """
-
- type: typing.Literal["CREATE"] = "CREATE"
- data: CreateTestSuiteTestCaseRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteTestCaseCreateBulkOperationRequest)
diff --git a/src/vellum/client/types/test_suite_test_case_created_bulk_result.py b/src/vellum/client/types/test_suite_test_case_created_bulk_result.py
deleted file mode 100644
index e7495451ab..0000000000
--- a/src/vellum/client/types/test_suite_test_case_created_bulk_result.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_test_case_created_bulk_result_data import TestSuiteTestCaseCreatedBulkResultData
-
-
-class TestSuiteTestCaseCreatedBulkResult(UniversalBaseModel):
- """
- The result of a bulk operation that created a Test Case.
- """
-
- id: str
- type: typing.Literal["CREATED"] = "CREATED"
- data: TestSuiteTestCaseCreatedBulkResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_test_case_created_bulk_result_data.py b/src/vellum/client/types/test_suite_test_case_created_bulk_result_data.py
deleted file mode 100644
index 303b92ac75..0000000000
--- a/src/vellum/client/types/test_suite_test_case_created_bulk_result_data.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteTestCaseCreatedBulkResultData(UniversalBaseModel):
- """
- Information about the Test Case that was created.
- """
-
- id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_test_case_delete_bulk_operation_data_request.py b/src/vellum/client/types/test_suite_test_case_delete_bulk_operation_data_request.py
deleted file mode 100644
index 5fcbd99913..0000000000
--- a/src/vellum/client/types/test_suite_test_case_delete_bulk_operation_data_request.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteTestCaseDeleteBulkOperationDataRequest(UniversalBaseModel):
- id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_test_case_delete_bulk_operation_request.py b/src/vellum/client/types/test_suite_test_case_delete_bulk_operation_request.py
deleted file mode 100644
index 5a9e604152..0000000000
--- a/src/vellum/client/types/test_suite_test_case_delete_bulk_operation_request.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_test_case_delete_bulk_operation_data_request import TestSuiteTestCaseDeleteBulkOperationDataRequest
-
-
-class TestSuiteTestCaseDeleteBulkOperationRequest(UniversalBaseModel):
- """
- A bulk operation that represents the deletion of a Test Case.
- """
-
- id: str = pydantic.Field()
- """
- An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
- """
-
- type: typing.Literal["DELETE"] = "DELETE"
- data: TestSuiteTestCaseDeleteBulkOperationDataRequest = pydantic.Field()
- """
- Information about the Test Case to delete
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_test_case_deleted_bulk_result.py b/src/vellum/client/types/test_suite_test_case_deleted_bulk_result.py
deleted file mode 100644
index 9404673c4f..0000000000
--- a/src/vellum/client/types/test_suite_test_case_deleted_bulk_result.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_test_case_deleted_bulk_result_data import TestSuiteTestCaseDeletedBulkResultData
-
-
-class TestSuiteTestCaseDeletedBulkResult(UniversalBaseModel):
- """
- The result of a bulk operation that deleted a Test Case.
- """
-
- id: str = pydantic.Field()
- """
- An ID that maps back to one of the initially supplied operations. Can be used to determine the result of a given operation.
- """
-
- type: typing.Literal["DELETED"] = "DELETED"
- data: TestSuiteTestCaseDeletedBulkResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_test_case_deleted_bulk_result_data.py b/src/vellum/client/types/test_suite_test_case_deleted_bulk_result_data.py
deleted file mode 100644
index 3a578e02e1..0000000000
--- a/src/vellum/client/types/test_suite_test_case_deleted_bulk_result_data.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteTestCaseDeletedBulkResultData(UniversalBaseModel):
- """
- Information about the Test Case that was deleted
- """
-
- id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_test_case_rejected_bulk_result.py b/src/vellum/client/types/test_suite_test_case_rejected_bulk_result.py
deleted file mode 100644
index 5d09c526f0..0000000000
--- a/src/vellum/client/types/test_suite_test_case_rejected_bulk_result.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteTestCaseRejectedBulkResult(UniversalBaseModel):
- """
- The result of a bulk operation that failed to operate on a Test Case.
- """
-
- id: typing.Optional[str] = pydantic.Field(default=None)
- """
- An ID that maps back to one of the initially supplied operations. Can be used to determine the result of a given operation.
- """
-
- type: typing.Literal["REJECTED"] = "REJECTED"
- data: typing.Dict[str, typing.Optional[typing.Any]] = pydantic.Field()
- """
- Details about the error that occurred
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_test_case_replace_bulk_operation_request.py b/src/vellum/client/types/test_suite_test_case_replace_bulk_operation_request.py
deleted file mode 100644
index ff52afbc0b..0000000000
--- a/src/vellum/client/types/test_suite_test_case_replace_bulk_operation_request.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .replace_test_suite_test_case_request import ReplaceTestSuiteTestCaseRequest
-
-
-class TestSuiteTestCaseReplaceBulkOperationRequest(UniversalBaseModel):
- """
- A bulk operation that represents the replacing of a Test Case.
- """
-
- id: str = pydantic.Field()
- """
- An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
- """
-
- type: typing.Literal["REPLACE"] = "REPLACE"
- data: ReplaceTestSuiteTestCaseRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteTestCaseReplaceBulkOperationRequest)
diff --git a/src/vellum/client/types/test_suite_test_case_replaced_bulk_result.py b/src/vellum/client/types/test_suite_test_case_replaced_bulk_result.py
deleted file mode 100644
index d0f4b9af31..0000000000
--- a/src/vellum/client/types/test_suite_test_case_replaced_bulk_result.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .test_suite_test_case_replaced_bulk_result_data import TestSuiteTestCaseReplacedBulkResultData
-
-
-class TestSuiteTestCaseReplacedBulkResult(UniversalBaseModel):
- """
- The result of a bulk operation that replaced a Test Case.
- """
-
- id: str = pydantic.Field()
- """
- An ID that maps back to one of the initially supplied operations. Can be used to determine the result of a given operation.
- """
-
- type: typing.Literal["REPLACED"] = "REPLACED"
- data: TestSuiteTestCaseReplacedBulkResultData
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_test_case_replaced_bulk_result_data.py b/src/vellum/client/types/test_suite_test_case_replaced_bulk_result_data.py
deleted file mode 100644
index 2df1c742b5..0000000000
--- a/src/vellum/client/types/test_suite_test_case_replaced_bulk_result_data.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TestSuiteTestCaseReplacedBulkResultData(UniversalBaseModel):
- """
- Information about the Test Case that was replaced
- """
-
- id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/test_suite_test_case_upsert_bulk_operation_request.py b/src/vellum/client/types/test_suite_test_case_upsert_bulk_operation_request.py
deleted file mode 100644
index 3db69dae4b..0000000000
--- a/src/vellum/client/types/test_suite_test_case_upsert_bulk_operation_request.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .upsert_test_suite_test_case_request import UpsertTestSuiteTestCaseRequest
-
-
-class TestSuiteTestCaseUpsertBulkOperationRequest(UniversalBaseModel):
- """
- A bulk operation that represents the upserting of a Test Case.
- """
-
- id: str = pydantic.Field()
- """
- An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
- """
-
- type: typing.Literal["UPSERT"] = "UPSERT"
- data: UpsertTestSuiteTestCaseRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(TestSuiteTestCaseUpsertBulkOperationRequest)
diff --git a/src/vellum/client/types/thinking_vellum_value.py b/src/vellum/client/types/thinking_vellum_value.py
deleted file mode 100644
index e96f4277c4..0000000000
--- a/src/vellum/client/types/thinking_vellum_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .string_vellum_value import StringVellumValue
-
-
-class ThinkingVellumValue(UniversalBaseModel):
- """
- A value representing Thinking mode output.
- """
-
- type: typing.Literal["THINKING"] = "THINKING"
- value: typing.Optional[StringVellumValue] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/thinking_vellum_value_request.py b/src/vellum/client/types/thinking_vellum_value_request.py
deleted file mode 100644
index f5f33ceb9f..0000000000
--- a/src/vellum/client/types/thinking_vellum_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .string_vellum_value_request import StringVellumValueRequest
-
-
-class ThinkingVellumValueRequest(UniversalBaseModel):
- """
- A value representing Thinking mode output.
- """
-
- type: typing.Literal["THINKING"] = "THINKING"
- value: typing.Optional[StringVellumValueRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/token_overlapping_window_chunker_config.py b/src/vellum/client/types/token_overlapping_window_chunker_config.py
deleted file mode 100644
index 1e54ceed8f..0000000000
--- a/src/vellum/client/types/token_overlapping_window_chunker_config.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TokenOverlappingWindowChunkerConfig(UniversalBaseModel):
- """
- Configuration for token overlapping window chunking
- """
-
- token_limit: typing.Optional[int] = None
- overlap_ratio: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/token_overlapping_window_chunker_config_request.py b/src/vellum/client/types/token_overlapping_window_chunker_config_request.py
deleted file mode 100644
index 7e1f161602..0000000000
--- a/src/vellum/client/types/token_overlapping_window_chunker_config_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class TokenOverlappingWindowChunkerConfigRequest(UniversalBaseModel):
- """
- Configuration for token overlapping window chunking
- """
-
- token_limit: typing.Optional[int] = None
- overlap_ratio: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/token_overlapping_window_chunking.py b/src/vellum/client/types/token_overlapping_window_chunking.py
deleted file mode 100644
index 7f71298f27..0000000000
--- a/src/vellum/client/types/token_overlapping_window_chunking.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .token_overlapping_window_chunker_config import TokenOverlappingWindowChunkerConfig
-
-
-class TokenOverlappingWindowChunking(UniversalBaseModel):
- """
- Token overlapping window chunking
- """
-
- chunker_name: typing.Literal["token-overlapping-window-chunker"] = "token-overlapping-window-chunker"
- chunker_config: typing.Optional[TokenOverlappingWindowChunkerConfig] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/token_overlapping_window_chunking_request.py b/src/vellum/client/types/token_overlapping_window_chunking_request.py
deleted file mode 100644
index 2c12f699b0..0000000000
--- a/src/vellum/client/types/token_overlapping_window_chunking_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .token_overlapping_window_chunker_config_request import TokenOverlappingWindowChunkerConfigRequest
-
-
-class TokenOverlappingWindowChunkingRequest(UniversalBaseModel):
- """
- Token overlapping window chunking
- """
-
- chunker_name: typing.Literal["token-overlapping-window-chunker"] = "token-overlapping-window-chunker"
- chunker_config: typing.Optional[TokenOverlappingWindowChunkerConfigRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/unit_enum.py b/src/vellum/client/types/unit_enum.py
deleted file mode 100644
index cf1e8005e6..0000000000
--- a/src/vellum/client/types/unit_enum.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-UnitEnum = typing.Literal["USD"]
diff --git a/src/vellum/client/types/update_active_workspace_response.py b/src/vellum/client/types/update_active_workspace_response.py
deleted file mode 100644
index ec4a692941..0000000000
--- a/src/vellum/client/types/update_active_workspace_response.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class UpdateActiveWorkspaceResponse(UniversalBaseModel):
- update_active_workspace_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The id of the workspace that the user should update to, or null if no workspace change needed.
- """
-
- update_active_environment_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The id of the environment that the user should update to, or null if no environment change needed.
- """
-
- is_staff: typing.Optional[bool] = pydantic.Field(default=None)
- """
- Whether or not the user is a staff member of Vellum.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/upload_document_response.py b/src/vellum/client/types/upload_document_response.py
deleted file mode 100644
index 98917d3bff..0000000000
--- a/src/vellum/client/types/upload_document_response.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class UploadDocumentResponse(UniversalBaseModel):
- document_id: str = pydantic.Field()
- """
- The ID of the newly created document.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/upsert_test_suite_test_case_request.py b/src/vellum/client/types/upsert_test_suite_test_case_request.py
deleted file mode 100644
index 2254b28f6b..0000000000
--- a/src/vellum/client/types/upsert_test_suite_test_case_request.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
-
-
-class UpsertTestSuiteTestCaseRequest(UniversalBaseModel):
- id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
- """
-
- external_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
- """
-
- label: typing.Optional[str] = pydantic.Field(default=None)
- """
- A human-readable label used to convey the intention of this Test Case
- """
-
- input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
- """
- Values for each of the Test Case's input variables
- """
-
- evaluation_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
- """
- Values for each of the Test Case's evaluation variables
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(UpsertTestSuiteTestCaseRequest)
diff --git a/src/vellum/client/types/variable_prompt_block.py b/src/vellum/client/types/variable_prompt_block.py
deleted file mode 100644
index 4ec7006b28..0000000000
--- a/src/vellum/client/types/variable_prompt_block.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from vellum.client.utils import convert_input_variable_to_uuid
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-
-
-class VariablePromptBlock(UniversalBaseModel):
- """
- A block that represents a variable in a prompt template.
- """
-
- block_type: typing.Literal["VARIABLE"] = "VARIABLE"
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- input_variable: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
- @pydantic.field_serializer("input_variable")
- def serialize_input_variable(self, value: str, info: pydantic.SerializationInfo) -> str:
- """Convert input_variable to UUID using executable_id from context."""
- return convert_input_variable_to_uuid(value, info)
diff --git a/src/vellum/client/types/vellum_audio.py b/src/vellum/client/types/vellum_audio.py
deleted file mode 100644
index afb0bf3cec..0000000000
--- a/src/vellum/client/types/vellum_audio.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumAudio(UniversalBaseModel):
- src: str = pydantic.Field()
- """
- A valid data URL containing the audio data.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_audio_request.py b/src/vellum/client/types/vellum_audio_request.py
deleted file mode 100644
index 8564faa9ab..0000000000
--- a/src/vellum/client/types/vellum_audio_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumAudioRequest(UniversalBaseModel):
- src: str = pydantic.Field()
- """
- A valid data URL containing the audio data.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_code_resource_definition.py b/src/vellum/client/types/vellum_code_resource_definition.py
deleted file mode 100644
index 1cad71da35..0000000000
--- a/src/vellum/client/types/vellum_code_resource_definition.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumCodeResourceDefinition(UniversalBaseModel):
- name: str
- module: typing.List[str] = pydantic.Field()
- """
- The module that this resource is defined in.
- """
-
- id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_document.py b/src/vellum/client/types/vellum_document.py
deleted file mode 100644
index f75b720ef4..0000000000
--- a/src/vellum/client/types/vellum_document.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumDocument(UniversalBaseModel):
- src: str = pydantic.Field()
- """
- A valid data URL containing the document data.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_document_request.py b/src/vellum/client/types/vellum_document_request.py
deleted file mode 100644
index 67d5238bfa..0000000000
--- a/src/vellum/client/types/vellum_document_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumDocumentRequest(UniversalBaseModel):
- src: str = pydantic.Field()
- """
- A valid data URL containing the document data.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_error.py b/src/vellum/client/types/vellum_error.py
deleted file mode 100644
index b0e39c0c02..0000000000
--- a/src/vellum/client/types/vellum_error.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error_code_enum import VellumErrorCodeEnum
-
-
-class VellumError(UniversalBaseModel):
- code: VellumErrorCodeEnum
- message: str
- raw_data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_error_code_enum.py b/src/vellum/client/types/vellum_error_code_enum.py
deleted file mode 100644
index 1c56b9102a..0000000000
--- a/src/vellum/client/types/vellum_error_code_enum.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-VellumErrorCodeEnum = typing.Union[
- typing.Literal[
- "INVALID_REQUEST",
- "INVALID_INPUTS",
- "PROVIDER_ERROR",
- "PROVIDER_CREDENTIALS_UNAVAILABLE",
- "INTEGRATION_CREDENTIALS_UNAVAILABLE",
- "REQUEST_TIMEOUT",
- "INTERNAL_SERVER_ERROR",
- "USER_DEFINED_ERROR",
- "WORKFLOW_CANCELLED",
- "NODE_CANCELLED",
- "PROVIDER_QUOTA_EXCEEDED",
- "CHAT_QUOTA_EXCEEDED",
- ],
- typing.Any,
-]
diff --git a/src/vellum/client/types/vellum_error_request.py b/src/vellum/client/types/vellum_error_request.py
deleted file mode 100644
index 7aac1d534e..0000000000
--- a/src/vellum/client/types/vellum_error_request.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error_code_enum import VellumErrorCodeEnum
-
-
-class VellumErrorRequest(UniversalBaseModel):
- code: VellumErrorCodeEnum
- message: str
- raw_data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_image.py b/src/vellum/client/types/vellum_image.py
deleted file mode 100644
index b891ba3454..0000000000
--- a/src/vellum/client/types/vellum_image.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumImage(UniversalBaseModel):
- src: str = pydantic.Field()
- """
- A valid data URL containing the image data.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_image_request.py b/src/vellum/client/types/vellum_image_request.py
deleted file mode 100644
index 7e3b4025e0..0000000000
--- a/src/vellum/client/types/vellum_image_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumImageRequest(UniversalBaseModel):
- src: str = pydantic.Field()
- """
- A valid data URL containing the image data.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_node_execution_event.py b/src/vellum/client/types/vellum_node_execution_event.py
deleted file mode 100644
index 86efc9c771..0000000000
--- a/src/vellum/client/types/vellum_node_execution_event.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .node_execution_fulfilled_event import NodeExecutionFulfilledEvent
-from .node_execution_initiated_event import NodeExecutionInitiatedEvent
-from .node_execution_paused_event import NodeExecutionPausedEvent
-from .node_execution_rejected_event import NodeExecutionRejectedEvent
-from .node_execution_resumed_event import NodeExecutionResumedEvent
-from .node_execution_streaming_event import NodeExecutionStreamingEvent
-
-VellumNodeExecutionEvent = typing.Union[
- NodeExecutionInitiatedEvent,
- NodeExecutionStreamingEvent,
- NodeExecutionFulfilledEvent,
- NodeExecutionRejectedEvent,
- NodeExecutionPausedEvent,
- NodeExecutionResumedEvent,
-]
diff --git a/src/vellum/client/types/vellum_sdk_error.py b/src/vellum/client/types/vellum_sdk_error.py
deleted file mode 100644
index a3ecf9dd57..0000000000
--- a/src/vellum/client/types/vellum_sdk_error.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_sdk_error_code_enum import VellumSdkErrorCodeEnum
-
-
-class VellumSdkError(UniversalBaseModel):
- message: str
- code: VellumSdkErrorCodeEnum
- raw_data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_sdk_error_code_enum.py b/src/vellum/client/types/vellum_sdk_error_code_enum.py
deleted file mode 100644
index d49bd26461..0000000000
--- a/src/vellum/client/types/vellum_sdk_error_code_enum.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-VellumSdkErrorCodeEnum = typing.Union[
- typing.Literal[
- "INVALID_WORKFLOW",
- "INVALID_INPUTS",
- "INVALID_OUTPUTS",
- "INVALID_STATE",
- "INVALID_CODE",
- "INVALID_TEMPLATE",
- "INTERNAL_ERROR",
- "PROVIDER_CREDENTIALS_UNAVAILABLE",
- "INTEGRATION_CREDENTIALS_UNAVAILABLE",
- "PROVIDER_ERROR",
- "PROVIDER_QUOTA_EXCEEDED",
- "USER_DEFINED_ERROR",
- "WORKFLOW_CANCELLED",
- "WORKFLOW_TIMEOUT",
- "NODE_CANCELLED",
- "NODE_TIMEOUT",
- "NODE_EXECUTION",
- ],
- typing.Any,
-]
diff --git a/src/vellum/client/types/vellum_secret.py b/src/vellum/client/types/vellum_secret.py
deleted file mode 100644
index 21622fa1b3..0000000000
--- a/src/vellum/client/types/vellum_secret.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumSecret(UniversalBaseModel):
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_span.py b/src/vellum/client/types/vellum_span.py
deleted file mode 100644
index f98393dfff..0000000000
--- a/src/vellum/client/types/vellum_span.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .node_execution_span import NodeExecutionSpan
-from .workflow_execution_span import WorkflowExecutionSpan
-
-VellumSpan = typing.Union[WorkflowExecutionSpan, NodeExecutionSpan]
diff --git a/src/vellum/client/types/vellum_value.py b/src/vellum/client/types/vellum_value.py
deleted file mode 100644
index 3dc45b50fd..0000000000
--- a/src/vellum/client/types/vellum_value.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-from .audio_vellum_value import AudioVellumValue
-from .chat_history_vellum_value import ChatHistoryVellumValue
-from .document_vellum_value import DocumentVellumValue
-from .error_vellum_value import ErrorVellumValue
-from .function_call_vellum_value import FunctionCallVellumValue
-from .image_vellum_value import ImageVellumValue
-from .json_vellum_value import JsonVellumValue
-from .number_vellum_value import NumberVellumValue
-from .search_results_vellum_value import SearchResultsVellumValue
-from .string_vellum_value import StringVellumValue
-from .thinking_vellum_value import ThinkingVellumValue
-from .video_vellum_value import VideoVellumValue
-
-if typing.TYPE_CHECKING:
- from .array_vellum_value import ArrayVellumValue
-VellumValue = typing.Union[
- StringVellumValue,
- NumberVellumValue,
- JsonVellumValue,
- AudioVellumValue,
- VideoVellumValue,
- ImageVellumValue,
- DocumentVellumValue,
- FunctionCallVellumValue,
- ErrorVellumValue,
- "ArrayVellumValue",
- ChatHistoryVellumValue,
- SearchResultsVellumValue,
- ThinkingVellumValue,
-]
diff --git a/src/vellum/client/types/vellum_value_logical_condition_group_request.py b/src/vellum/client/types/vellum_value_logical_condition_group_request.py
deleted file mode 100644
index 62ee55619d..0000000000
--- a/src/vellum/client/types/vellum_value_logical_condition_group_request.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .condition_combinator import ConditionCombinator
-
-
-class VellumValueLogicalConditionGroupRequest(UniversalBaseModel):
- """
- A higher-order condition that combines one or more basic conditions or other higher-order conditions.
- """
-
- type: typing.Literal["LOGICAL_CONDITION_GROUP"] = "LOGICAL_CONDITION_GROUP"
- conditions: typing.List["VellumValueLogicalExpressionRequest"]
- combinator: ConditionCombinator
- negated: bool
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-from .vellum_value_logical_expression_request import VellumValueLogicalExpressionRequest # noqa: E402, F401, I001
-
-update_forward_refs(VellumValueLogicalConditionGroupRequest)
diff --git a/src/vellum/client/types/vellum_value_logical_condition_request.py b/src/vellum/client/types/vellum_value_logical_condition_request.py
deleted file mode 100644
index a06562dfc9..0000000000
--- a/src/vellum/client/types/vellum_value_logical_condition_request.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .logical_operator import LogicalOperator
-
-
-class VellumValueLogicalConditionRequest(UniversalBaseModel):
- """
- A basic condition comparing two Vellum values.
- """
-
- type: typing.Literal["LOGICAL_CONDITION"] = "LOGICAL_CONDITION"
- lhs_variable: "VellumValueRequest"
- operator: LogicalOperator
- rhs_variable: "VellumValueRequest"
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
-from .vellum_value_request import VellumValueRequest # noqa: E402, F401, I001
-
-update_forward_refs(VellumValueLogicalConditionRequest)
diff --git a/src/vellum/client/types/vellum_value_logical_expression_request.py b/src/vellum/client/types/vellum_value_logical_expression_request.py
deleted file mode 100644
index 6cf718bea7..0000000000
--- a/src/vellum/client/types/vellum_value_logical_expression_request.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-from .vellum_value_logical_condition_request import VellumValueLogicalConditionRequest
-
-if typing.TYPE_CHECKING:
- from .vellum_value_logical_condition_group_request import VellumValueLogicalConditionGroupRequest
-VellumValueLogicalExpressionRequest = typing.Union[
- VellumValueLogicalConditionRequest, "VellumValueLogicalConditionGroupRequest"
-]
diff --git a/src/vellum/client/types/vellum_value_request.py b/src/vellum/client/types/vellum_value_request.py
deleted file mode 100644
index 884c53da56..0000000000
--- a/src/vellum/client/types/vellum_value_request.py
+++ /dev/null
@@ -1,36 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-from .audio_vellum_value_request import AudioVellumValueRequest
-from .chat_history_vellum_value_request import ChatHistoryVellumValueRequest
-from .document_vellum_value_request import DocumentVellumValueRequest
-from .error_vellum_value_request import ErrorVellumValueRequest
-from .function_call_vellum_value_request import FunctionCallVellumValueRequest
-from .image_vellum_value_request import ImageVellumValueRequest
-from .json_vellum_value_request import JsonVellumValueRequest
-from .number_vellum_value_request import NumberVellumValueRequest
-from .search_results_vellum_value_request import SearchResultsVellumValueRequest
-from .string_vellum_value_request import StringVellumValueRequest
-from .thinking_vellum_value_request import ThinkingVellumValueRequest
-from .video_vellum_value_request import VideoVellumValueRequest
-
-if typing.TYPE_CHECKING:
- from .array_vellum_value_request import ArrayVellumValueRequest
-VellumValueRequest = typing.Union[
- StringVellumValueRequest,
- NumberVellumValueRequest,
- JsonVellumValueRequest,
- AudioVellumValueRequest,
- VideoVellumValueRequest,
- ImageVellumValueRequest,
- DocumentVellumValueRequest,
- FunctionCallVellumValueRequest,
- ErrorVellumValueRequest,
- "ArrayVellumValueRequest",
- ChatHistoryVellumValueRequest,
- SearchResultsVellumValueRequest,
- ThinkingVellumValueRequest,
-]
diff --git a/src/vellum/client/types/vellum_variable.py b/src/vellum/client/types/vellum_variable.py
deleted file mode 100644
index e8bd8f57b7..0000000000
--- a/src/vellum/client/types/vellum_variable.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .vellum_variable_extensions import VellumVariableExtensions
-from .vellum_variable_type import VellumVariableType
-
-
-class VellumVariable(UniversalBaseModel):
- id: str
- key: str
- type: VellumVariableType
- required: typing.Optional[bool] = None
- default: typing.Optional["VellumValue"] = None
- extensions: typing.Optional[VellumVariableExtensions] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(VellumVariable)
diff --git a/src/vellum/client/types/vellum_variable_extensions.py b/src/vellum/client/types/vellum_variable_extensions.py
deleted file mode 100644
index 07168e235d..0000000000
--- a/src/vellum/client/types/vellum_variable_extensions.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumVariableExtensions(UniversalBaseModel):
- """
- A set of fields with additional properties for use in Vellum Variables.
- """
-
- color: typing.Optional[str] = None
- description: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_variable_type.py b/src/vellum/client/types/vellum_variable_type.py
deleted file mode 100644
index 6f88b197c6..0000000000
--- a/src/vellum/client/types/vellum_variable_type.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-VellumVariableType = typing.Union[
- typing.Literal[
- "STRING",
- "NUMBER",
- "JSON",
- "CHAT_HISTORY",
- "SEARCH_RESULTS",
- "ERROR",
- "ARRAY",
- "FUNCTION_CALL",
- "AUDIO",
- "VIDEO",
- "IMAGE",
- "DOCUMENT",
- "NULL",
- "THINKING",
- ],
- typing.Any,
-]
diff --git a/src/vellum/client/types/vellum_video.py b/src/vellum/client/types/vellum_video.py
deleted file mode 100644
index 3c41a059ca..0000000000
--- a/src/vellum/client/types/vellum_video.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumVideo(UniversalBaseModel):
- src: str = pydantic.Field()
- """
- A valid data URL containing the video data.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_video_request.py b/src/vellum/client/types/vellum_video_request.py
deleted file mode 100644
index 368554fc25..0000000000
--- a/src/vellum/client/types/vellum_video_request.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class VellumVideoRequest(UniversalBaseModel):
- src: str = pydantic.Field()
- """
- A valid data URL containing the video data.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/vellum_workflow_execution_event.py b/src/vellum/client/types/vellum_workflow_execution_event.py
deleted file mode 100644
index 9d738e6012..0000000000
--- a/src/vellum/client/types/vellum_workflow_execution_event.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .workflow_execution_fulfilled_event import WorkflowExecutionFulfilledEvent
-from .workflow_execution_initiated_event import WorkflowExecutionInitiatedEvent
-from .workflow_execution_paused_event import WorkflowExecutionPausedEvent
-from .workflow_execution_rejected_event import WorkflowExecutionRejectedEvent
-from .workflow_execution_resumed_event import WorkflowExecutionResumedEvent
-from .workflow_execution_snapshotted_event import WorkflowExecutionSnapshottedEvent
-from .workflow_execution_streaming_event import WorkflowExecutionStreamingEvent
-
-VellumWorkflowExecutionEvent = typing.Union[
- WorkflowExecutionInitiatedEvent,
- WorkflowExecutionStreamingEvent,
- WorkflowExecutionFulfilledEvent,
- WorkflowExecutionRejectedEvent,
- WorkflowExecutionPausedEvent,
- WorkflowExecutionResumedEvent,
- WorkflowExecutionSnapshottedEvent,
-]
diff --git a/src/vellum/client/types/video_chat_message_content.py b/src/vellum/client/types/video_chat_message_content.py
deleted file mode 100644
index 515cac340c..0000000000
--- a/src/vellum/client/types/video_chat_message_content.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video import VellumVideo
-
-
-class VideoChatMessageContent(UniversalBaseModel):
- """
- A video value that is used in a chat message.
- """
-
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: VellumVideo
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/video_chat_message_content_request.py b/src/vellum/client/types/video_chat_message_content_request.py
deleted file mode 100644
index 5c9ade695c..0000000000
--- a/src/vellum/client/types/video_chat_message_content_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video_request import VellumVideoRequest
-
-
-class VideoChatMessageContentRequest(UniversalBaseModel):
- """
- A video value that is used in a chat message.
- """
-
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: VellumVideoRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/video_input.py b/src/vellum/client/types/video_input.py
deleted file mode 100644
index 294275e079..0000000000
--- a/src/vellum/client/types/video_input.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video import VellumVideo
-
-
-class VideoInput(UniversalBaseModel):
- """
- A user input representing a Vellum Video value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: VellumVideo
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/video_input_request.py b/src/vellum/client/types/video_input_request.py
deleted file mode 100644
index dfa31f4cb1..0000000000
--- a/src/vellum/client/types/video_input_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video_request import VellumVideoRequest
-
-
-class VideoInputRequest(UniversalBaseModel):
- """
- A user input representing a Vellum Video value
- """
-
- name: str = pydantic.Field()
- """
- The variable's name
- """
-
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: VellumVideoRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/video_prompt_block.py b/src/vellum/client/types/video_prompt_block.py
deleted file mode 100644
index 9a62c8c98b..0000000000
--- a/src/vellum/client/types/video_prompt_block.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
-from .prompt_block_state import PromptBlockState
-
-
-class VideoPromptBlock(UniversalBaseModel):
- """
- A block that represents an video file in a prompt template.
- """
-
- block_type: typing.Literal["VIDEO"] = "VIDEO"
- state: typing.Optional[PromptBlockState] = None
- cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
- src: str
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/video_vellum_value.py b/src/vellum/client/types/video_vellum_value.py
deleted file mode 100644
index 2719b68dde..0000000000
--- a/src/vellum/client/types/video_vellum_value.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video import VellumVideo
-
-
-class VideoVellumValue(UniversalBaseModel):
- """
- A base Vellum primitive value representing a video.
- """
-
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: typing.Optional[VellumVideo] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/video_vellum_value_request.py b/src/vellum/client/types/video_vellum_value_request.py
deleted file mode 100644
index 7f20f903d4..0000000000
--- a/src/vellum/client/types/video_vellum_value_request.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video_request import VellumVideoRequest
-
-
-class VideoVellumValueRequest(UniversalBaseModel):
- """
- A base Vellum primitive value representing a video.
- """
-
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: typing.Optional[VellumVideoRequest] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_deployment_display_data.py b/src/vellum/client/types/workflow_deployment_display_data.py
deleted file mode 100644
index c787c289b6..0000000000
--- a/src/vellum/client/types/workflow_deployment_display_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_display_icon import WorkflowDisplayIcon
-
-
-class WorkflowDeploymentDisplayData(UniversalBaseModel):
- """
- Workflow Deployment display data
- """
-
- icon: typing.Optional[WorkflowDisplayIcon] = pydantic.Field(default=None)
- """
- The icon associated with this Workflow Deployment.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_deployment_event_executions_response.py b/src/vellum/client/types/workflow_deployment_event_executions_response.py
deleted file mode 100644
index 4412923e4c..0000000000
--- a/src/vellum/client/types/workflow_deployment_event_executions_response.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .slim_workflow_execution_read import SlimWorkflowExecutionRead
-
-
-class WorkflowDeploymentEventExecutionsResponse(UniversalBaseModel):
- count: int
- results: typing.List[SlimWorkflowExecutionRead]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowDeploymentEventExecutionsResponse)
diff --git a/src/vellum/client/types/workflow_deployment_history_item.py b/src/vellum/client/types/workflow_deployment_history_item.py
deleted file mode 100644
index d4eb0930d0..0000000000
--- a/src/vellum/client/types/workflow_deployment_history_item.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .vellum_variable import VellumVariable
-
-
-class WorkflowDeploymentHistoryItem(UniversalBaseModel):
- id: str
- workflow_deployment_id: str
- timestamp: dt.datetime
- label: str = pydantic.Field()
- """
- A human-readable label for the workflow deployment
- """
-
- name: str = pydantic.Field()
- """
- A name that uniquely identifies this workflow deployment within its workspace
- """
-
- input_variables: typing.List[VellumVariable]
- output_variables: typing.List[VellumVariable]
- description: typing.Optional[str] = pydantic.Field(default=None)
- """
- A human-readable description of the workflow deployment
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowDeploymentHistoryItem)
diff --git a/src/vellum/client/types/workflow_deployment_parent_context.py b/src/vellum/client/types/workflow_deployment_parent_context.py
deleted file mode 100644
index 33353eae51..0000000000
--- a/src/vellum/client/types/workflow_deployment_parent_context.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class WorkflowDeploymentParentContext(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- type: typing.Literal["WORKFLOW_RELEASE_TAG"] = "WORKFLOW_RELEASE_TAG"
- span_id: str
- deployment_id: str
- deployment_name: str
- deployment_history_item_id: str
- release_tag_id: str
- release_tag_name: str
- external_id: typing.Optional[str] = None
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
- workflow_version_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowDeploymentParentContext)
diff --git a/src/vellum/client/types/workflow_deployment_read.py b/src/vellum/client/types/workflow_deployment_read.py
deleted file mode 100644
index 62a5fdb7ef..0000000000
--- a/src/vellum/client/types/workflow_deployment_read.py
+++ /dev/null
@@ -1,84 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .entity_status import EntityStatus
-from .environment_enum import EnvironmentEnum
-from .vellum_variable import VellumVariable
-from .workflow_deployment_display_data import WorkflowDeploymentDisplayData
-
-
-class WorkflowDeploymentRead(UniversalBaseModel):
- """
- A Workflow Deployment's full details.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- A name that uniquely identifies this workflow deployment within its workspace
- """
-
- label: str = pydantic.Field()
- """
- A human-readable label for the workflow deployment
- """
-
- status: typing.Optional[EntityStatus] = pydantic.Field(default=None)
- """
- The current status of the workflow deployment
-
- * `ACTIVE` - Active
- * `ARCHIVED` - Archived
- """
-
- environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
- """
- Deprecated. The value returned will always be 'PRODUCTION'.
- """
-
- created: dt.datetime
- last_deployed_on: dt.datetime
- last_deployed_history_item_id: str = pydantic.Field()
- """
- The ID of the history item associated with this Workflow Deployment's LATEST Release Tag
- """
-
- input_variables: typing.List[VellumVariable] = pydantic.Field()
- """
- The input variables this Workflow Deployment expects to receive values for when it is executed.
- """
-
- output_variables: typing.List[VellumVariable] = pydantic.Field()
- """
- The output variables this Workflow Deployment produces values for when it's executed.
- """
-
- description: typing.Optional[str] = pydantic.Field(default=None)
- """
- A human-readable description of the workflow deployment
- """
-
- display_data: typing.Optional[WorkflowDeploymentDisplayData] = pydantic.Field(default=None)
- """
- Information used to display this Workflow Deployment.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowDeploymentRead)
diff --git a/src/vellum/client/types/workflow_deployment_release.py b/src/vellum/client/types/workflow_deployment_release.py
deleted file mode 100644
index 6d5ff02fe9..0000000000
--- a/src/vellum/client/types/workflow_deployment_release.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .release_created_by import ReleaseCreatedBy
-from .release_environment import ReleaseEnvironment
-from .release_release_tag import ReleaseReleaseTag
-from .slim_release_review import SlimReleaseReview
-from .workflow_deployment_release_workflow_deployment import WorkflowDeploymentReleaseWorkflowDeployment
-from .workflow_deployment_release_workflow_version import WorkflowDeploymentReleaseWorkflowVersion
-
-
-class WorkflowDeploymentRelease(UniversalBaseModel):
- id: str
- created: dt.datetime
- environment: ReleaseEnvironment
- created_by: typing.Optional[ReleaseCreatedBy] = None
- workflow_version: WorkflowDeploymentReleaseWorkflowVersion
- deployment: WorkflowDeploymentReleaseWorkflowDeployment
- description: typing.Optional[str] = None
- release_tags: typing.List[ReleaseReleaseTag]
- reviews: typing.List[SlimReleaseReview]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowDeploymentRelease)
diff --git a/src/vellum/client/types/workflow_deployment_release_workflow_deployment.py b/src/vellum/client/types/workflow_deployment_release_workflow_deployment.py
deleted file mode 100644
index 257d7bafb4..0000000000
--- a/src/vellum/client/types/workflow_deployment_release_workflow_deployment.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowDeploymentReleaseWorkflowDeployment(UniversalBaseModel):
- name: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_deployment_release_workflow_version.py b/src/vellum/client/types/workflow_deployment_release_workflow_version.py
deleted file mode 100644
index b2f9c67e7f..0000000000
--- a/src/vellum/client/types/workflow_deployment_release_workflow_version.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .vellum_variable import VellumVariable
-
-
-class WorkflowDeploymentReleaseWorkflowVersion(UniversalBaseModel):
- id: str
- input_variables: typing.List[VellumVariable]
- output_variables: typing.List[VellumVariable]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowDeploymentReleaseWorkflowVersion)
diff --git a/src/vellum/client/types/workflow_display_icon.py b/src/vellum/client/types/workflow_display_icon.py
deleted file mode 100644
index eabb7f471c..0000000000
--- a/src/vellum/client/types/workflow_display_icon.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowDisplayIcon(UniversalBaseModel):
- """
- Icon to be used alongside a Workflow
- """
-
- src: typing.Optional[str] = None
- color: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_error.py b/src/vellum/client/types/workflow_error.py
deleted file mode 100644
index 7ae5613637..0000000000
--- a/src/vellum/client/types/workflow_error.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .workflow_event_error import WorkflowEventError
-from .workflow_initialization_error import WorkflowInitializationError
-
-WorkflowError = typing.Union[WorkflowEventError, WorkflowInitializationError]
diff --git a/src/vellum/client/types/workflow_event.py b/src/vellum/client/types/workflow_event.py
deleted file mode 100644
index 11ebfde086..0000000000
--- a/src/vellum/client/types/workflow_event.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-from pydantic import Field
-
-from .node_execution_fulfilled_event import NodeExecutionFulfilledEvent
-from .node_execution_initiated_event import NodeExecutionInitiatedEvent
-from .node_execution_paused_event import NodeExecutionPausedEvent
-from .node_execution_rejected_event import NodeExecutionRejectedEvent
-from .node_execution_resumed_event import NodeExecutionResumedEvent
-from .node_execution_streaming_event import NodeExecutionStreamingEvent
-from .workflow_execution_fulfilled_event import WorkflowExecutionFulfilledEvent
-from .workflow_execution_initiated_event import WorkflowExecutionInitiatedEvent
-from .workflow_execution_paused_event import WorkflowExecutionPausedEvent
-from .workflow_execution_rejected_event import WorkflowExecutionRejectedEvent
-from .workflow_execution_resumed_event import WorkflowExecutionResumedEvent
-from .workflow_execution_snapshotted_event import WorkflowExecutionSnapshottedEvent
-from .workflow_execution_streaming_event import WorkflowExecutionStreamingEvent
-
-WorkflowEvent = typing.Annotated[
- typing.Union[
- NodeExecutionInitiatedEvent,
- NodeExecutionStreamingEvent,
- NodeExecutionFulfilledEvent,
- NodeExecutionRejectedEvent,
- NodeExecutionPausedEvent,
- NodeExecutionResumedEvent,
- WorkflowExecutionInitiatedEvent,
- WorkflowExecutionStreamingEvent,
- WorkflowExecutionRejectedEvent,
- WorkflowExecutionFulfilledEvent,
- WorkflowExecutionPausedEvent,
- WorkflowExecutionResumedEvent,
- WorkflowExecutionSnapshottedEvent,
- ],
- Field(discriminator="name")
-]
diff --git a/src/vellum/client/types/workflow_event_error.py b/src/vellum/client/types/workflow_event_error.py
deleted file mode 100644
index e21dadaf21..0000000000
--- a/src/vellum/client/types/workflow_event_error.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_execution_event_error_code import WorkflowExecutionEventErrorCode
-
-
-class WorkflowEventError(UniversalBaseModel):
- message: str
- code: WorkflowExecutionEventErrorCode
- raw_data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
- stacktrace: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_event_execution_read.py b/src/vellum/client/types/workflow_event_execution_read.py
deleted file mode 100644
index de9689e418..0000000000
--- a/src/vellum/client/types/workflow_event_execution_read.py
+++ /dev/null
@@ -1,54 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .execution_vellum_value import ExecutionVellumValue
-from .vellum_span import VellumSpan
-from .workflow_error import WorkflowError
-from .workflow_execution_actual import WorkflowExecutionActual
-from .workflow_execution_usage_result import WorkflowExecutionUsageResult
-from .workflow_execution_view_online_eval_metric_result import WorkflowExecutionViewOnlineEvalMetricResult
-
-
-class WorkflowEventExecutionRead(UniversalBaseModel):
- span_id: str
- start: dt.datetime
- end: typing.Optional[dt.datetime] = None
- inputs: typing.List[ExecutionVellumValue]
- outputs: typing.List[ExecutionVellumValue]
- error: typing.Optional[WorkflowError] = None
- usage_results: typing.Optional[typing.List[WorkflowExecutionUsageResult]] = None
- parent_context: typing.Optional["WorkflowDeploymentParentContext"] = None
- latest_actual: typing.Optional[WorkflowExecutionActual] = None
- metric_results: typing.List[WorkflowExecutionViewOnlineEvalMetricResult]
- spans: typing.List[VellumSpan]
- state: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowEventExecutionRead)
diff --git a/src/vellum/client/types/workflow_execution_actual.py b/src/vellum/client/types/workflow_execution_actual.py
deleted file mode 100644
index ecfcd82e4c..0000000000
--- a/src/vellum/client/types/workflow_execution_actual.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .execution_vellum_value import ExecutionVellumValue
-
-
-class WorkflowExecutionActual(UniversalBaseModel):
- output: ExecutionVellumValue
- timestamp: dt.datetime
- quality: typing.Optional[float] = None
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionActual)
diff --git a/src/vellum/client/types/workflow_execution_actual_chat_history_request.py b/src/vellum/client/types/workflow_execution_actual_chat_history_request.py
deleted file mode 100644
index 70d0d7a829..0000000000
--- a/src/vellum/client/types/workflow_execution_actual_chat_history_request.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message_request import ChatMessageRequest
-
-
-class WorkflowExecutionActualChatHistoryRequest(UniversalBaseModel):
- output_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Vellum-generated ID of a workflow output. Must provide either this or output_key. output_key is typically preferred.
- """
-
- output_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The user-defined name of a workflow output. Must provide either this or output_id. Should correspond to the `Name` specified in a Final Output Node. Generally preferred over output_id.
- """
-
- quality: typing.Optional[float] = pydantic.Field(default=None)
- """
- Optionally provide a decimal number between 0.0 and 1.0 (inclusive) representing the quality of the output. 0 is the worst, 1 is the best.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- Optionally provide additional metadata about the feedback submission.
- """
-
- timestamp: typing.Optional[float] = pydantic.Field(default=None)
- """
- Optionally provide the timestamp representing when this feedback was collected. Used for reporting purposes.
- """
-
- output_type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- desired_output_value: typing.Optional[typing.List[ChatMessageRequest]] = pydantic.Field(default=None)
- """
- Optionally provide the value that the output ideally should have been.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_actual_json_request.py b/src/vellum/client/types/workflow_execution_actual_json_request.py
deleted file mode 100644
index a93d064a2e..0000000000
--- a/src/vellum/client/types/workflow_execution_actual_json_request.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowExecutionActualJsonRequest(UniversalBaseModel):
- output_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Vellum-generated ID of a workflow output. Must provide either this or output_key. output_key is typically preferred.
- """
-
- output_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The user-defined name of a workflow output. Must provide either this or output_id. Should correspond to the `Name` specified in a Final Output Node. Generally preferred over output_id.
- """
-
- quality: typing.Optional[float] = pydantic.Field(default=None)
- """
- Optionally provide a decimal number between 0.0 and 1.0 (inclusive) representing the quality of the output. 0 is the worst, 1 is the best.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- Optionally provide additional metadata about the feedback submission.
- """
-
- timestamp: typing.Optional[float] = pydantic.Field(default=None)
- """
- Optionally provide the timestamp representing when this feedback was collected. Used for reporting purposes.
- """
-
- output_type: typing.Literal["JSON"] = "JSON"
- desired_output_value: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- Optionally provide the value that the output ideally should have been.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_actual_string_request.py b/src/vellum/client/types/workflow_execution_actual_string_request.py
deleted file mode 100644
index 471c1e79f9..0000000000
--- a/src/vellum/client/types/workflow_execution_actual_string_request.py
+++ /dev/null
@@ -1,48 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowExecutionActualStringRequest(UniversalBaseModel):
- output_id: typing.Optional[str] = pydantic.Field(default=None)
- """
- The Vellum-generated ID of a workflow output. Must provide either this or output_key. output_key is typically preferred.
- """
-
- output_key: typing.Optional[str] = pydantic.Field(default=None)
- """
- The user-defined name of a workflow output. Must provide either this or output_id. Should correspond to the `Name` specified in a Final Output Node. Generally preferred over output_id.
- """
-
- quality: typing.Optional[float] = pydantic.Field(default=None)
- """
- Optionally provide a decimal number between 0.0 and 1.0 (inclusive) representing the quality of the output. 0 is the worst, 1 is the best.
- """
-
- metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
- """
- Optionally provide additional metadata about the feedback submission.
- """
-
- timestamp: typing.Optional[float] = pydantic.Field(default=None)
- """
- Optionally provide the timestamp representing when this feedback was collected. Used for reporting purposes.
- """
-
- output_type: typing.Literal["STRING"] = "STRING"
- desired_output_value: typing.Optional[str] = pydantic.Field(default=None)
- """
- Optionally provide the value that the output ideally should have been.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_detail.py b/src/vellum/client/types/workflow_execution_detail.py
deleted file mode 100644
index c6cc3d910f..0000000000
--- a/src/vellum/client/types/workflow_execution_detail.py
+++ /dev/null
@@ -1,51 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .execution_vellum_value import ExecutionVellumValue
-from .vellum_span import VellumSpan
-from .workflow_error import WorkflowError
-from .workflow_execution_usage_result import WorkflowExecutionUsageResult
-
-
-class WorkflowExecutionDetail(UniversalBaseModel):
- span_id: str
- parent_context: typing.Optional["ParentContext"] = None
- start: dt.datetime
- end: typing.Optional[dt.datetime] = None
- inputs: typing.List[ExecutionVellumValue]
- outputs: typing.List[ExecutionVellumValue]
- error: typing.Optional[WorkflowError] = None
- usage_results: typing.Optional[typing.List[WorkflowExecutionUsageResult]] = None
- spans: typing.List[VellumSpan]
- state: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionDetail)
diff --git a/src/vellum/client/types/workflow_execution_event_error_code.py b/src/vellum/client/types/workflow_execution_event_error_code.py
deleted file mode 100644
index 83a0d36f18..0000000000
--- a/src/vellum/client/types/workflow_execution_event_error_code.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-WorkflowExecutionEventErrorCode = typing.Union[
- typing.Literal[
- "WORKFLOW_INITIALIZATION",
- "WORKFLOW_CANCELLED",
- "WORKFLOW_TIMEOUT",
- "PROVIDER_CREDENTIALS_UNAVAILABLE",
- "INTEGRATION_CREDENTIALS_UNAVAILABLE",
- "NODE_EXECUTION_COUNT_LIMIT_REACHED",
- "INTERNAL_SERVER_ERROR",
- "NODE_EXECUTION",
- "NODE_CANCELLED",
- "NODE_TIMEOUT",
- "LLM_PROVIDER",
- "INVALID_TEMPLATE",
- "INVALID_INPUTS",
- "PROVIDER_QUOTA_EXCEEDED",
- "USER_DEFINED_ERROR",
- ],
- typing.Any,
-]
diff --git a/src/vellum/client/types/workflow_execution_event_type.py b/src/vellum/client/types/workflow_execution_event_type.py
deleted file mode 100644
index 3b0bc50c84..0000000000
--- a/src/vellum/client/types/workflow_execution_event_type.py
+++ /dev/null
@@ -1,5 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-WorkflowExecutionEventType = typing.Union[typing.Literal["NODE", "WORKFLOW"], typing.Any]
diff --git a/src/vellum/client/types/workflow_execution_fulfilled_body.py b/src/vellum/client/types/workflow_execution_fulfilled_body.py
deleted file mode 100644
index 4be75f6170..0000000000
--- a/src/vellum/client/types/workflow_execution_fulfilled_body.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class WorkflowExecutionFulfilledBody(UniversalBaseModel):
- workflow_definition: VellumCodeResourceDefinition
- outputs: typing.Dict[str, typing.Optional[typing.Any]]
- final_state: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
- server_metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_fulfilled_event.py b/src/vellum/client/types/workflow_execution_fulfilled_event.py
deleted file mode 100644
index 752e7b4c1a..0000000000
--- a/src/vellum/client/types/workflow_execution_fulfilled_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .workflow_execution_fulfilled_body import WorkflowExecutionFulfilledBody
-
-
-class WorkflowExecutionFulfilledEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["workflow.execution.fulfilled"] = "workflow.execution.fulfilled"
- body: WorkflowExecutionFulfilledBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionFulfilledEvent)
diff --git a/src/vellum/client/types/workflow_execution_initiated_body.py b/src/vellum/client/types/workflow_execution_initiated_body.py
deleted file mode 100644
index 3f794ef796..0000000000
--- a/src/vellum/client/types/workflow_execution_initiated_body.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class WorkflowExecutionInitiatedBody(UniversalBaseModel):
- workflow_definition: VellumCodeResourceDefinition
- inputs: typing.Dict[str, typing.Optional[typing.Any]]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_initiated_event.py b/src/vellum/client/types/workflow_execution_initiated_event.py
deleted file mode 100644
index ff228c12ba..0000000000
--- a/src/vellum/client/types/workflow_execution_initiated_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .workflow_execution_initiated_body import WorkflowExecutionInitiatedBody
-
-
-class WorkflowExecutionInitiatedEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["workflow.execution.initiated"] = "workflow.execution.initiated"
- body: WorkflowExecutionInitiatedBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionInitiatedEvent)
diff --git a/src/vellum/client/types/workflow_execution_node_result_event.py b/src/vellum/client/types/workflow_execution_node_result_event.py
deleted file mode 100644
index bc1a81f672..0000000000
--- a/src/vellum/client/types/workflow_execution_node_result_event.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .workflow_node_result_event import WorkflowNodeResultEvent
-
-
-class WorkflowExecutionNodeResultEvent(UniversalBaseModel):
- """
- A NODE-level event emitted from the workflow's execution.
- """
-
- execution_id: str
- run_id: typing.Optional[str] = None
- external_id: typing.Optional[str] = None
- type: typing.Literal["NODE"] = "NODE"
- data: WorkflowNodeResultEvent
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionNodeResultEvent)
diff --git a/src/vellum/client/types/workflow_execution_paused_body.py b/src/vellum/client/types/workflow_execution_paused_body.py
deleted file mode 100644
index 336c7a529e..0000000000
--- a/src/vellum/client/types/workflow_execution_paused_body.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .external_input_descriptor import ExternalInputDescriptor
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class WorkflowExecutionPausedBody(UniversalBaseModel):
- workflow_definition: VellumCodeResourceDefinition
- external_inputs: typing.List[ExternalInputDescriptor]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_paused_event.py b/src/vellum/client/types/workflow_execution_paused_event.py
deleted file mode 100644
index a7821a099b..0000000000
--- a/src/vellum/client/types/workflow_execution_paused_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .workflow_execution_paused_body import WorkflowExecutionPausedBody
-
-
-class WorkflowExecutionPausedEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["workflow.execution.paused"] = "workflow.execution.paused"
- body: WorkflowExecutionPausedBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionPausedEvent)
diff --git a/src/vellum/client/types/workflow_execution_rejected_body.py b/src/vellum/client/types/workflow_execution_rejected_body.py
deleted file mode 100644
index 1bcb98798d..0000000000
--- a/src/vellum/client/types/workflow_execution_rejected_body.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-from .vellum_sdk_error import VellumSdkError
-
-
-class WorkflowExecutionRejectedBody(UniversalBaseModel):
- workflow_definition: VellumCodeResourceDefinition
- error: VellumSdkError
- stacktrace: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_rejected_event.py b/src/vellum/client/types/workflow_execution_rejected_event.py
deleted file mode 100644
index 8a92e835c2..0000000000
--- a/src/vellum/client/types/workflow_execution_rejected_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .workflow_execution_rejected_body import WorkflowExecutionRejectedBody
-
-
-class WorkflowExecutionRejectedEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["workflow.execution.rejected"] = "workflow.execution.rejected"
- body: WorkflowExecutionRejectedBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionRejectedEvent)
diff --git a/src/vellum/client/types/workflow_execution_resumed_body.py b/src/vellum/client/types/workflow_execution_resumed_body.py
deleted file mode 100644
index 87f9cdc6ac..0000000000
--- a/src/vellum/client/types/workflow_execution_resumed_body.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class WorkflowExecutionResumedBody(UniversalBaseModel):
- workflow_definition: VellumCodeResourceDefinition
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_resumed_event.py b/src/vellum/client/types/workflow_execution_resumed_event.py
deleted file mode 100644
index 235630d142..0000000000
--- a/src/vellum/client/types/workflow_execution_resumed_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .workflow_execution_resumed_body import WorkflowExecutionResumedBody
-
-
-class WorkflowExecutionResumedEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["workflow.execution.resumed"] = "workflow.execution.resumed"
- body: WorkflowExecutionResumedBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionResumedEvent)
diff --git a/src/vellum/client/types/workflow_execution_snapshotted_body.py b/src/vellum/client/types/workflow_execution_snapshotted_body.py
deleted file mode 100644
index da15c82a26..0000000000
--- a/src/vellum/client/types/workflow_execution_snapshotted_body.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class WorkflowExecutionSnapshottedBody(UniversalBaseModel):
- workflow_definition: VellumCodeResourceDefinition
- edited_by: typing.Optional[VellumCodeResourceDefinition] = None
- state: typing.Dict[str, typing.Optional[typing.Any]]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_snapshotted_event.py b/src/vellum/client/types/workflow_execution_snapshotted_event.py
deleted file mode 100644
index 0a233bc31a..0000000000
--- a/src/vellum/client/types/workflow_execution_snapshotted_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .workflow_execution_snapshotted_body import WorkflowExecutionSnapshottedBody
-
-
-class WorkflowExecutionSnapshottedEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["workflow.execution.snapshotted"] = "workflow.execution.snapshotted"
- body: WorkflowExecutionSnapshottedBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionSnapshottedEvent)
diff --git a/src/vellum/client/types/workflow_execution_span.py b/src/vellum/client/types/workflow_execution_span.py
deleted file mode 100644
index 564fd2594b..0000000000
--- a/src/vellum/client/types/workflow_execution_span.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .vellum_workflow_execution_event import VellumWorkflowExecutionEvent
-from .workflow_execution_span_attributes import WorkflowExecutionSpanAttributes
-from .workflow_execution_usage_calculation_fulfilled_body import WorkflowExecutionUsageCalculationFulfilledBody
-
-
-class WorkflowExecutionSpan(UniversalBaseModel):
- name: typing.Literal["workflow.execution"] = "workflow.execution"
- events: typing.List[VellumWorkflowExecutionEvent]
- attributes: WorkflowExecutionSpanAttributes
- usage_result: typing.Optional[WorkflowExecutionUsageCalculationFulfilledBody] = None
- span_id: str
- start_ts: dt.datetime
- end_ts: dt.datetime
- parent_span_id: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionSpan)
diff --git a/src/vellum/client/types/workflow_execution_span_attributes.py b/src/vellum/client/types/workflow_execution_span_attributes.py
deleted file mode 100644
index b5469acc21..0000000000
--- a/src/vellum/client/types/workflow_execution_span_attributes.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowExecutionSpanAttributes(UniversalBaseModel):
- label: str
- workflow_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_streaming_body.py b/src/vellum/client/types/workflow_execution_streaming_body.py
deleted file mode 100644
index 307ccfeda6..0000000000
--- a/src/vellum/client/types/workflow_execution_streaming_body.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .base_output import BaseOutput
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class WorkflowExecutionStreamingBody(UniversalBaseModel):
- workflow_definition: VellumCodeResourceDefinition
- output: BaseOutput
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_streaming_event.py b/src/vellum/client/types/workflow_execution_streaming_event.py
deleted file mode 100644
index abd4cd6883..0000000000
--- a/src/vellum/client/types/workflow_execution_streaming_event.py
+++ /dev/null
@@ -1,47 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .api_version_enum import ApiVersionEnum
-from .workflow_execution_streaming_body import WorkflowExecutionStreamingBody
-
-
-class WorkflowExecutionStreamingEvent(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- name: typing.Literal["workflow.execution.streaming"] = "workflow.execution.streaming"
- body: WorkflowExecutionStreamingBody
- id: str
- timestamp: dt.datetime
- api_version: typing.Optional[ApiVersionEnum] = None
- trace_id: str
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionStreamingEvent)
diff --git a/src/vellum/client/types/workflow_execution_usage_calculation_error.py b/src/vellum/client/types/workflow_execution_usage_calculation_error.py
deleted file mode 100644
index 8a40f057ce..0000000000
--- a/src/vellum/client/types/workflow_execution_usage_calculation_error.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_execution_usage_calculation_error_code_enum import WorkflowExecutionUsageCalculationErrorCodeEnum
-
-
-class WorkflowExecutionUsageCalculationError(UniversalBaseModel):
- code: WorkflowExecutionUsageCalculationErrorCodeEnum
- message: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_usage_calculation_error_code_enum.py b/src/vellum/client/types/workflow_execution_usage_calculation_error_code_enum.py
deleted file mode 100644
index da0c62cce5..0000000000
--- a/src/vellum/client/types/workflow_execution_usage_calculation_error_code_enum.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-WorkflowExecutionUsageCalculationErrorCodeEnum = typing.Union[
- typing.Literal["UNKNOWN", "DEPENDENCIES_FAILED", "NO_USAGE_CALCULATED", "INTERNAL_SERVER_ERROR"], typing.Any
-]
diff --git a/src/vellum/client/types/workflow_execution_usage_calculation_fulfilled_body.py b/src/vellum/client/types/workflow_execution_usage_calculation_fulfilled_body.py
deleted file mode 100644
index 53dda783df..0000000000
--- a/src/vellum/client/types/workflow_execution_usage_calculation_fulfilled_body.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ml_model_usage_wrapper import MlModelUsageWrapper
-from .price import Price
-
-
-class WorkflowExecutionUsageCalculationFulfilledBody(UniversalBaseModel):
- usage: typing.List[MlModelUsageWrapper]
- cost: typing.List[Price]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_usage_result.py b/src/vellum/client/types/workflow_execution_usage_result.py
deleted file mode 100644
index 100050e696..0000000000
--- a/src/vellum/client/types/workflow_execution_usage_result.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .ml_model_usage_wrapper import MlModelUsageWrapper
-from .price import Price
-from .workflow_execution_usage_calculation_error import WorkflowExecutionUsageCalculationError
-
-
-class WorkflowExecutionUsageResult(UniversalBaseModel):
- usage: typing.Optional[typing.List[MlModelUsageWrapper]] = None
- cost: typing.Optional[typing.List[Price]] = None
- error: typing.Optional[WorkflowExecutionUsageCalculationError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_execution_view_online_eval_metric_result.py b/src/vellum/client/types/workflow_execution_view_online_eval_metric_result.py
deleted file mode 100644
index 763380f0fd..0000000000
--- a/src/vellum/client/types/workflow_execution_view_online_eval_metric_result.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .execution_vellum_value import ExecutionVellumValue
-
-
-class WorkflowExecutionViewOnlineEvalMetricResult(UniversalBaseModel):
- outputs: typing.List[ExecutionVellumValue]
- label: str
- metric_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionViewOnlineEvalMetricResult)
diff --git a/src/vellum/client/types/workflow_execution_workflow_result_event.py b/src/vellum/client/types/workflow_execution_workflow_result_event.py
deleted file mode 100644
index 6459c8f8af..0000000000
--- a/src/vellum/client/types/workflow_execution_workflow_result_event.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .workflow_result_event import WorkflowResultEvent
-
-
-class WorkflowExecutionWorkflowResultEvent(UniversalBaseModel):
- """
- A WORKFLOW-level event emitted from the workflow's execution.
- """
-
- execution_id: str
- run_id: typing.Optional[str] = None
- external_id: typing.Optional[str] = None
- type: typing.Literal["WORKFLOW"] = "WORKFLOW"
- data: WorkflowResultEvent
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowExecutionWorkflowResultEvent)
diff --git a/src/vellum/client/types/workflow_expand_meta_request.py b/src/vellum/client/types/workflow_expand_meta_request.py
deleted file mode 100644
index 84517f8e4a..0000000000
--- a/src/vellum/client/types/workflow_expand_meta_request.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowExpandMetaRequest(UniversalBaseModel):
- usage: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the Prompt Node FULFILLED events will include model host usage tracking. This may increase latency for some model hosts.
- """
-
- cost: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the Prompt Node FULFILLED events will include model host cost tracking. This may increase latency for some model hosts.
- """
-
- model_name: typing.Optional[bool] = pydantic.Field(default=None)
- """
- If enabled, the Prompt Node FULFILLED events will include model host name
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_initialization_error.py b/src/vellum/client/types/workflow_initialization_error.py
deleted file mode 100644
index 165cf1c9ba..0000000000
--- a/src/vellum/client/types/workflow_initialization_error.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowInitializationError(UniversalBaseModel):
- """
- Workflow initialization error.
- """
-
- code: str
- message: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_input.py b/src/vellum/client/types/workflow_input.py
deleted file mode 100644
index 26547d637e..0000000000
--- a/src/vellum/client/types/workflow_input.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .array_input import ArrayInput
-from .audio_input import AudioInput
-from .chat_history_input import ChatHistoryInput
-from .document_input import DocumentInput
-from .error_input import ErrorInput
-from .function_call_input import FunctionCallInput
-from .image_input import ImageInput
-from .json_input import JsonInput
-from .number_input import NumberInput
-from .search_results_input import SearchResultsInput
-from .string_input import StringInput
-from .video_input import VideoInput
-
-WorkflowInput = typing.Union[
- StringInput,
- JsonInput,
- ChatHistoryInput,
- NumberInput,
- SearchResultsInput,
- ErrorInput,
- ArrayInput,
- FunctionCallInput,
- AudioInput,
- VideoInput,
- ImageInput,
- DocumentInput,
-]
diff --git a/src/vellum/client/types/workflow_node_result_data.py b/src/vellum/client/types/workflow_node_result_data.py
deleted file mode 100644
index e057c46507..0000000000
--- a/src/vellum/client/types/workflow_node_result_data.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .api_node_result import ApiNodeResult
-from .code_execution_node_result import CodeExecutionNodeResult
-from .conditional_node_result import ConditionalNodeResult
-from .map_node_result import MapNodeResult
-from .merge_node_result import MergeNodeResult
-from .metric_node_result import MetricNodeResult
-from .prompt_node_result import PromptNodeResult
-from .search_node_result import SearchNodeResult
-from .subworkflow_node_result import SubworkflowNodeResult
-from .templating_node_result import TemplatingNodeResult
-from .terminal_node_result import TerminalNodeResult
-
-WorkflowNodeResultData = typing.Union[
- PromptNodeResult,
- SearchNodeResult,
- TemplatingNodeResult,
- CodeExecutionNodeResult,
- ConditionalNodeResult,
- ApiNodeResult,
- TerminalNodeResult,
- MergeNodeResult,
- SubworkflowNodeResult,
- MetricNodeResult,
- MapNodeResult,
-]
diff --git a/src/vellum/client/types/workflow_node_result_event.py b/src/vellum/client/types/workflow_node_result_event.py
deleted file mode 100644
index 0edc26f094..0000000000
--- a/src/vellum/client/types/workflow_node_result_event.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .fulfilled_workflow_node_result_event import FulfilledWorkflowNodeResultEvent
-from .initiated_workflow_node_result_event import InitiatedWorkflowNodeResultEvent
-from .rejected_workflow_node_result_event import RejectedWorkflowNodeResultEvent
-from .streaming_workflow_node_result_event import StreamingWorkflowNodeResultEvent
-
-WorkflowNodeResultEvent = typing.Union[
- InitiatedWorkflowNodeResultEvent,
- StreamingWorkflowNodeResultEvent,
- FulfilledWorkflowNodeResultEvent,
- RejectedWorkflowNodeResultEvent,
-]
diff --git a/src/vellum/client/types/workflow_node_result_event_state.py b/src/vellum/client/types/workflow_node_result_event_state.py
deleted file mode 100644
index 24fc32b1f3..0000000000
--- a/src/vellum/client/types/workflow_node_result_event_state.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-WorkflowNodeResultEventState = typing.Union[
- typing.Literal["INITIATED", "STREAMING", "FULFILLED", "REJECTED"], typing.Any
-]
diff --git a/src/vellum/client/types/workflow_output.py b/src/vellum/client/types/workflow_output.py
deleted file mode 100644
index 2d38ea9532..0000000000
--- a/src/vellum/client/types/workflow_output.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .workflow_output_array import WorkflowOutputArray
-from .workflow_output_audio import WorkflowOutputAudio
-from .workflow_output_chat_history import WorkflowOutputChatHistory
-from .workflow_output_document import WorkflowOutputDocument
-from .workflow_output_error import WorkflowOutputError
-from .workflow_output_function_call import WorkflowOutputFunctionCall
-from .workflow_output_image import WorkflowOutputImage
-from .workflow_output_json import WorkflowOutputJson
-from .workflow_output_number import WorkflowOutputNumber
-from .workflow_output_search_results import WorkflowOutputSearchResults
-from .workflow_output_string import WorkflowOutputString
-from .workflow_output_video import WorkflowOutputVideo
-
-WorkflowOutput = typing.Union[
- WorkflowOutputString,
- WorkflowOutputNumber,
- WorkflowOutputJson,
- WorkflowOutputChatHistory,
- WorkflowOutputSearchResults,
- WorkflowOutputArray,
- WorkflowOutputError,
- WorkflowOutputFunctionCall,
- WorkflowOutputImage,
- WorkflowOutputAudio,
- WorkflowOutputVideo,
- WorkflowOutputDocument,
-]
diff --git a/src/vellum/client/types/workflow_output_array.py b/src/vellum/client/types/workflow_output_array.py
deleted file mode 100644
index 920499fcf9..0000000000
--- a/src/vellum/client/types/workflow_output_array.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class WorkflowOutputArray(UniversalBaseModel):
- """
- An array output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowOutputArray)
diff --git a/src/vellum/client/types/workflow_output_audio.py b/src/vellum/client/types/workflow_output_audio.py
deleted file mode 100644
index e578741b56..0000000000
--- a/src/vellum/client/types/workflow_output_audio.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio import VellumAudio
-
-
-class WorkflowOutputAudio(UniversalBaseModel):
- """
- An audio output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: typing.Optional[VellumAudio] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_output_chat_history.py b/src/vellum/client/types/workflow_output_chat_history.py
deleted file mode 100644
index e25ebd6186..0000000000
--- a/src/vellum/client/types/workflow_output_chat_history.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-
-
-class WorkflowOutputChatHistory(UniversalBaseModel):
- """
- A chat history output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_output_document.py b/src/vellum/client/types/workflow_output_document.py
deleted file mode 100644
index 6cc37a6b15..0000000000
--- a/src/vellum/client/types/workflow_output_document.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document import VellumDocument
-
-
-class WorkflowOutputDocument(UniversalBaseModel):
- """
- A document output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: typing.Optional[VellumDocument] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_output_error.py b/src/vellum/client/types/workflow_output_error.py
deleted file mode 100644
index 74c33198f5..0000000000
--- a/src/vellum/client/types/workflow_output_error.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-
-
-class WorkflowOutputError(UniversalBaseModel):
- """
- An error output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_output_function_call.py b/src/vellum/client/types/workflow_output_function_call.py
deleted file mode 100644
index c558e1e0d0..0000000000
--- a/src/vellum/client/types/workflow_output_function_call.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-
-
-class WorkflowOutputFunctionCall(UniversalBaseModel):
- """
- A function call output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_output_image.py b/src/vellum/client/types/workflow_output_image.py
deleted file mode 100644
index 0977c8f679..0000000000
--- a/src/vellum/client/types/workflow_output_image.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image import VellumImage
-
-
-class WorkflowOutputImage(UniversalBaseModel):
- """
- An image output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: typing.Optional[VellumImage] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_output_json.py b/src/vellum/client/types/workflow_output_json.py
deleted file mode 100644
index 3377c76f7f..0000000000
--- a/src/vellum/client/types/workflow_output_json.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowOutputJson(UniversalBaseModel):
- """
- A JSON output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_output_number.py b/src/vellum/client/types/workflow_output_number.py
deleted file mode 100644
index 99448b8d6d..0000000000
--- a/src/vellum/client/types/workflow_output_number.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowOutputNumber(UniversalBaseModel):
- """
- A number output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_output_search_results.py b/src/vellum/client/types/workflow_output_search_results.py
deleted file mode 100644
index ba9c96db2b..0000000000
--- a/src/vellum/client/types/workflow_output_search_results.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-
-
-class WorkflowOutputSearchResults(UniversalBaseModel):
- """
- A search results output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_output_string.py b/src/vellum/client/types/workflow_output_string.py
deleted file mode 100644
index 21c13969b0..0000000000
--- a/src/vellum/client/types/workflow_output_string.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowOutputString(UniversalBaseModel):
- """
- A string output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_output_video.py b/src/vellum/client/types/workflow_output_video.py
deleted file mode 100644
index e6f735daed..0000000000
--- a/src/vellum/client/types/workflow_output_video.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video import VellumVideo
-
-
-class WorkflowOutputVideo(UniversalBaseModel):
- """
- A video output from a Workflow execution.
- """
-
- id: str
- name: str = pydantic.Field()
- """
- The output's name, as defined in the workflow
- """
-
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: typing.Optional[VellumVideo] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_parent_context.py b/src/vellum/client/types/workflow_parent_context.py
deleted file mode 100644
index a0fcb7b376..0000000000
--- a/src/vellum/client/types/workflow_parent_context.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .vellum_code_resource_definition import VellumCodeResourceDefinition
-
-
-class WorkflowParentContext(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- workflow_definition: VellumCodeResourceDefinition
- type: typing.Literal["WORKFLOW"] = "WORKFLOW"
- span_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowParentContext)
diff --git a/src/vellum/client/types/workflow_push_deployment_config_request.py b/src/vellum/client/types/workflow_push_deployment_config_request.py
deleted file mode 100644
index 2a6b7c4bf4..0000000000
--- a/src/vellum/client/types/workflow_push_deployment_config_request.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowPushDeploymentConfigRequest(UniversalBaseModel):
- label: typing.Optional[str] = None
- name: typing.Optional[str] = None
- description: typing.Optional[str] = None
- release_tags: typing.Optional[typing.List[str]] = None
- release_description: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_push_exec_config.py b/src/vellum/client/types/workflow_push_exec_config.py
deleted file mode 100644
index 7ea9958c38..0000000000
--- a/src/vellum/client/types/workflow_push_exec_config.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-WorkflowPushExecConfig = str
diff --git a/src/vellum/client/types/workflow_push_response.py b/src/vellum/client/types/workflow_push_response.py
deleted file mode 100644
index 443248ed87..0000000000
--- a/src/vellum/client/types/workflow_push_response.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowPushResponse(UniversalBaseModel):
- workflow_sandbox_id: str
- workflow_deployment_id: typing.Optional[str] = None
- proposed_diffs: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_release_tag_read.py b/src/vellum/client/types/workflow_release_tag_read.py
deleted file mode 100644
index 19e6d383cc..0000000000
--- a/src/vellum/client/types/workflow_release_tag_read.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .release_tag_release import ReleaseTagRelease
-from .release_tag_source import ReleaseTagSource
-from .workflow_release_tag_workflow_deployment_history_item import WorkflowReleaseTagWorkflowDeploymentHistoryItem
-
-
-class WorkflowReleaseTagRead(UniversalBaseModel):
- name: str = pydantic.Field()
- """
- The name of the Release Tag
- """
-
- source: ReleaseTagSource = pydantic.Field()
- """
- The source of how the Release Tag was originally created
-
- * `SYSTEM` - System
- * `USER` - User
- """
-
- history_item: WorkflowReleaseTagWorkflowDeploymentHistoryItem = pydantic.Field()
- """
- Deprecated. Reference the `release` field instead.
- """
-
- release: ReleaseTagRelease = pydantic.Field()
- """
- The Release that this Release Tag points to.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_release_tag_workflow_deployment_history_item.py b/src/vellum/client/types/workflow_release_tag_workflow_deployment_history_item.py
deleted file mode 100644
index 6ed94e8633..0000000000
--- a/src/vellum/client/types/workflow_release_tag_workflow_deployment_history_item.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowReleaseTagWorkflowDeploymentHistoryItem(UniversalBaseModel):
- id: str
- timestamp: dt.datetime
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_request_audio_input_request.py b/src/vellum/client/types/workflow_request_audio_input_request.py
deleted file mode 100644
index 93fb14eccf..0000000000
--- a/src/vellum/client/types/workflow_request_audio_input_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_audio_request import VellumAudioRequest
-
-
-class WorkflowRequestAudioInputRequest(UniversalBaseModel):
- """
- The input for an audio variable in a Workflow.
- """
-
- name: str = pydantic.Field()
- """
- The variable's name, as defined in the Workflow.
- """
-
- type: typing.Literal["AUDIO"] = "AUDIO"
- value: VellumAudioRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_request_chat_history_input_request.py b/src/vellum/client/types/workflow_request_chat_history_input_request.py
deleted file mode 100644
index 2749b8f25b..0000000000
--- a/src/vellum/client/types/workflow_request_chat_history_input_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message_request import ChatMessageRequest
-
-
-class WorkflowRequestChatHistoryInputRequest(UniversalBaseModel):
- """
- The input for a chat history variable in a Workflow.
- """
-
- name: str = pydantic.Field()
- """
- The variable's name, as defined in the Workflow.
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.List[ChatMessageRequest]
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_request_document_input_request.py b/src/vellum/client/types/workflow_request_document_input_request.py
deleted file mode 100644
index c1dfd6e7cd..0000000000
--- a/src/vellum/client/types/workflow_request_document_input_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_document_request import VellumDocumentRequest
-
-
-class WorkflowRequestDocumentInputRequest(UniversalBaseModel):
- """
- The input for a document variable in a Workflow.
- """
-
- name: str = pydantic.Field()
- """
- The variable's name, as defined in the Workflow.
- """
-
- type: typing.Literal["DOCUMENT"] = "DOCUMENT"
- value: VellumDocumentRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_request_image_input_request.py b/src/vellum/client/types/workflow_request_image_input_request.py
deleted file mode 100644
index 942454262d..0000000000
--- a/src/vellum/client/types/workflow_request_image_input_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_image_request import VellumImageRequest
-
-
-class WorkflowRequestImageInputRequest(UniversalBaseModel):
- """
- The input for an image variable in a Workflow.
- """
-
- name: str = pydantic.Field()
- """
- The variable's name, as defined in the Workflow.
- """
-
- type: typing.Literal["IMAGE"] = "IMAGE"
- value: VellumImageRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_request_input_request.py b/src/vellum/client/types/workflow_request_input_request.py
deleted file mode 100644
index 9081643388..0000000000
--- a/src/vellum/client/types/workflow_request_input_request.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .workflow_request_audio_input_request import WorkflowRequestAudioInputRequest
-from .workflow_request_chat_history_input_request import WorkflowRequestChatHistoryInputRequest
-from .workflow_request_document_input_request import WorkflowRequestDocumentInputRequest
-from .workflow_request_image_input_request import WorkflowRequestImageInputRequest
-from .workflow_request_json_input_request import WorkflowRequestJsonInputRequest
-from .workflow_request_number_input_request import WorkflowRequestNumberInputRequest
-from .workflow_request_string_input_request import WorkflowRequestStringInputRequest
-from .workflow_request_video_input_request import WorkflowRequestVideoInputRequest
-
-WorkflowRequestInputRequest = typing.Union[
- WorkflowRequestStringInputRequest,
- WorkflowRequestJsonInputRequest,
- WorkflowRequestChatHistoryInputRequest,
- WorkflowRequestNumberInputRequest,
- WorkflowRequestAudioInputRequest,
- WorkflowRequestVideoInputRequest,
- WorkflowRequestImageInputRequest,
- WorkflowRequestDocumentInputRequest,
-]
diff --git a/src/vellum/client/types/workflow_request_json_input_request.py b/src/vellum/client/types/workflow_request_json_input_request.py
deleted file mode 100644
index cc7b97ae04..0000000000
--- a/src/vellum/client/types/workflow_request_json_input_request.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowRequestJsonInputRequest(UniversalBaseModel):
- """
- The input for a JSON variable in a Workflow.
- """
-
- name: str = pydantic.Field()
- """
- The variable's name, as defined in the Workflow.
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_request_number_input_request.py b/src/vellum/client/types/workflow_request_number_input_request.py
deleted file mode 100644
index 8ba3386d49..0000000000
--- a/src/vellum/client/types/workflow_request_number_input_request.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowRequestNumberInputRequest(UniversalBaseModel):
- """
- The input for a number variable in a Workflow.
- """
-
- name: str = pydantic.Field()
- """
- The variable's name, as defined in the Workflow.
- """
-
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: float
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_request_string_input_request.py b/src/vellum/client/types/workflow_request_string_input_request.py
deleted file mode 100644
index 8134195bab..0000000000
--- a/src/vellum/client/types/workflow_request_string_input_request.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowRequestStringInputRequest(UniversalBaseModel):
- """
- The input for a string variable in a Workflow.
- """
-
- name: str = pydantic.Field()
- """
- The variable's name, as defined in the Workflow.
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_request_video_input_request.py b/src/vellum/client/types/workflow_request_video_input_request.py
deleted file mode 100644
index 88f24e3d31..0000000000
--- a/src/vellum/client/types/workflow_request_video_input_request.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_video_request import VellumVideoRequest
-
-
-class WorkflowRequestVideoInputRequest(UniversalBaseModel):
- """
- The input for a video variable in a Workflow.
- """
-
- name: str = pydantic.Field()
- """
- The variable's name, as defined in the Workflow.
- """
-
- type: typing.Literal["VIDEO"] = "VIDEO"
- value: VellumVideoRequest
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_resolved_state.py b/src/vellum/client/types/workflow_resolved_state.py
deleted file mode 100644
index f1dde59236..0000000000
--- a/src/vellum/client/types/workflow_resolved_state.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowResolvedState(UniversalBaseModel):
- """
- The latest execution state of a given Workflow Execution
- """
-
- trace_id: str
- timestamp: dt.datetime
- span_id: str
- state: typing.Dict[str, typing.Optional[typing.Any]]
- previous_span_id: typing.Optional[str] = None
- previous_trace_id: typing.Optional[str] = None
- root_span_id: typing.Optional[str] = None
- root_trace_id: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_result_event.py b/src/vellum/client/types/workflow_result_event.py
deleted file mode 100644
index 21e5e6c39e..0000000000
--- a/src/vellum/client/types/workflow_result_event.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .execution_vellum_value import ExecutionVellumValue
-from .workflow_event_error import WorkflowEventError
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-from .workflow_output import WorkflowOutput
-from .workflow_result_event_output_data import WorkflowResultEventOutputData
-
-
-class WorkflowResultEvent(UniversalBaseModel):
- id: str
- state: WorkflowNodeResultEventState
- ts: dt.datetime
- output: typing.Optional[WorkflowResultEventOutputData] = None
- error: typing.Optional[WorkflowEventError] = None
- outputs: typing.Optional[typing.List[WorkflowOutput]] = None
- inputs: typing.Optional[typing.List[ExecutionVellumValue]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowResultEvent)
diff --git a/src/vellum/client/types/workflow_result_event_output_data.py b/src/vellum/client/types/workflow_result_event_output_data.py
deleted file mode 100644
index 6f0cce3799..0000000000
--- a/src/vellum/client/types/workflow_result_event_output_data.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .workflow_result_event_output_data_array import WorkflowResultEventOutputDataArray
-from .workflow_result_event_output_data_chat_history import WorkflowResultEventOutputDataChatHistory
-from .workflow_result_event_output_data_error import WorkflowResultEventOutputDataError
-from .workflow_result_event_output_data_function_call import WorkflowResultEventOutputDataFunctionCall
-from .workflow_result_event_output_data_json import WorkflowResultEventOutputDataJson
-from .workflow_result_event_output_data_number import WorkflowResultEventOutputDataNumber
-from .workflow_result_event_output_data_search_results import WorkflowResultEventOutputDataSearchResults
-from .workflow_result_event_output_data_string import WorkflowResultEventOutputDataString
-
-WorkflowResultEventOutputData = typing.Union[
- WorkflowResultEventOutputDataString,
- WorkflowResultEventOutputDataNumber,
- WorkflowResultEventOutputDataJson,
- WorkflowResultEventOutputDataChatHistory,
- WorkflowResultEventOutputDataSearchResults,
- WorkflowResultEventOutputDataArray,
- WorkflowResultEventOutputDataFunctionCall,
- WorkflowResultEventOutputDataError,
-]
diff --git a/src/vellum/client/types/workflow_result_event_output_data_array.py b/src/vellum/client/types/workflow_result_event_output_data_array.py
deleted file mode 100644
index 13eaf0ece3..0000000000
--- a/src/vellum/client/types/workflow_result_event_output_data_array.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class WorkflowResultEventOutputDataArray(UniversalBaseModel):
- """
- An Array output returned from a Workflow execution.
- """
-
- id: typing.Optional[str] = None
- name: str
- state: WorkflowNodeResultEventState
- node_id: str
- delta: typing.Optional[str] = pydantic.Field(default=None)
- """
- The newly output string value. Only relevant for string outputs with a state of STREAMING.
- """
-
- type: typing.Literal["ARRAY"] = "ARRAY"
- value: typing.Optional[typing.List["VellumValue"]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
-from .vellum_value import VellumValue # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowResultEventOutputDataArray)
diff --git a/src/vellum/client/types/workflow_result_event_output_data_chat_history.py b/src/vellum/client/types/workflow_result_event_output_data_chat_history.py
deleted file mode 100644
index 6fcd7e8c2a..0000000000
--- a/src/vellum/client/types/workflow_result_event_output_data_chat_history.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .chat_message import ChatMessage
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class WorkflowResultEventOutputDataChatHistory(UniversalBaseModel):
- """
- A Chat History output streamed from a Workflow execution.
- """
-
- id: typing.Optional[str] = None
- name: str
- state: WorkflowNodeResultEventState
- node_id: str
- delta: typing.Optional[str] = pydantic.Field(default=None)
- """
- The newly output string value. Only relevant for string outputs with a state of STREAMING.
- """
-
- type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
- value: typing.Optional[typing.List[ChatMessage]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_result_event_output_data_error.py b/src/vellum/client/types/workflow_result_event_output_data_error.py
deleted file mode 100644
index 9b6721f8c3..0000000000
--- a/src/vellum/client/types/workflow_result_event_output_data_error.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .vellum_error import VellumError
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class WorkflowResultEventOutputDataError(UniversalBaseModel):
- """
- An Error output streamed from a Workflow execution.
- """
-
- id: typing.Optional[str] = None
- name: str
- state: WorkflowNodeResultEventState
- node_id: str
- delta: typing.Optional[str] = pydantic.Field(default=None)
- """
- The newly output string value. Only relevant for string outputs with a state of STREAMING.
- """
-
- type: typing.Literal["ERROR"] = "ERROR"
- value: typing.Optional[VellumError] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_result_event_output_data_function_call.py b/src/vellum/client/types/workflow_result_event_output_data_function_call.py
deleted file mode 100644
index 991ccdaa12..0000000000
--- a/src/vellum/client/types/workflow_result_event_output_data_function_call.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .function_call import FunctionCall
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class WorkflowResultEventOutputDataFunctionCall(UniversalBaseModel):
- """
- A Function Call output returned from a Workflow execution.
- """
-
- id: typing.Optional[str] = None
- name: str
- state: WorkflowNodeResultEventState
- node_id: str
- delta: typing.Optional[str] = pydantic.Field(default=None)
- """
- The newly output string value. Only relevant for string outputs with a state of STREAMING.
- """
-
- type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
- value: typing.Optional[FunctionCall] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_result_event_output_data_json.py b/src/vellum/client/types/workflow_result_event_output_data_json.py
deleted file mode 100644
index 5589ce9443..0000000000
--- a/src/vellum/client/types/workflow_result_event_output_data_json.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class WorkflowResultEventOutputDataJson(UniversalBaseModel):
- """
- A JSON output streamed from a Workflow execution.
- """
-
- id: typing.Optional[str] = None
- name: str
- state: WorkflowNodeResultEventState
- node_id: str
- delta: typing.Optional[str] = pydantic.Field(default=None)
- """
- The newly output string value. Only relevant for string outputs with a state of STREAMING.
- """
-
- type: typing.Literal["JSON"] = "JSON"
- value: typing.Optional[typing.Any] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_result_event_output_data_number.py b/src/vellum/client/types/workflow_result_event_output_data_number.py
deleted file mode 100644
index ac045f6811..0000000000
--- a/src/vellum/client/types/workflow_result_event_output_data_number.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class WorkflowResultEventOutputDataNumber(UniversalBaseModel):
- """
- A number output streamed from a Workflow execution.
- """
-
- id: typing.Optional[str] = None
- name: str
- state: WorkflowNodeResultEventState
- node_id: str
- delta: typing.Optional[str] = pydantic.Field(default=None)
- """
- The newly output string value. Only relevant for string outputs with a state of STREAMING.
- """
-
- type: typing.Literal["NUMBER"] = "NUMBER"
- value: typing.Optional[float] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_result_event_output_data_search_results.py b/src/vellum/client/types/workflow_result_event_output_data_search_results.py
deleted file mode 100644
index 4daea96847..0000000000
--- a/src/vellum/client/types/workflow_result_event_output_data_search_results.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .search_result import SearchResult
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class WorkflowResultEventOutputDataSearchResults(UniversalBaseModel):
- """
- A Search Results output streamed from a Workflow execution.
- """
-
- id: typing.Optional[str] = None
- name: str
- state: WorkflowNodeResultEventState
- node_id: str
- delta: typing.Optional[str] = pydantic.Field(default=None)
- """
- The newly output string value. Only relevant for string outputs with a state of STREAMING.
- """
-
- type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
- value: typing.Optional[typing.List[SearchResult]] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_result_event_output_data_string.py b/src/vellum/client/types/workflow_result_event_output_data_string.py
deleted file mode 100644
index 020168db02..0000000000
--- a/src/vellum/client/types/workflow_result_event_output_data_string.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_node_result_event_state import WorkflowNodeResultEventState
-
-
-class WorkflowResultEventOutputDataString(UniversalBaseModel):
- """
- A string output streamed from a Workflow execution.
- """
-
- id: typing.Optional[str] = None
- name: str
- state: WorkflowNodeResultEventState
- node_id: str
- delta: typing.Optional[str] = pydantic.Field(default=None)
- """
- The newly output string value, meant to be concatenated with all previous. Will be non-null for events of state STREAMING.
- """
-
- type: typing.Literal["STRING"] = "STRING"
- value: typing.Optional[str] = pydantic.Field(default=None)
- """
- The entire string value. Will be non-null for events of state FULFILLED.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_sandbox_display_data.py b/src/vellum/client/types/workflow_sandbox_display_data.py
deleted file mode 100644
index 23eed731f5..0000000000
--- a/src/vellum/client/types/workflow_sandbox_display_data.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workflow_display_icon import WorkflowDisplayIcon
-
-
-class WorkflowSandboxDisplayData(UniversalBaseModel):
- """
- Information used to display this Workflow Sandbox.
- """
-
- icon: typing.Optional[WorkflowDisplayIcon] = pydantic.Field(default=None)
- """
- The icon associated with this Workflow Sandbox.
- """
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_sandbox_example.py b/src/vellum/client/types/workflow_sandbox_example.py
deleted file mode 100644
index 1465d41c2c..0000000000
--- a/src/vellum/client/types/workflow_sandbox_example.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkflowSandboxExample(UniversalBaseModel):
- id: str
- label: str
- description: typing.Optional[str] = None
- icon_name: typing.Optional[str] = None
- ui_image_url: typing.Optional[str] = None
- code_image_url: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workflow_sandbox_parent_context.py b/src/vellum/client/types/workflow_sandbox_parent_context.py
deleted file mode 100644
index 779ba91420..0000000000
--- a/src/vellum/client/types/workflow_sandbox_parent_context.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-from __future__ import annotations
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
-
-
-class WorkflowSandboxParentContext(UniversalBaseModel):
- parent: typing.Optional["ParentContext"] = None
- links: typing.Optional[typing.List["SpanLink"]] = None
- type: typing.Literal["WORKFLOW_SANDBOX"] = "WORKFLOW_SANDBOX"
- span_id: str
- sandbox_id: str
- sandbox_history_item_id: str
- scenario_id: str
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
-
-
-from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
-from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
-from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
-from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
-from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
-from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
-from .span_link import SpanLink # noqa: E402, F401, I001
-from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
-from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
-from .parent_context import ParentContext # noqa: E402, F401, I001
-
-update_forward_refs(WorkflowSandboxParentContext)
diff --git a/src/vellum/client/types/workflow_stream_event.py b/src/vellum/client/types/workflow_stream_event.py
deleted file mode 100644
index 1bbc469d15..0000000000
--- a/src/vellum/client/types/workflow_stream_event.py
+++ /dev/null
@@ -1,8 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-from .workflow_execution_node_result_event import WorkflowExecutionNodeResultEvent
-from .workflow_execution_workflow_result_event import WorkflowExecutionWorkflowResultEvent
-
-WorkflowStreamEvent = typing.Union[WorkflowExecutionWorkflowResultEvent, WorkflowExecutionNodeResultEvent]
diff --git a/src/vellum/client/types/workspace_display_config.py b/src/vellum/client/types/workspace_display_config.py
deleted file mode 100644
index c3ce9f176e..0000000000
--- a/src/vellum/client/types/workspace_display_config.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-
-
-class WorkspaceDisplayConfig(UniversalBaseModel):
- color: typing.Optional[str] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workspace_read.py b/src/vellum/client/types/workspace_read.py
deleted file mode 100644
index 2911a3f45a..0000000000
--- a/src/vellum/client/types/workspace_read.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .workspace_display_config import WorkspaceDisplayConfig
-
-
-class WorkspaceRead(UniversalBaseModel):
- id: str
- name: str = pydantic.Field()
- """
- The name of the Workspace.
- """
-
- label: str
- created: dt.datetime
- display_config: typing.Optional[WorkspaceDisplayConfig] = None
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/workspace_secret_read.py b/src/vellum/client/types/workspace_secret_read.py
deleted file mode 100644
index 942d0617b7..0000000000
--- a/src/vellum/client/types/workspace_secret_read.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# This file was auto-generated by Fern from our API Definition.
-
-import datetime as dt
-import typing
-
-import pydantic
-from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-from .secret_type_enum import SecretTypeEnum
-
-
-class WorkspaceSecretRead(UniversalBaseModel):
- id: str
- modified: dt.datetime
- name: str
- label: str
- secret_type: SecretTypeEnum
-
- if IS_PYDANTIC_V2:
- model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
- else:
-
- class Config:
- frozen = True
- smart_union = True
- extra = pydantic.Extra.allow
diff --git a/src/vellum/core/__init__.py b/src/vellum/core/__init__.py
index e56b2bcdd1..31bbb81894 100644
--- a/src/vellum/core/__init__.py
+++ b/src/vellum/core/__init__.py
@@ -1,3 +1,52 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core import *
+# isort: skip_file
+
+from .api_error import ApiError
+from .client_wrapper import AsyncClientWrapper, BaseClientWrapper, SyncClientWrapper
+from .datetime_utils import serialize_datetime
+from .file import File, convert_file_dict_to_httpx_tuples, with_content_type
+from .http_client import AsyncHttpClient, HttpClient
+from .http_response import AsyncHttpResponse, HttpResponse
+from .jsonable_encoder import jsonable_encoder
+from .pydantic_utilities import (
+ IS_PYDANTIC_V2,
+ UniversalBaseModel,
+ UniversalRootModel,
+ parse_obj_as,
+ universal_field_validator,
+ universal_root_validator,
+ update_forward_refs,
+)
+from .query_encoder import encode_query
+from .remove_none_from_dict import remove_none_from_dict
+from .request_options import RequestOptions
+from .serialization import FieldMetadata, convert_and_respect_annotation_metadata
+
+__all__ = [
+ "ApiError",
+ "AsyncClientWrapper",
+ "AsyncHttpClient",
+ "AsyncHttpResponse",
+ "BaseClientWrapper",
+ "FieldMetadata",
+ "File",
+ "HttpClient",
+ "HttpResponse",
+ "IS_PYDANTIC_V2",
+ "RequestOptions",
+ "SyncClientWrapper",
+ "UniversalBaseModel",
+ "UniversalRootModel",
+ "convert_and_respect_annotation_metadata",
+ "convert_file_dict_to_httpx_tuples",
+ "encode_query",
+ "jsonable_encoder",
+ "parse_obj_as",
+ "remove_none_from_dict",
+ "serialize_datetime",
+ "universal_field_validator",
+ "universal_root_validator",
+ "update_forward_refs",
+ "with_content_type",
+]
diff --git a/src/vellum/core/api_error.py b/src/vellum/core/api_error.py
index 9a4ea25c0f..6f850a60cb 100644
--- a/src/vellum/core/api_error.py
+++ b/src/vellum/core/api_error.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.api_error import *
+from typing import Any, Dict, Optional
+
+
+class ApiError(Exception):
+ headers: Optional[Dict[str, str]]
+ status_code: Optional[int]
+ body: Any
+
+ def __init__(
+ self,
+ *,
+ headers: Optional[Dict[str, str]] = None,
+ status_code: Optional[int] = None,
+ body: Any = None,
+ ) -> None:
+ self.headers = headers
+ self.status_code = status_code
+ self.body = body
+
+ def __str__(self) -> str:
+ return f"headers: {self.headers}, status_code: {self.status_code}, body: {self.body}"
diff --git a/src/vellum/core/client_wrapper.py b/src/vellum/core/client_wrapper.py
index 7dae5ba0c7..155e375f5d 100644
--- a/src/vellum/core/client_wrapper.py
+++ b/src/vellum/core/client_wrapper.py
@@ -1,3 +1,85 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.client_wrapper import *
+import typing
+
+import httpx
+from ..environment import VellumEnvironment
+from ..types.api_version_enum import ApiVersionEnum
+from .http_client import AsyncHttpClient, HttpClient
+
+
+class BaseClientWrapper:
+ def __init__(
+ self,
+ *,
+ api_version: typing.Optional[ApiVersionEnum] = None,
+ api_key: str,
+ headers: typing.Optional[typing.Dict[str, str]] = None,
+ environment: VellumEnvironment,
+ timeout: typing.Optional[float] = None,
+ ):
+ self._api_version = api_version
+ self.api_key = api_key
+ self._headers = headers
+ self._environment = environment
+ self._timeout = timeout
+
+ def get_headers(self) -> typing.Dict[str, str]:
+ headers: typing.Dict[str, str] = {
+ "User-Agent": "vellum-ai/1.10.5",
+ "X-Fern-Language": "Python",
+ "X-Fern-SDK-Name": "vellum-ai",
+ "X-Fern-SDK-Version": "1.10.5",
+ **(self.get_custom_headers() or {}),
+ }
+ if self._api_version is not None:
+ headers["X-API-Version"] = self._api_version
+ headers["X-API-KEY"] = self.api_key
+ return headers
+
+ def get_custom_headers(self) -> typing.Optional[typing.Dict[str, str]]:
+ return self._headers
+
+ def get_environment(self) -> VellumEnvironment:
+ return self._environment
+
+ def get_timeout(self) -> typing.Optional[float]:
+ return self._timeout
+
+
+class SyncClientWrapper(BaseClientWrapper):
+ def __init__(
+ self,
+ *,
+ api_version: typing.Optional[ApiVersionEnum] = None,
+ api_key: str,
+ headers: typing.Optional[typing.Dict[str, str]] = None,
+ environment: VellumEnvironment,
+ timeout: typing.Optional[float] = None,
+ httpx_client: httpx.Client,
+ ):
+ super().__init__(
+ api_version=api_version, api_key=api_key, headers=headers, environment=environment, timeout=timeout
+ )
+ self.httpx_client = HttpClient(
+ httpx_client=httpx_client, base_headers=self.get_headers, base_timeout=self.get_timeout
+ )
+
+
+class AsyncClientWrapper(BaseClientWrapper):
+ def __init__(
+ self,
+ *,
+ api_version: typing.Optional[ApiVersionEnum] = None,
+ api_key: str,
+ headers: typing.Optional[typing.Dict[str, str]] = None,
+ environment: VellumEnvironment,
+ timeout: typing.Optional[float] = None,
+ httpx_client: httpx.AsyncClient,
+ ):
+ super().__init__(
+ api_version=api_version, api_key=api_key, headers=headers, environment=environment, timeout=timeout
+ )
+ self.httpx_client = AsyncHttpClient(
+ httpx_client=httpx_client, base_headers=self.get_headers, base_timeout=self.get_timeout
+ )
diff --git a/src/vellum/core/datetime_utils.py b/src/vellum/core/datetime_utils.py
index b2e7b2dd38..7c9864a944 100644
--- a/src/vellum/core/datetime_utils.py
+++ b/src/vellum/core/datetime_utils.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.datetime_utils import *
+import datetime as dt
+
+
+def serialize_datetime(v: dt.datetime) -> str:
+ """
+ Serialize a datetime including timezone info.
+
+ Uses the timezone info provided if present, otherwise uses the current runtime's timezone info.
+
+ UTC datetimes end in "Z" while all other timezones are represented as offset from UTC, e.g. +05:00.
+ """
+
+ def _serialize_zoned_datetime(v: dt.datetime) -> str:
+ if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None):
+ # UTC is a special case where we use "Z" at the end instead of "+00:00"
+ return v.isoformat().replace("+00:00", "Z")
+ else:
+ # Delegate to the typical +/- offset format
+ return v.isoformat()
+
+ if v.tzinfo is not None:
+ return _serialize_zoned_datetime(v)
+ else:
+ local_tz = dt.datetime.now().astimezone().tzinfo
+ localized_dt = v.replace(tzinfo=local_tz)
+ return _serialize_zoned_datetime(localized_dt)
diff --git a/src/vellum/core/file.py b/src/vellum/core/file.py
index 2be5306a1d..44b0d27c08 100644
--- a/src/vellum/core/file.py
+++ b/src/vellum/core/file.py
@@ -1,3 +1,67 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.file import *
+from typing import IO, Dict, List, Mapping, Optional, Tuple, Union, cast
+
+# File typing inspired by the flexibility of types within the httpx library
+# https://github.com/encode/httpx/blob/master/httpx/_types.py
+FileContent = Union[IO[bytes], bytes, str]
+File = Union[
+ # file (or bytes)
+ FileContent,
+ # (filename, file (or bytes))
+ Tuple[Optional[str], FileContent],
+ # (filename, file (or bytes), content_type)
+ Tuple[Optional[str], FileContent, Optional[str]],
+ # (filename, file (or bytes), content_type, headers)
+ Tuple[
+ Optional[str],
+ FileContent,
+ Optional[str],
+ Mapping[str, str],
+ ],
+]
+
+
+def convert_file_dict_to_httpx_tuples(
+ d: Dict[str, Union[File, List[File]]],
+) -> List[Tuple[str, File]]:
+ """
+ The format we use is a list of tuples, where the first element is the
+ name of the file and the second is the file object. Typically HTTPX wants
+ a dict, but to be able to send lists of files, you have to use the list
+ approach (which also works for non-lists)
+ https://github.com/encode/httpx/pull/1032
+ """
+
+ httpx_tuples = []
+ for key, file_like in d.items():
+ if isinstance(file_like, list):
+ for file_like_item in file_like:
+ httpx_tuples.append((key, file_like_item))
+ else:
+ httpx_tuples.append((key, file_like))
+ return httpx_tuples
+
+
+def with_content_type(*, file: File, default_content_type: str) -> File:
+ """
+ This function resolves to the file's content type, if provided, and defaults
+ to the default_content_type value if not.
+ """
+ if isinstance(file, tuple):
+ if len(file) == 2:
+ filename, content = cast(Tuple[Optional[str], FileContent], file) # type: ignore
+ return (filename, content, default_content_type)
+ elif len(file) == 3:
+ filename, content, file_content_type = cast(Tuple[Optional[str], FileContent, Optional[str]], file) # type: ignore
+ out_content_type = file_content_type or default_content_type
+ return (filename, content, out_content_type)
+ elif len(file) == 4:
+ filename, content, file_content_type, headers = cast( # type: ignore
+ Tuple[Optional[str], FileContent, Optional[str], Mapping[str, str]], file
+ )
+ out_content_type = file_content_type or default_content_type
+ return (filename, content, out_content_type, headers)
+ else:
+ raise ValueError(f"Unexpected tuple length: {len(file)}")
+ return (None, file, default_content_type)
diff --git a/src/vellum/core/force_multipart.py b/src/vellum/core/force_multipart.py
index c508171a10..ae24ccff1a 100644
--- a/src/vellum/core/force_multipart.py
+++ b/src/vellum/core/force_multipart.py
@@ -1,3 +1,16 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.force_multipart import *
+
+class ForceMultipartDict(dict):
+ """
+ A dictionary subclass that always evaluates to True in boolean contexts.
+
+ This is used to force multipart/form-data encoding in HTTP requests even when
+ the dictionary is empty, which would normally evaluate to False.
+ """
+
+ def __bool__(self):
+ return True
+
+
+FORCE_MULTIPART = ForceMultipartDict()
diff --git a/src/vellum/core/http_client.py b/src/vellum/core/http_client.py
index f7f3a2d5f2..e4173f990f 100644
--- a/src/vellum/core/http_client.py
+++ b/src/vellum/core/http_client.py
@@ -1,3 +1,543 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.http_client import *
+import asyncio
+import email.utils
+import re
+import time
+import typing
+import urllib.parse
+from contextlib import asynccontextmanager, contextmanager
+from random import random
+
+import httpx
+from .file import File, convert_file_dict_to_httpx_tuples
+from .force_multipart import FORCE_MULTIPART
+from .jsonable_encoder import jsonable_encoder
+from .query_encoder import encode_query
+from .remove_none_from_dict import remove_none_from_dict
+from .request_options import RequestOptions
+from httpx._types import RequestFiles
+
+INITIAL_RETRY_DELAY_SECONDS = 0.5
+MAX_RETRY_DELAY_SECONDS = 10
+MAX_RETRY_DELAY_SECONDS_FROM_HEADER = 30
+
+
+def _parse_retry_after(response_headers: httpx.Headers) -> typing.Optional[float]:
+ """
+ This function parses the `Retry-After` header in a HTTP response and returns the number of seconds to wait.
+
+ Inspired by the urllib3 retry implementation.
+ """
+ retry_after_ms = response_headers.get("retry-after-ms")
+ if retry_after_ms is not None:
+ try:
+ return int(retry_after_ms) / 1000 if retry_after_ms > 0 else 0
+ except Exception:
+ pass
+
+ retry_after = response_headers.get("retry-after")
+ if retry_after is None:
+ return None
+
+ # Attempt to parse the header as an int.
+ if re.match(r"^\s*[0-9]+\s*$", retry_after):
+ seconds = float(retry_after)
+ # Fallback to parsing it as a date.
+ else:
+ retry_date_tuple = email.utils.parsedate_tz(retry_after)
+ if retry_date_tuple is None:
+ return None
+ if retry_date_tuple[9] is None: # Python 2
+ # Assume UTC if no timezone was specified
+ # On Python2.7, parsedate_tz returns None for a timezone offset
+ # instead of 0 if no timezone is given, where mktime_tz treats
+ # a None timezone offset as local time.
+ retry_date_tuple = retry_date_tuple[:9] + (0,) + retry_date_tuple[10:]
+
+ retry_date = email.utils.mktime_tz(retry_date_tuple)
+ seconds = retry_date - time.time()
+
+ if seconds < 0:
+ seconds = 0
+
+ return seconds
+
+
+def _retry_timeout(response: httpx.Response, retries: int) -> float:
+ """
+ Determine the amount of time to wait before retrying a request.
+ This function begins by trying to parse a retry-after header from the response, and then proceeds to use exponential backoff
+ with a jitter to determine the number of seconds to wait.
+ """
+
+ # If the API asks us to wait a certain amount of time (and it's a reasonable amount), just do what it says.
+ retry_after = _parse_retry_after(response.headers)
+ if retry_after is not None and retry_after <= MAX_RETRY_DELAY_SECONDS_FROM_HEADER:
+ return retry_after
+
+ # Apply exponential backoff, capped at MAX_RETRY_DELAY_SECONDS.
+ retry_delay = min(INITIAL_RETRY_DELAY_SECONDS * pow(2.0, retries), MAX_RETRY_DELAY_SECONDS)
+
+ # Add a randomness / jitter to the retry delay to avoid overwhelming the server with retries.
+ timeout = retry_delay * (1 - 0.25 * random())
+ return timeout if timeout >= 0 else 0
+
+
+def _should_retry(response: httpx.Response) -> bool:
+ retryable_400s = [429, 408, 409]
+ return response.status_code >= 500 or response.status_code in retryable_400s
+
+
+def remove_omit_from_dict(
+ original: typing.Dict[str, typing.Optional[typing.Any]],
+ omit: typing.Optional[typing.Any],
+) -> typing.Dict[str, typing.Any]:
+ if omit is None:
+ return original
+ new: typing.Dict[str, typing.Any] = {}
+ for key, value in original.items():
+ if value is not omit:
+ new[key] = value
+ return new
+
+
+def maybe_filter_request_body(
+ data: typing.Optional[typing.Any],
+ request_options: typing.Optional[RequestOptions],
+ omit: typing.Optional[typing.Any],
+) -> typing.Optional[typing.Any]:
+ if data is None:
+ return (
+ jsonable_encoder(request_options.get("additional_body_parameters", {})) or {}
+ if request_options is not None
+ else None
+ )
+ elif not isinstance(data, typing.Mapping):
+ data_content = jsonable_encoder(data)
+ else:
+ data_content = {
+ **(jsonable_encoder(remove_omit_from_dict(data, omit))), # type: ignore
+ **(
+ jsonable_encoder(request_options.get("additional_body_parameters", {})) or {}
+ if request_options is not None
+ else {}
+ ),
+ }
+ return data_content
+
+
+# Abstracted out for testing purposes
+def get_request_body(
+ *,
+ json: typing.Optional[typing.Any],
+ data: typing.Optional[typing.Any],
+ request_options: typing.Optional[RequestOptions],
+ omit: typing.Optional[typing.Any],
+) -> typing.Tuple[typing.Optional[typing.Any], typing.Optional[typing.Any]]:
+ json_body = None
+ data_body = None
+ if data is not None:
+ data_body = maybe_filter_request_body(data, request_options, omit)
+ else:
+ # If both data and json are None, we send json data in the event extra properties are specified
+ json_body = maybe_filter_request_body(json, request_options, omit)
+
+ # If you have an empty JSON body, you should just send None
+ return (json_body if json_body != {} else None), data_body if data_body != {} else None
+
+
+class HttpClient:
+ def __init__(
+ self,
+ *,
+ httpx_client: httpx.Client,
+ base_timeout: typing.Callable[[], typing.Optional[float]],
+ base_headers: typing.Callable[[], typing.Dict[str, str]],
+ base_url: typing.Optional[typing.Callable[[], str]] = None,
+ ):
+ self.base_url = base_url
+ self.base_timeout = base_timeout
+ self.base_headers = base_headers
+ self.httpx_client = httpx_client
+
+ def get_base_url(self, maybe_base_url: typing.Optional[str]) -> str:
+ base_url = maybe_base_url
+ if self.base_url is not None and base_url is None:
+ base_url = self.base_url()
+
+ if base_url is None:
+ raise ValueError("A base_url is required to make this request, please provide one and try again.")
+ return base_url
+
+ def request(
+ self,
+ path: typing.Optional[str] = None,
+ *,
+ method: str,
+ base_url: typing.Optional[str] = None,
+ params: typing.Optional[typing.Dict[str, typing.Any]] = None,
+ json: typing.Optional[typing.Any] = None,
+ data: typing.Optional[typing.Any] = None,
+ content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
+ files: typing.Optional[
+ typing.Union[
+ typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
+ typing.List[typing.Tuple[str, File]],
+ ]
+ ] = None,
+ headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ retries: int = 2,
+ omit: typing.Optional[typing.Any] = None,
+ force_multipart: typing.Optional[bool] = None,
+ ) -> httpx.Response:
+ base_url = self.get_base_url(base_url)
+ timeout = (
+ request_options.get("timeout_in_seconds")
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
+ else self.base_timeout()
+ )
+
+ json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
+
+ request_files: typing.Optional[RequestFiles] = (
+ convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
+ if (files is not None and files is not omit and isinstance(files, dict))
+ else None
+ )
+
+ if (request_files is None or len(request_files) == 0) and force_multipart:
+ request_files = FORCE_MULTIPART
+
+ response = self.httpx_client.request(
+ method=method,
+ url=urllib.parse.urljoin(f"{base_url}/", path),
+ headers=jsonable_encoder(
+ remove_none_from_dict(
+ {
+ **self.base_headers(),
+ **(headers if headers is not None else {}),
+ **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}),
+ }
+ )
+ ),
+ params=encode_query(
+ jsonable_encoder(
+ remove_none_from_dict(
+ remove_omit_from_dict(
+ {
+ **(params if params is not None else {}),
+ **(
+ request_options.get("additional_query_parameters", {}) or {}
+ if request_options is not None
+ else {}
+ ),
+ },
+ omit,
+ )
+ )
+ )
+ ),
+ json=json_body,
+ data=data_body,
+ content=content,
+ files=request_files,
+ timeout=timeout,
+ )
+
+ max_retries: int = request_options.get("max_retries", 0) if request_options is not None else 0
+ if _should_retry(response=response):
+ if max_retries > retries:
+ time.sleep(_retry_timeout(response=response, retries=retries))
+ return self.request(
+ path=path,
+ method=method,
+ base_url=base_url,
+ params=params,
+ json=json,
+ content=content,
+ files=files,
+ headers=headers,
+ request_options=request_options,
+ retries=retries + 1,
+ omit=omit,
+ )
+
+ return response
+
+ @contextmanager
+ def stream(
+ self,
+ path: typing.Optional[str] = None,
+ *,
+ method: str,
+ base_url: typing.Optional[str] = None,
+ params: typing.Optional[typing.Dict[str, typing.Any]] = None,
+ json: typing.Optional[typing.Any] = None,
+ data: typing.Optional[typing.Any] = None,
+ content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
+ files: typing.Optional[
+ typing.Union[
+ typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
+ typing.List[typing.Tuple[str, File]],
+ ]
+ ] = None,
+ headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ retries: int = 2,
+ omit: typing.Optional[typing.Any] = None,
+ force_multipart: typing.Optional[bool] = None,
+ ) -> typing.Iterator[httpx.Response]:
+ base_url = self.get_base_url(base_url)
+ timeout = (
+ request_options.get("timeout_in_seconds")
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
+ else self.base_timeout()
+ )
+
+ request_files: typing.Optional[RequestFiles] = (
+ convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
+ if (files is not None and files is not omit and isinstance(files, dict))
+ else None
+ )
+
+ if (request_files is None or len(request_files) == 0) and force_multipart:
+ request_files = FORCE_MULTIPART
+
+ json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
+
+ with self.httpx_client.stream(
+ method=method,
+ url=urllib.parse.urljoin(f"{base_url}/", path),
+ headers=jsonable_encoder(
+ remove_none_from_dict(
+ {
+ **self.base_headers(),
+ **(headers if headers is not None else {}),
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
+ }
+ )
+ ),
+ params=encode_query(
+ jsonable_encoder(
+ remove_none_from_dict(
+ remove_omit_from_dict(
+ {
+ **(params if params is not None else {}),
+ **(
+ request_options.get("additional_query_parameters", {})
+ if request_options is not None
+ else {}
+ ),
+ },
+ omit,
+ )
+ )
+ )
+ ),
+ json=json_body,
+ data=data_body,
+ content=content,
+ files=request_files,
+ timeout=timeout,
+ ) as stream:
+ yield stream
+
+
+class AsyncHttpClient:
+ def __init__(
+ self,
+ *,
+ httpx_client: httpx.AsyncClient,
+ base_timeout: typing.Callable[[], typing.Optional[float]],
+ base_headers: typing.Callable[[], typing.Dict[str, str]],
+ base_url: typing.Optional[typing.Callable[[], str]] = None,
+ ):
+ self.base_url = base_url
+ self.base_timeout = base_timeout
+ self.base_headers = base_headers
+ self.httpx_client = httpx_client
+
+ def get_base_url(self, maybe_base_url: typing.Optional[str]) -> str:
+ base_url = maybe_base_url
+ if self.base_url is not None and base_url is None:
+ base_url = self.base_url()
+
+ if base_url is None:
+ raise ValueError("A base_url is required to make this request, please provide one and try again.")
+ return base_url
+
+ async def request(
+ self,
+ path: typing.Optional[str] = None,
+ *,
+ method: str,
+ base_url: typing.Optional[str] = None,
+ params: typing.Optional[typing.Dict[str, typing.Any]] = None,
+ json: typing.Optional[typing.Any] = None,
+ data: typing.Optional[typing.Any] = None,
+ content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
+ files: typing.Optional[
+ typing.Union[
+ typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
+ typing.List[typing.Tuple[str, File]],
+ ]
+ ] = None,
+ headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ retries: int = 2,
+ omit: typing.Optional[typing.Any] = None,
+ force_multipart: typing.Optional[bool] = None,
+ ) -> httpx.Response:
+ base_url = self.get_base_url(base_url)
+ timeout = (
+ request_options.get("timeout_in_seconds")
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
+ else self.base_timeout()
+ )
+
+ request_files: typing.Optional[RequestFiles] = (
+ convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
+ if (files is not None and files is not omit and isinstance(files, dict))
+ else None
+ )
+
+ if (request_files is None or len(request_files) == 0) and force_multipart:
+ request_files = FORCE_MULTIPART
+
+ json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
+
+ # Add the input to each of these and do None-safety checks
+ response = await self.httpx_client.request(
+ method=method,
+ url=urllib.parse.urljoin(f"{base_url}/", path),
+ headers=jsonable_encoder(
+ remove_none_from_dict(
+ {
+ **self.base_headers(),
+ **(headers if headers is not None else {}),
+ **(request_options.get("additional_headers", {}) or {} if request_options is not None else {}),
+ }
+ )
+ ),
+ params=encode_query(
+ jsonable_encoder(
+ remove_none_from_dict(
+ remove_omit_from_dict(
+ {
+ **(params if params is not None else {}),
+ **(
+ request_options.get("additional_query_parameters", {}) or {}
+ if request_options is not None
+ else {}
+ ),
+ },
+ omit,
+ )
+ )
+ )
+ ),
+ json=json_body,
+ data=data_body,
+ content=content,
+ files=request_files,
+ timeout=timeout,
+ )
+
+ max_retries: int = request_options.get("max_retries", 0) if request_options is not None else 0
+ if _should_retry(response=response):
+ if max_retries > retries:
+ await asyncio.sleep(_retry_timeout(response=response, retries=retries))
+ return await self.request(
+ path=path,
+ method=method,
+ base_url=base_url,
+ params=params,
+ json=json,
+ content=content,
+ files=files,
+ headers=headers,
+ request_options=request_options,
+ retries=retries + 1,
+ omit=omit,
+ )
+ return response
+
+ @asynccontextmanager
+ async def stream(
+ self,
+ path: typing.Optional[str] = None,
+ *,
+ method: str,
+ base_url: typing.Optional[str] = None,
+ params: typing.Optional[typing.Dict[str, typing.Any]] = None,
+ json: typing.Optional[typing.Any] = None,
+ data: typing.Optional[typing.Any] = None,
+ content: typing.Optional[typing.Union[bytes, typing.Iterator[bytes], typing.AsyncIterator[bytes]]] = None,
+ files: typing.Optional[
+ typing.Union[
+ typing.Dict[str, typing.Optional[typing.Union[File, typing.List[File]]]],
+ typing.List[typing.Tuple[str, File]],
+ ]
+ ] = None,
+ headers: typing.Optional[typing.Dict[str, typing.Any]] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ retries: int = 2,
+ omit: typing.Optional[typing.Any] = None,
+ force_multipart: typing.Optional[bool] = None,
+ ) -> typing.AsyncIterator[httpx.Response]:
+ base_url = self.get_base_url(base_url)
+ timeout = (
+ request_options.get("timeout_in_seconds")
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
+ else self.base_timeout()
+ )
+
+ request_files: typing.Optional[RequestFiles] = (
+ convert_file_dict_to_httpx_tuples(remove_omit_from_dict(remove_none_from_dict(files), omit))
+ if (files is not None and files is not omit and isinstance(files, dict))
+ else None
+ )
+
+ if (request_files is None or len(request_files) == 0) and force_multipart:
+ request_files = FORCE_MULTIPART
+
+ json_body, data_body = get_request_body(json=json, data=data, request_options=request_options, omit=omit)
+
+ async with self.httpx_client.stream(
+ method=method,
+ url=urllib.parse.urljoin(f"{base_url}/", path),
+ headers=jsonable_encoder(
+ remove_none_from_dict(
+ {
+ **self.base_headers(),
+ **(headers if headers is not None else {}),
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
+ }
+ )
+ ),
+ params=encode_query(
+ jsonable_encoder(
+ remove_none_from_dict(
+ remove_omit_from_dict(
+ {
+ **(params if params is not None else {}),
+ **(
+ request_options.get("additional_query_parameters", {})
+ if request_options is not None
+ else {}
+ ),
+ },
+ omit=omit,
+ )
+ )
+ )
+ ),
+ json=json_body,
+ data=data_body,
+ content=content,
+ files=request_files,
+ timeout=timeout,
+ ) as stream:
+ yield stream
diff --git a/src/vellum/core/http_response.py b/src/vellum/core/http_response.py
index bd8b040d4a..48a1798a56 100644
--- a/src/vellum/core/http_response.py
+++ b/src/vellum/core/http_response.py
@@ -1,3 +1,55 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.http_response import *
+from typing import Dict, Generic, TypeVar
+
+import httpx
+
+T = TypeVar("T")
+"""Generic to represent the underlying type of the data wrapped by the HTTP response."""
+
+
+class BaseHttpResponse:
+ """Minimalist HTTP response wrapper that exposes response headers."""
+
+ _response: httpx.Response
+
+ def __init__(self, response: httpx.Response):
+ self._response = response
+
+ @property
+ def headers(self) -> Dict[str, str]:
+ return dict(self._response.headers)
+
+
+class HttpResponse(Generic[T], BaseHttpResponse):
+ """HTTP response wrapper that exposes response headers and data."""
+
+ _data: T
+
+ def __init__(self, response: httpx.Response, data: T):
+ super().__init__(response)
+ self._data = data
+
+ @property
+ def data(self) -> T:
+ return self._data
+
+ def close(self) -> None:
+ self._response.close()
+
+
+class AsyncHttpResponse(Generic[T], BaseHttpResponse):
+ """HTTP response wrapper that exposes response headers and data."""
+
+ _data: T
+
+ def __init__(self, response: httpx.Response, data: T):
+ super().__init__(response)
+ self._data = data
+
+ @property
+ def data(self) -> T:
+ return self._data
+
+ async def close(self) -> None:
+ await self._response.aclose()
diff --git a/src/vellum/core/jsonable_encoder.py b/src/vellum/core/jsonable_encoder.py
index 6bea7b5e0e..afee3662d8 100644
--- a/src/vellum/core/jsonable_encoder.py
+++ b/src/vellum/core/jsonable_encoder.py
@@ -1,3 +1,100 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.jsonable_encoder import *
+"""
+jsonable_encoder converts a Python object to a JSON-friendly dict
+(e.g. datetimes to strings, Pydantic models to dicts).
+
+Taken from FastAPI, and made a bit simpler
+https://github.com/tiangolo/fastapi/blob/master/fastapi/encoders.py
+"""
+
+import base64
+import dataclasses
+import datetime as dt
+from enum import Enum
+from pathlib import PurePath
+from types import GeneratorType
+from typing import Any, Callable, Dict, List, Optional, Set, Union
+
+import pydantic
+from .datetime_utils import serialize_datetime
+from .pydantic_utilities import (
+ IS_PYDANTIC_V2,
+ encode_by_type,
+ to_jsonable_with_fallback,
+)
+
+SetIntStr = Set[Union[int, str]]
+DictIntStrAny = Dict[Union[int, str], Any]
+
+
+def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any:
+ custom_encoder = custom_encoder or {}
+ if custom_encoder:
+ if type(obj) in custom_encoder:
+ return custom_encoder[type(obj)](obj)
+ else:
+ for encoder_type, encoder_instance in custom_encoder.items():
+ if isinstance(obj, encoder_type):
+ return encoder_instance(obj)
+ if isinstance(obj, pydantic.BaseModel):
+ if IS_PYDANTIC_V2:
+ encoder = getattr(obj.model_config, "json_encoders", {}) # type: ignore # Pydantic v2
+ else:
+ encoder = getattr(obj.__config__, "json_encoders", {}) # type: ignore # Pydantic v1
+ if custom_encoder:
+ encoder.update(custom_encoder)
+ obj_dict = obj.dict(by_alias=True)
+ if "__root__" in obj_dict:
+ obj_dict = obj_dict["__root__"]
+ if "root" in obj_dict:
+ obj_dict = obj_dict["root"]
+ return jsonable_encoder(obj_dict, custom_encoder=encoder)
+ if dataclasses.is_dataclass(obj):
+ obj_dict = dataclasses.asdict(obj) # type: ignore
+ return jsonable_encoder(obj_dict, custom_encoder=custom_encoder)
+ if isinstance(obj, bytes):
+ return base64.b64encode(obj).decode("utf-8")
+ if isinstance(obj, Enum):
+ return obj.value
+ if isinstance(obj, PurePath):
+ return str(obj)
+ if isinstance(obj, (str, int, float, type(None))):
+ return obj
+ if isinstance(obj, dt.datetime):
+ return serialize_datetime(obj)
+ if isinstance(obj, dt.date):
+ return str(obj)
+ if isinstance(obj, dict):
+ encoded_dict = {}
+ allowed_keys = set(obj.keys())
+ for key, value in obj.items():
+ if key in allowed_keys:
+ encoded_key = jsonable_encoder(key, custom_encoder=custom_encoder)
+ encoded_value = jsonable_encoder(value, custom_encoder=custom_encoder)
+ encoded_dict[encoded_key] = encoded_value
+ return encoded_dict
+ if isinstance(obj, (list, set, frozenset, GeneratorType, tuple)):
+ encoded_list = []
+ for item in obj:
+ encoded_list.append(jsonable_encoder(item, custom_encoder=custom_encoder))
+ return encoded_list
+
+ def fallback_serializer(o: Any) -> Any:
+ attempt_encode = encode_by_type(o)
+ if attempt_encode is not None:
+ return attempt_encode
+
+ try:
+ data = dict(o)
+ except Exception as e:
+ errors: List[Exception] = []
+ errors.append(e)
+ try:
+ data = vars(o)
+ except Exception as e:
+ errors.append(e)
+ raise ValueError(errors) from e
+ return jsonable_encoder(data, custom_encoder=custom_encoder)
+
+ return to_jsonable_with_fallback(obj, fallback_serializer)
diff --git a/src/vellum/core/pydantic_utilities.py b/src/vellum/core/pydantic_utilities.py
index ebb13476da..7db29500a7 100644
--- a/src/vellum/core/pydantic_utilities.py
+++ b/src/vellum/core/pydantic_utilities.py
@@ -1,3 +1,255 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.pydantic_utilities import *
+# nopycln: file
+import datetime as dt
+from collections import defaultdict
+from typing import Any, Callable, ClassVar, Dict, List, Mapping, Optional, Set, Tuple, Type, TypeVar, Union, cast
+
+import pydantic
+
+IS_PYDANTIC_V2 = pydantic.VERSION.startswith("2.")
+
+if IS_PYDANTIC_V2:
+ from pydantic.v1.datetime_parse import parse_date as parse_date
+ from pydantic.v1.datetime_parse import parse_datetime as parse_datetime
+ from pydantic.v1.fields import ModelField as ModelField
+ from pydantic.v1.json import ENCODERS_BY_TYPE as encoders_by_type # type: ignore[attr-defined]
+ from pydantic.v1.typing import get_args as get_args
+ from pydantic.v1.typing import get_origin as get_origin
+ from pydantic.v1.typing import is_literal_type as is_literal_type
+ from pydantic.v1.typing import is_union as is_union
+else:
+ from pydantic.datetime_parse import parse_date as parse_date # type: ignore[no-redef]
+ from pydantic.datetime_parse import parse_datetime as parse_datetime # type: ignore[no-redef]
+ from pydantic.fields import ModelField as ModelField # type: ignore[attr-defined, no-redef]
+ from pydantic.json import ENCODERS_BY_TYPE as encoders_by_type # type: ignore[no-redef]
+ from pydantic.typing import get_args as get_args # type: ignore[no-redef]
+ from pydantic.typing import get_origin as get_origin # type: ignore[no-redef]
+ from pydantic.typing import is_literal_type as is_literal_type # type: ignore[no-redef]
+ from pydantic.typing import is_union as is_union # type: ignore[no-redef]
+
+from .datetime_utils import serialize_datetime
+from .serialization import convert_and_respect_annotation_metadata
+from typing_extensions import TypeAlias
+
+T = TypeVar("T")
+Model = TypeVar("Model", bound=pydantic.BaseModel)
+
+
+def parse_obj_as(type_: Type[T], object_: Any) -> T:
+ dealiased_object = convert_and_respect_annotation_metadata(object_=object_, annotation=type_, direction="read")
+ if IS_PYDANTIC_V2:
+ adapter = pydantic.TypeAdapter(type_) # type: ignore[attr-defined]
+ return adapter.validate_python(dealiased_object)
+ return pydantic.parse_obj_as(type_, dealiased_object)
+
+
+def to_jsonable_with_fallback(obj: Any, fallback_serializer: Callable[[Any], Any]) -> Any:
+ if IS_PYDANTIC_V2:
+ from pydantic_core import to_jsonable_python
+
+ return to_jsonable_python(obj, fallback=fallback_serializer)
+ return fallback_serializer(obj)
+
+
+class UniversalBaseModel(pydantic.BaseModel):
+ if IS_PYDANTIC_V2:
+ model_config: ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict( # type: ignore[typeddict-unknown-key]
+ # Allow fields beginning with `model_` to be used in the model
+ protected_namespaces=(),
+ )
+
+ @pydantic.model_serializer(mode="plain", when_used="json") # type: ignore[attr-defined]
+ def serialize_model(self) -> Any: # type: ignore[name-defined]
+ serialized = self.model_dump()
+ data = {k: serialize_datetime(v) if isinstance(v, dt.datetime) else v for k, v in serialized.items()}
+ return data
+
+ else:
+
+ class Config:
+ smart_union = True
+ json_encoders = {dt.datetime: serialize_datetime}
+
+ @classmethod
+ def model_construct(cls: Type["Model"], _fields_set: Optional[Set[str]] = None, **values: Any) -> "Model":
+ dealiased_object = convert_and_respect_annotation_metadata(object_=values, annotation=cls, direction="read")
+ return cls.construct(_fields_set, **dealiased_object)
+
+ @classmethod
+ def construct(cls: Type["Model"], _fields_set: Optional[Set[str]] = None, **values: Any) -> "Model":
+ dealiased_object = convert_and_respect_annotation_metadata(object_=values, annotation=cls, direction="read")
+ if IS_PYDANTIC_V2:
+ return super().model_construct(_fields_set, **dealiased_object) # type: ignore[misc]
+ return super().construct(_fields_set, **dealiased_object)
+
+ def json(self, **kwargs: Any) -> str:
+ kwargs_with_defaults = {
+ "by_alias": True,
+ "exclude_unset": True,
+ **kwargs,
+ }
+ if IS_PYDANTIC_V2:
+ return super().model_dump_json(**kwargs_with_defaults) # type: ignore[misc]
+ return super().json(**kwargs_with_defaults)
+
+ def dict(self, **kwargs: Any) -> Dict[str, Any]:
+ """
+ Override the default dict method to `exclude_unset` by default. This function patches
+ `exclude_unset` to work include fields within non-None default values.
+ """
+ # Note: the logic here is multiplexed given the levers exposed in Pydantic V1 vs V2
+ # Pydantic V1's .dict can be extremely slow, so we do not want to call it twice.
+ #
+ # We'd ideally do the same for Pydantic V2, but it shells out to a library to serialize models
+ # that we have less control over, and this is less intrusive than custom serializers for now.
+ if IS_PYDANTIC_V2:
+ kwargs_with_defaults_exclude_unset = {
+ **kwargs,
+ "by_alias": True,
+ "exclude_unset": True,
+ "exclude_none": False,
+ }
+ kwargs_with_defaults_exclude_none = {
+ **kwargs,
+ "by_alias": True,
+ "exclude_none": True,
+ "exclude_unset": False,
+ }
+ dict_dump = deep_union_pydantic_dicts(
+ super().model_dump(**kwargs_with_defaults_exclude_unset), # type: ignore[misc]
+ super().model_dump(**kwargs_with_defaults_exclude_none), # type: ignore[misc]
+ )
+
+ else:
+ _fields_set = self.__fields_set__.copy()
+
+ fields = _get_model_fields(self.__class__)
+ for name, field in fields.items():
+ if name not in _fields_set:
+ default = _get_field_default(field)
+
+ # If the default values are non-null act like they've been set
+ # This effectively allows exclude_unset to work like exclude_none where
+ # the latter passes through intentionally set none values.
+ if default is not None or ("exclude_unset" in kwargs and not kwargs["exclude_unset"]):
+ _fields_set.add(name)
+
+ if default is not None:
+ self.__fields_set__.add(name)
+
+ kwargs_with_defaults_exclude_unset_include_fields = {
+ "by_alias": True,
+ "exclude_unset": True,
+ "include": _fields_set,
+ **kwargs,
+ }
+
+ dict_dump = super().dict(**kwargs_with_defaults_exclude_unset_include_fields)
+
+ return convert_and_respect_annotation_metadata(object_=dict_dump, annotation=self.__class__, direction="write")
+
+
+def _union_list_of_pydantic_dicts(source: List[Any], destination: List[Any]) -> List[Any]:
+ converted_list: List[Any] = []
+ for i, item in enumerate(source):
+ destination_value = destination[i]
+ if isinstance(item, dict):
+ converted_list.append(deep_union_pydantic_dicts(item, destination_value))
+ elif isinstance(item, list):
+ converted_list.append(_union_list_of_pydantic_dicts(item, destination_value))
+ else:
+ converted_list.append(item)
+ return converted_list
+
+
+def deep_union_pydantic_dicts(source: Dict[str, Any], destination: Dict[str, Any]) -> Dict[str, Any]:
+ for key, value in source.items():
+ node = destination.setdefault(key, {})
+ if isinstance(value, dict):
+ deep_union_pydantic_dicts(value, node)
+ # Note: we do not do this same processing for sets given we do not have sets of models
+ # and given the sets are unordered, the processing of the set and matching objects would
+ # be non-trivial.
+ elif isinstance(value, list):
+ destination[key] = _union_list_of_pydantic_dicts(value, node)
+ else:
+ destination[key] = value
+
+ return destination
+
+
+if IS_PYDANTIC_V2:
+
+ class V2RootModel(UniversalBaseModel, pydantic.RootModel): # type: ignore[misc, name-defined, type-arg]
+ pass
+
+ UniversalRootModel: TypeAlias = V2RootModel # type: ignore[misc]
+else:
+ UniversalRootModel: TypeAlias = UniversalBaseModel # type: ignore[misc, no-redef]
+
+
+def encode_by_type(o: Any) -> Any:
+ encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple)
+ for type_, encoder in encoders_by_type.items():
+ encoders_by_class_tuples[encoder] += (type_,)
+
+ if type(o) in encoders_by_type:
+ return encoders_by_type[type(o)](o)
+ for encoder, classes_tuple in encoders_by_class_tuples.items():
+ if isinstance(o, classes_tuple):
+ return encoder(o)
+
+
+def update_forward_refs(model: Type["Model"], **localns: Any) -> None:
+ if IS_PYDANTIC_V2:
+ model.model_rebuild(raise_errors=False) # type: ignore[attr-defined]
+ else:
+ model.update_forward_refs(**localns)
+
+
+# Mirrors Pydantic's internal typing
+AnyCallable = Callable[..., Any]
+
+
+def universal_root_validator(
+ pre: bool = False,
+) -> Callable[[AnyCallable], AnyCallable]:
+ def decorator(func: AnyCallable) -> AnyCallable:
+ if IS_PYDANTIC_V2:
+ return cast(AnyCallable, pydantic.model_validator(mode="before" if pre else "after")(func)) # type: ignore[attr-defined]
+ return cast(AnyCallable, pydantic.root_validator(pre=pre)(func)) # type: ignore[call-overload]
+
+ return decorator
+
+
+def universal_field_validator(field_name: str, pre: bool = False) -> Callable[[AnyCallable], AnyCallable]:
+ def decorator(func: AnyCallable) -> AnyCallable:
+ if IS_PYDANTIC_V2:
+ return cast(AnyCallable, pydantic.field_validator(field_name, mode="before" if pre else "after")(func)) # type: ignore[attr-defined]
+ return cast(AnyCallable, pydantic.validator(field_name, pre=pre)(func))
+
+ return decorator
+
+
+PydanticField = Union[ModelField, pydantic.fields.FieldInfo]
+
+
+def _get_model_fields(model: Type["Model"]) -> Mapping[str, PydanticField]:
+ if IS_PYDANTIC_V2:
+ return cast(Mapping[str, PydanticField], model.model_fields) # type: ignore[attr-defined]
+ return cast(Mapping[str, PydanticField], model.__fields__)
+
+
+def _get_field_default(field: PydanticField) -> Any:
+ try:
+ value = field.get_default() # type: ignore[union-attr]
+ except:
+ value = field.default
+ if IS_PYDANTIC_V2:
+ from pydantic_core import PydanticUndefined
+
+ if value == PydanticUndefined:
+ return None
+ return value
+ return value
diff --git a/src/vellum/core/query_encoder.py b/src/vellum/core/query_encoder.py
index 15f9928d68..3183001d40 100644
--- a/src/vellum/core/query_encoder.py
+++ b/src/vellum/core/query_encoder.py
@@ -1,3 +1,58 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.query_encoder import *
+from typing import Any, Dict, List, Optional, Tuple
+
+import pydantic
+
+
+# Flattens dicts to be of the form {"key[subkey][subkey2]": value} where value is not a dict
+def traverse_query_dict(dict_flat: Dict[str, Any], key_prefix: Optional[str] = None) -> List[Tuple[str, Any]]:
+ result = []
+ for k, v in dict_flat.items():
+ key = f"{key_prefix}[{k}]" if key_prefix is not None else k
+ if isinstance(v, dict):
+ result.extend(traverse_query_dict(v, key))
+ elif isinstance(v, list):
+ for arr_v in v:
+ if isinstance(arr_v, dict):
+ result.extend(traverse_query_dict(arr_v, key))
+ else:
+ result.append((key, arr_v))
+ else:
+ result.append((key, v))
+ return result
+
+
+def single_query_encoder(query_key: str, query_value: Any) -> List[Tuple[str, Any]]:
+ if isinstance(query_value, pydantic.BaseModel) or isinstance(query_value, dict):
+ if isinstance(query_value, pydantic.BaseModel):
+ obj_dict = query_value.dict(by_alias=True)
+ else:
+ obj_dict = query_value
+ return traverse_query_dict(obj_dict, query_key)
+ elif isinstance(query_value, list):
+ encoded_values: List[Tuple[str, Any]] = []
+ for value in query_value:
+ if isinstance(value, pydantic.BaseModel) or isinstance(value, dict):
+ if isinstance(value, pydantic.BaseModel):
+ obj_dict = value.dict(by_alias=True)
+ elif isinstance(value, dict):
+ obj_dict = value
+
+ encoded_values.extend(single_query_encoder(query_key, obj_dict))
+ else:
+ encoded_values.append((query_key, value))
+
+ return encoded_values
+
+ return [(query_key, query_value)]
+
+
+def encode_query(query: Optional[Dict[str, Any]]) -> Optional[List[Tuple[str, Any]]]:
+ if query is None:
+ return None
+
+ encoded_query = []
+ for k, v in query.items():
+ encoded_query.extend(single_query_encoder(k, v))
+ return encoded_query
diff --git a/src/vellum/core/remove_none_from_dict.py b/src/vellum/core/remove_none_from_dict.py
index d9418bf283..c2298143f1 100644
--- a/src/vellum/core/remove_none_from_dict.py
+++ b/src/vellum/core/remove_none_from_dict.py
@@ -1,3 +1,11 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.remove_none_from_dict import *
+from typing import Any, Dict, Mapping, Optional
+
+
+def remove_none_from_dict(original: Mapping[str, Optional[Any]]) -> Dict[str, Any]:
+ new: Dict[str, Any] = {}
+ for key, value in original.items():
+ if value is not None:
+ new[key] = value
+ return new
diff --git a/src/vellum/core/request_options.py b/src/vellum/core/request_options.py
index 201502b6dd..1b38804432 100644
--- a/src/vellum/core/request_options.py
+++ b/src/vellum/core/request_options.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.request_options import *
+import typing
+
+try:
+ from typing import NotRequired # type: ignore
+except ImportError:
+ from typing_extensions import NotRequired
+
+
+class RequestOptions(typing.TypedDict, total=False):
+ """
+ Additional options for request-specific configuration when calling APIs via the SDK.
+ This is used primarily as an optional final parameter for service functions.
+
+ Attributes:
+ - timeout_in_seconds: int. The number of seconds to await an API call before timing out.
+
+ - max_retries: int. The max number of retries to attempt if the API call fails.
+
+ - additional_headers: typing.Dict[str, typing.Any]. A dictionary containing additional parameters to spread into the request's header dict
+
+ - additional_query_parameters: typing.Dict[str, typing.Any]. A dictionary containing additional parameters to spread into the request's query parameters dict
+
+ - additional_body_parameters: typing.Dict[str, typing.Any]. A dictionary containing additional parameters to spread into the request's body parameters dict
+
+ - chunk_size: int. The size, in bytes, to process each chunk of data being streamed back within the response. This equates to leveraging `chunk_size` within `requests` or `httpx`, and is only leveraged for file downloads.
+ """
+
+ timeout_in_seconds: NotRequired[int]
+ max_retries: NotRequired[int]
+ additional_headers: NotRequired[typing.Dict[str, typing.Any]]
+ additional_query_parameters: NotRequired[typing.Dict[str, typing.Any]]
+ additional_body_parameters: NotRequired[typing.Dict[str, typing.Any]]
+ chunk_size: NotRequired[int]
diff --git a/src/vellum/core/serialization.py b/src/vellum/core/serialization.py
index c48c6d3231..c36e865cc7 100644
--- a/src/vellum/core/serialization.py
+++ b/src/vellum/core/serialization.py
@@ -1,3 +1,276 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.serialization import *
+import collections
+import inspect
+import typing
+
+import pydantic
+import typing_extensions
+
+
+class FieldMetadata:
+ """
+ Metadata class used to annotate fields to provide additional information.
+
+ Example:
+ class MyDict(TypedDict):
+ field: typing.Annotated[str, FieldMetadata(alias="field_name")]
+
+ Will serialize: `{"field": "value"}`
+ To: `{"field_name": "value"}`
+ """
+
+ alias: str
+
+ def __init__(self, *, alias: str) -> None:
+ self.alias = alias
+
+
+def convert_and_respect_annotation_metadata(
+ *,
+ object_: typing.Any,
+ annotation: typing.Any,
+ inner_type: typing.Optional[typing.Any] = None,
+ direction: typing.Literal["read", "write"],
+) -> typing.Any:
+ """
+ Respect the metadata annotations on a field, such as aliasing. This function effectively
+ manipulates the dict-form of an object to respect the metadata annotations. This is primarily used for
+ TypedDicts, which cannot support aliasing out of the box, and can be extended for additional
+ utilities, such as defaults.
+
+ Parameters
+ ----------
+ object_ : typing.Any
+
+ annotation : type
+ The type we're looking to apply typing annotations from
+
+ inner_type : typing.Optional[type]
+
+ Returns
+ -------
+ typing.Any
+ """
+
+ if object_ is None:
+ return None
+ if inner_type is None:
+ inner_type = annotation
+
+ clean_type = _remove_annotations(inner_type)
+ # Pydantic models
+ if (
+ inspect.isclass(clean_type)
+ and issubclass(clean_type, pydantic.BaseModel)
+ and isinstance(object_, typing.Mapping)
+ ):
+ return _convert_mapping(object_, clean_type, direction)
+ # TypedDicts
+ if typing_extensions.is_typeddict(clean_type) and isinstance(object_, typing.Mapping):
+ return _convert_mapping(object_, clean_type, direction)
+
+ if (
+ typing_extensions.get_origin(clean_type) == typing.Dict
+ or typing_extensions.get_origin(clean_type) == dict
+ or clean_type == typing.Dict
+ ) and isinstance(object_, typing.Dict):
+ key_type = typing_extensions.get_args(clean_type)[0]
+ value_type = typing_extensions.get_args(clean_type)[1]
+
+ return {
+ key: convert_and_respect_annotation_metadata(
+ object_=value,
+ annotation=annotation,
+ inner_type=value_type,
+ direction=direction,
+ )
+ for key, value in object_.items()
+ }
+
+ # If you're iterating on a string, do not bother to coerce it to a sequence.
+ if not isinstance(object_, str):
+ if (
+ typing_extensions.get_origin(clean_type) == typing.Set
+ or typing_extensions.get_origin(clean_type) == set
+ or clean_type == typing.Set
+ ) and isinstance(object_, typing.Set):
+ inner_type = typing_extensions.get_args(clean_type)[0]
+ return {
+ convert_and_respect_annotation_metadata(
+ object_=item,
+ annotation=annotation,
+ inner_type=inner_type,
+ direction=direction,
+ )
+ for item in object_
+ }
+ elif (
+ (
+ typing_extensions.get_origin(clean_type) == typing.List
+ or typing_extensions.get_origin(clean_type) == list
+ or clean_type == typing.List
+ )
+ and isinstance(object_, typing.List)
+ ) or (
+ (
+ typing_extensions.get_origin(clean_type) == typing.Sequence
+ or typing_extensions.get_origin(clean_type) == collections.abc.Sequence
+ or clean_type == typing.Sequence
+ )
+ and isinstance(object_, typing.Sequence)
+ ):
+ inner_type = typing_extensions.get_args(clean_type)[0]
+ return [
+ convert_and_respect_annotation_metadata(
+ object_=item,
+ annotation=annotation,
+ inner_type=inner_type,
+ direction=direction,
+ )
+ for item in object_
+ ]
+
+ if typing_extensions.get_origin(clean_type) == typing.Union:
+ # We should be able to ~relatively~ safely try to convert keys against all
+ # member types in the union, the edge case here is if one member aliases a field
+ # of the same name to a different name from another member
+ # Or if another member aliases a field of the same name that another member does not.
+ for member in typing_extensions.get_args(clean_type):
+ object_ = convert_and_respect_annotation_metadata(
+ object_=object_,
+ annotation=annotation,
+ inner_type=member,
+ direction=direction,
+ )
+ return object_
+
+ annotated_type = _get_annotation(annotation)
+ if annotated_type is None:
+ return object_
+
+ # If the object is not a TypedDict, a Union, or other container (list, set, sequence, etc.)
+ # Then we can safely call it on the recursive conversion.
+ return object_
+
+
+def _convert_mapping(
+ object_: typing.Mapping[str, object],
+ expected_type: typing.Any,
+ direction: typing.Literal["read", "write"],
+) -> typing.Mapping[str, object]:
+ converted_object: typing.Dict[str, object] = {}
+ try:
+ annotations = typing_extensions.get_type_hints(expected_type, include_extras=True)
+ except NameError:
+ # The TypedDict contains a circular reference, so
+ # we use the __annotations__ attribute directly.
+ annotations = getattr(expected_type, "__annotations__", {})
+ aliases_to_field_names = _get_alias_to_field_name(annotations)
+ for key, value in object_.items():
+ if direction == "read" and key in aliases_to_field_names:
+ dealiased_key = aliases_to_field_names.get(key)
+ if dealiased_key is not None:
+ type_ = annotations.get(dealiased_key)
+ else:
+ type_ = annotations.get(key)
+ # Note you can't get the annotation by the field name if you're in read mode, so you must check the aliases map
+ #
+ # So this is effectively saying if we're in write mode, and we don't have a type, or if we're in read mode and we don't have an alias
+ # then we can just pass the value through as is
+ if type_ is None:
+ converted_object[key] = value
+ elif direction == "read" and key not in aliases_to_field_names:
+ converted_object[key] = convert_and_respect_annotation_metadata(
+ object_=value, annotation=type_, direction=direction
+ )
+ else:
+ converted_object[_alias_key(key, type_, direction, aliases_to_field_names)] = (
+ convert_and_respect_annotation_metadata(object_=value, annotation=type_, direction=direction)
+ )
+ return converted_object
+
+
+def _get_annotation(type_: typing.Any) -> typing.Optional[typing.Any]:
+ maybe_annotated_type = typing_extensions.get_origin(type_)
+ if maybe_annotated_type is None:
+ return None
+
+ if maybe_annotated_type == typing_extensions.NotRequired:
+ type_ = typing_extensions.get_args(type_)[0]
+ maybe_annotated_type = typing_extensions.get_origin(type_)
+
+ if maybe_annotated_type == typing_extensions.Annotated:
+ return type_
+
+ return None
+
+
+def _remove_annotations(type_: typing.Any) -> typing.Any:
+ maybe_annotated_type = typing_extensions.get_origin(type_)
+ if maybe_annotated_type is None:
+ return type_
+
+ if maybe_annotated_type == typing_extensions.NotRequired:
+ return _remove_annotations(typing_extensions.get_args(type_)[0])
+
+ if maybe_annotated_type == typing_extensions.Annotated:
+ return _remove_annotations(typing_extensions.get_args(type_)[0])
+
+ return type_
+
+
+def get_alias_to_field_mapping(type_: typing.Any) -> typing.Dict[str, str]:
+ annotations = typing_extensions.get_type_hints(type_, include_extras=True)
+ return _get_alias_to_field_name(annotations)
+
+
+def get_field_to_alias_mapping(type_: typing.Any) -> typing.Dict[str, str]:
+ annotations = typing_extensions.get_type_hints(type_, include_extras=True)
+ return _get_field_to_alias_name(annotations)
+
+
+def _get_alias_to_field_name(
+ field_to_hint: typing.Dict[str, typing.Any],
+) -> typing.Dict[str, str]:
+ aliases = {}
+ for field, hint in field_to_hint.items():
+ maybe_alias = _get_alias_from_type(hint)
+ if maybe_alias is not None:
+ aliases[maybe_alias] = field
+ return aliases
+
+
+def _get_field_to_alias_name(
+ field_to_hint: typing.Dict[str, typing.Any],
+) -> typing.Dict[str, str]:
+ aliases = {}
+ for field, hint in field_to_hint.items():
+ maybe_alias = _get_alias_from_type(hint)
+ if maybe_alias is not None:
+ aliases[field] = maybe_alias
+ return aliases
+
+
+def _get_alias_from_type(type_: typing.Any) -> typing.Optional[str]:
+ maybe_annotated_type = _get_annotation(type_)
+
+ if maybe_annotated_type is not None:
+ # The actual annotations are 1 onward, the first is the annotated type
+ annotations = typing_extensions.get_args(maybe_annotated_type)[1:]
+
+ for annotation in annotations:
+ if isinstance(annotation, FieldMetadata) and annotation.alias is not None:
+ return annotation.alias
+ return None
+
+
+def _alias_key(
+ key: str,
+ type_: typing.Any,
+ direction: typing.Literal["read", "write"],
+ aliases_to_field_names: typing.Dict[str, str],
+) -> str:
+ if direction == "read":
+ return aliases_to_field_names.get(key, key)
+ return _get_alias_from_type(type_=type_) or key
diff --git a/src/vellum/environment.py b/src/vellum/environment.py
index 114cfd26e9..47202e3f12 100644
--- a/src/vellum/environment.py
+++ b/src/vellum/environment.py
@@ -1,3 +1,17 @@
-# WARNING: This file will be removed in a future release.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.environment import VellumEnvironment
+from __future__ import annotations
+
+
+class VellumEnvironment:
+ PRODUCTION: VellumEnvironment
+
+ def __init__(self, *, default: str, predict: str, documents: str):
+ self.default = default
+ self.predict = predict
+ self.documents = documents
+
+
+VellumEnvironment.PRODUCTION = VellumEnvironment(
+ default="https://api.vellum.ai", predict="https://predict.vellum.ai", documents="https://documents.vellum.ai"
+)
diff --git a/src/vellum/errors/__init__.py b/src/vellum/errors/__init__.py
index f336cf1ef6..df09962bda 100644
--- a/src/vellum/errors/__init__.py
+++ b/src/vellum/errors/__init__.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.errors import *
+# isort: skip_file
+
+from .bad_request_error import BadRequestError
+from .forbidden_error import ForbiddenError
+from .internal_server_error import InternalServerError
+from .misdirected_request_error import MisdirectedRequestError
+from .not_found_error import NotFoundError
+from .too_many_requests_error import TooManyRequestsError
+from .unauthorized_error import UnauthorizedError
+
+__all__ = [
+ "BadRequestError",
+ "ForbiddenError",
+ "InternalServerError",
+ "MisdirectedRequestError",
+ "NotFoundError",
+ "TooManyRequestsError",
+ "UnauthorizedError",
+]
diff --git a/src/vellum/errors/bad_request_error.py b/src/vellum/errors/bad_request_error.py
index 232c23386f..baf5be4f75 100644
--- a/src/vellum/errors/bad_request_error.py
+++ b/src/vellum/errors/bad_request_error.py
@@ -1,3 +1,10 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.errors.bad_request_error import *
+import typing
+
+from ..core.api_error import ApiError
+
+
+class BadRequestError(ApiError):
+ def __init__(self, body: typing.Optional[typing.Any], headers: typing.Optional[typing.Dict[str, str]] = None):
+ super().__init__(status_code=400, headers=headers, body=body)
diff --git a/src/vellum/errors/forbidden_error.py b/src/vellum/errors/forbidden_error.py
index 20942578e1..3e390b0de4 100644
--- a/src/vellum/errors/forbidden_error.py
+++ b/src/vellum/errors/forbidden_error.py
@@ -1,3 +1,10 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.errors.forbidden_error import *
+import typing
+
+from ..core.api_error import ApiError
+
+
+class ForbiddenError(ApiError):
+ def __init__(self, body: typing.Optional[typing.Any], headers: typing.Optional[typing.Dict[str, str]] = None):
+ super().__init__(status_code=403, headers=headers, body=body)
diff --git a/src/vellum/errors/internal_server_error.py b/src/vellum/errors/internal_server_error.py
index 56866153ca..14313ab416 100644
--- a/src/vellum/errors/internal_server_error.py
+++ b/src/vellum/errors/internal_server_error.py
@@ -1,3 +1,10 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.errors.internal_server_error import *
+import typing
+
+from ..core.api_error import ApiError
+
+
+class InternalServerError(ApiError):
+ def __init__(self, body: typing.Optional[typing.Any], headers: typing.Optional[typing.Dict[str, str]] = None):
+ super().__init__(status_code=500, headers=headers, body=body)
diff --git a/src/vellum/errors/misdirected_request_error.py b/src/vellum/errors/misdirected_request_error.py
index 4aff559d14..8e871c7e54 100644
--- a/src/vellum/errors/misdirected_request_error.py
+++ b/src/vellum/errors/misdirected_request_error.py
@@ -1,3 +1,11 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.errors.misdirected_request_error import *
+import typing
+
+from ..core.api_error import ApiError
+from ..types.update_active_workspace_response import UpdateActiveWorkspaceResponse
+
+
+class MisdirectedRequestError(ApiError):
+ def __init__(self, body: UpdateActiveWorkspaceResponse, headers: typing.Optional[typing.Dict[str, str]] = None):
+ super().__init__(status_code=421, headers=headers, body=body)
diff --git a/src/vellum/errors/not_found_error.py b/src/vellum/errors/not_found_error.py
index 99c618b43f..dcd60e383e 100644
--- a/src/vellum/errors/not_found_error.py
+++ b/src/vellum/errors/not_found_error.py
@@ -1,3 +1,10 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.errors.not_found_error import *
+import typing
+
+from ..core.api_error import ApiError
+
+
+class NotFoundError(ApiError):
+ def __init__(self, body: typing.Optional[typing.Any], headers: typing.Optional[typing.Dict[str, str]] = None):
+ super().__init__(status_code=404, headers=headers, body=body)
diff --git a/src/vellum/errors/too_many_requests_error.py b/src/vellum/errors/too_many_requests_error.py
index a68047ef37..ba568a023f 100644
--- a/src/vellum/errors/too_many_requests_error.py
+++ b/src/vellum/errors/too_many_requests_error.py
@@ -1,3 +1,11 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.errors.too_many_requests_error import *
+import typing
+
+from ..core.api_error import ApiError
+from ..types.error_detail_response import ErrorDetailResponse
+
+
+class TooManyRequestsError(ApiError):
+ def __init__(self, body: ErrorDetailResponse, headers: typing.Optional[typing.Dict[str, str]] = None):
+ super().__init__(status_code=429, headers=headers, body=body)
diff --git a/src/vellum/errors/unauthorized_error.py b/src/vellum/errors/unauthorized_error.py
index d3c2192cb9..d915d58f53 100644
--- a/src/vellum/errors/unauthorized_error.py
+++ b/src/vellum/errors/unauthorized_error.py
@@ -1,3 +1,11 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.errors.unauthorized_error import *
+import typing
+
+from ..core.api_error import ApiError
+from ..types.error_detail_response import ErrorDetailResponse
+
+
+class UnauthorizedError(ApiError):
+ def __init__(self, body: ErrorDetailResponse, headers: typing.Optional[typing.Dict[str, str]] = None):
+ super().__init__(status_code=401, headers=headers, body=body)
diff --git a/src/vellum/raw_client.py b/src/vellum/raw_client.py
index acbf040647..2bb7adaae2 100644
--- a/src/vellum/raw_client.py
+++ b/src/vellum/raw_client.py
@@ -1,3 +1,2494 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.raw_client import *
+import contextlib
+import json
+import typing
+from json.decoder import JSONDecodeError
+
+from .core.api_error import ApiError
+from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from .core.http_response import AsyncHttpResponse, HttpResponse
+from .core.pydantic_utilities import parse_obj_as
+from .core.request_options import RequestOptions
+from .core.serialization import convert_and_respect_annotation_metadata
+from .errors.bad_request_error import BadRequestError
+from .errors.forbidden_error import ForbiddenError
+from .errors.internal_server_error import InternalServerError
+from .errors.not_found_error import NotFoundError
+from .types.code_execution_package import CodeExecutionPackage
+from .types.code_execution_runtime import CodeExecutionRuntime
+from .types.code_executor_input import CodeExecutorInput
+from .types.code_executor_response import CodeExecutorResponse
+from .types.execute_api_request_bearer_token import ExecuteApiRequestBearerToken
+from .types.execute_api_request_body import ExecuteApiRequestBody
+from .types.execute_api_request_headers_value import ExecuteApiRequestHeadersValue
+from .types.execute_api_response import ExecuteApiResponse
+from .types.execute_prompt_event import ExecutePromptEvent
+from .types.execute_prompt_response import ExecutePromptResponse
+from .types.execute_workflow_response import ExecuteWorkflowResponse
+from .types.generate_options_request import GenerateOptionsRequest
+from .types.generate_request import GenerateRequest
+from .types.generate_response import GenerateResponse
+from .types.generate_stream_response import GenerateStreamResponse
+from .types.method_enum import MethodEnum
+from .types.prompt_deployment_expand_meta_request import PromptDeploymentExpandMetaRequest
+from .types.prompt_deployment_input_request import PromptDeploymentInputRequest
+from .types.raw_prompt_execution_overrides_request import RawPromptExecutionOverridesRequest
+from .types.search_request_options_request import SearchRequestOptionsRequest
+from .types.search_response import SearchResponse
+from .types.submit_completion_actual_request import SubmitCompletionActualRequest
+from .types.submit_workflow_execution_actual_request import SubmitWorkflowExecutionActualRequest
+from .types.vellum_variable_type import VellumVariableType
+from .types.workflow_execution_event_type import WorkflowExecutionEventType
+from .types.workflow_expand_meta_request import WorkflowExpandMetaRequest
+from .types.workflow_request_input_request import WorkflowRequestInputRequest
+from .types.workflow_stream_event import WorkflowStreamEvent
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawVellum:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def execute_api(
+ self,
+ *,
+ url: str,
+ method: typing.Optional[MethodEnum] = OMIT,
+ body: typing.Optional[ExecuteApiRequestBody] = OMIT,
+ headers: typing.Optional[typing.Dict[str, ExecuteApiRequestHeadersValue]] = OMIT,
+ bearer_token: typing.Optional[ExecuteApiRequestBearerToken] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[ExecuteApiResponse]:
+ """
+ Parameters
+ ----------
+ url : str
+
+ method : typing.Optional[MethodEnum]
+
+ body : typing.Optional[ExecuteApiRequestBody]
+
+ headers : typing.Optional[typing.Dict[str, ExecuteApiRequestHeadersValue]]
+
+ bearer_token : typing.Optional[ExecuteApiRequestBearerToken]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ExecuteApiResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/execute-api",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "url": url,
+ "method": method,
+ "body": convert_and_respect_annotation_metadata(
+ object_=body, annotation=typing.Optional[ExecuteApiRequestBody], direction="write"
+ ),
+ "headers": convert_and_respect_annotation_metadata(
+ object_=headers, annotation=typing.Dict[str, ExecuteApiRequestHeadersValue], direction="write"
+ ),
+ "bearer_token": convert_and_respect_annotation_metadata(
+ object_=bearer_token, annotation=typing.Optional[ExecuteApiRequestBearerToken], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ExecuteApiResponse,
+ parse_obj_as(
+ type_=ExecuteApiResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def execute_code(
+ self,
+ *,
+ code: str,
+ runtime: CodeExecutionRuntime,
+ input_values: typing.Sequence[CodeExecutorInput],
+ packages: typing.Sequence[CodeExecutionPackage],
+ output_type: VellumVariableType,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[CodeExecutorResponse]:
+ """
+ Parameters
+ ----------
+ code : str
+
+ runtime : CodeExecutionRuntime
+
+ input_values : typing.Sequence[CodeExecutorInput]
+
+ packages : typing.Sequence[CodeExecutionPackage]
+
+ output_type : VellumVariableType
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[CodeExecutorResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/execute-code",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "code": code,
+ "runtime": runtime,
+ "input_values": convert_and_respect_annotation_metadata(
+ object_=input_values, annotation=typing.Sequence[CodeExecutorInput], direction="write"
+ ),
+ "packages": convert_and_respect_annotation_metadata(
+ object_=packages, annotation=typing.Sequence[CodeExecutionPackage], direction="write"
+ ),
+ "output_type": output_type,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ CodeExecutorResponse,
+ parse_obj_as(
+ type_=CodeExecutorResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def execute_prompt(
+ self,
+ *,
+ inputs: typing.Sequence[PromptDeploymentInputRequest],
+ prompt_deployment_id: typing.Optional[str] = OMIT,
+ prompt_deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ expand_meta: typing.Optional[PromptDeploymentExpandMetaRequest] = OMIT,
+ raw_overrides: typing.Optional[RawPromptExecutionOverridesRequest] = OMIT,
+ expand_raw: typing.Optional[typing.Sequence[str]] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[ExecutePromptResponse]:
+ """
+ Executes a deployed Prompt and returns the result.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[PromptDeploymentInputRequest]
+ A list consisting of the Prompt Deployment's input variables and their values.
+
+ prompt_deployment_id : typing.Optional[str]
+ The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
+
+ prompt_deployment_name : typing.Optional[str]
+ The unique name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
+
+ external_id : typing.Optional[str]
+ Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
+
+ expand_meta : typing.Optional[PromptDeploymentExpandMetaRequest]
+ An optionally specified configuration used to opt in to including additional metadata about this prompt execution in the API response. Corresponding values will be returned under the `meta` key of the API response.
+
+ raw_overrides : typing.Optional[RawPromptExecutionOverridesRequest]
+ Overrides for the raw API request sent to the model host. Combined with `expand_raw`, it can be used to access new features from models.
+
+ expand_raw : typing.Optional[typing.Sequence[str]]
+ A list of keys whose values you'd like to directly return from the JSON response of the model provider. Useful if you need lower-level info returned by model providers that Vellum would otherwise omit. Corresponding key/value pairs will be returned under the `raw` key of the API response.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ExecutePromptResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/execute-prompt",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
+ ),
+ "prompt_deployment_id": prompt_deployment_id,
+ "prompt_deployment_name": prompt_deployment_name,
+ "release_tag": release_tag,
+ "external_id": external_id,
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta,
+ annotation=typing.Optional[PromptDeploymentExpandMetaRequest],
+ direction="write",
+ ),
+ "raw_overrides": convert_and_respect_annotation_metadata(
+ object_=raw_overrides,
+ annotation=typing.Optional[RawPromptExecutionOverridesRequest],
+ direction="write",
+ ),
+ "expand_raw": expand_raw,
+ "metadata": metadata,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ExecutePromptResponse,
+ parse_obj_as(
+ type_=ExecutePromptResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ @contextlib.contextmanager
+ def execute_prompt_stream(
+ self,
+ *,
+ inputs: typing.Sequence[PromptDeploymentInputRequest],
+ prompt_deployment_id: typing.Optional[str] = OMIT,
+ prompt_deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ expand_meta: typing.Optional[PromptDeploymentExpandMetaRequest] = OMIT,
+ raw_overrides: typing.Optional[RawPromptExecutionOverridesRequest] = OMIT,
+ expand_raw: typing.Optional[typing.Sequence[str]] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Iterator[HttpResponse[typing.Iterator[ExecutePromptEvent]]]:
+ """
+ Executes a deployed Prompt and streams back the results.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[PromptDeploymentInputRequest]
+ A list consisting of the Prompt Deployment's input variables and their values.
+
+ prompt_deployment_id : typing.Optional[str]
+ The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
+
+ prompt_deployment_name : typing.Optional[str]
+ The unique name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
+
+ external_id : typing.Optional[str]
+ Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
+
+ expand_meta : typing.Optional[PromptDeploymentExpandMetaRequest]
+ An optionally specified configuration used to opt in to including additional metadata about this prompt execution in the API response. Corresponding values will be returned under the `meta` key of the API response.
+
+ raw_overrides : typing.Optional[RawPromptExecutionOverridesRequest]
+ Overrides for the raw API request sent to the model host. Combined with `expand_raw`, it can be used to access new features from models.
+
+ expand_raw : typing.Optional[typing.Sequence[str]]
+ A list of keys whose values you'd like to directly return from the JSON response of the model provider. Useful if you need lower-level info returned by model providers that Vellum would otherwise omit. Corresponding key/value pairs will be returned under the `raw` key of the API response.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.Iterator[HttpResponse[typing.Iterator[ExecutePromptEvent]]]
+
+ """
+ with self._client_wrapper.httpx_client.stream(
+ "v1/execute-prompt-stream",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
+ ),
+ "prompt_deployment_id": prompt_deployment_id,
+ "prompt_deployment_name": prompt_deployment_name,
+ "release_tag": release_tag,
+ "external_id": external_id,
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta,
+ annotation=typing.Optional[PromptDeploymentExpandMetaRequest],
+ direction="write",
+ ),
+ "raw_overrides": convert_and_respect_annotation_metadata(
+ object_=raw_overrides,
+ annotation=typing.Optional[RawPromptExecutionOverridesRequest],
+ direction="write",
+ ),
+ "expand_raw": expand_raw,
+ "metadata": metadata,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ ) as _response:
+
+ def _stream() -> HttpResponse[typing.Iterator[ExecutePromptEvent]]:
+ try:
+ if 200 <= _response.status_code < 300:
+
+ def _iter():
+ for _text in _response.iter_lines():
+ try:
+ if len(_text) == 0:
+ continue
+ yield typing.cast(
+ ExecutePromptEvent,
+ parse_obj_as(
+ type_=ExecutePromptEvent, # type: ignore
+ object_=json.loads(_text),
+ ),
+ )
+ except Exception:
+ pass
+ return
+
+ return HttpResponse(response=_response, data=_iter())
+ _response.read()
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield _stream()
+
+ def execute_workflow(
+ self,
+ *,
+ inputs: typing.Sequence[WorkflowRequestInputRequest],
+ expand_meta: typing.Optional[WorkflowExpandMetaRequest] = OMIT,
+ workflow_deployment_id: typing.Optional[str] = OMIT,
+ workflow_deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ previous_execution_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[ExecuteWorkflowResponse]:
+ """
+ Executes a deployed Workflow and returns its outputs.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[WorkflowRequestInputRequest]
+ The list of inputs defined in the Workflow's Deployment with their corresponding values.
+
+ expand_meta : typing.Optional[WorkflowExpandMetaRequest]
+ An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
+
+ workflow_deployment_id : typing.Optional[str]
+ The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
+
+ workflow_deployment_name : typing.Optional[str]
+ The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
+
+ external_id : typing.Optional[str]
+ Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
+
+ previous_execution_id : typing.Optional[str]
+ The ID of a previous Workflow Execution to reference for initial State loading.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ExecuteWorkflowResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/execute-workflow",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
+ ),
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta, annotation=typing.Optional[WorkflowExpandMetaRequest], direction="write"
+ ),
+ "workflow_deployment_id": workflow_deployment_id,
+ "workflow_deployment_name": workflow_deployment_name,
+ "release_tag": release_tag,
+ "external_id": external_id,
+ "metadata": metadata,
+ "previous_execution_id": previous_execution_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ExecuteWorkflowResponse,
+ parse_obj_as(
+ type_=ExecuteWorkflowResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ @contextlib.contextmanager
+ def execute_workflow_stream(
+ self,
+ *,
+ inputs: typing.Sequence[WorkflowRequestInputRequest],
+ expand_meta: typing.Optional[WorkflowExpandMetaRequest] = OMIT,
+ workflow_deployment_id: typing.Optional[str] = OMIT,
+ workflow_deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ event_types: typing.Optional[typing.Sequence[WorkflowExecutionEventType]] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ previous_execution_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Iterator[HttpResponse[typing.Iterator[WorkflowStreamEvent]]]:
+ """
+ Executes a deployed Workflow and streams back its results.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[WorkflowRequestInputRequest]
+ The list of inputs defined in the Workflow's Deployment with their corresponding values.
+
+ expand_meta : typing.Optional[WorkflowExpandMetaRequest]
+ An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
+
+ workflow_deployment_id : typing.Optional[str]
+ The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
+
+ workflow_deployment_name : typing.Optional[str]
+ The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
+
+ external_id : typing.Optional[str]
+ Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
+
+ event_types : typing.Optional[typing.Sequence[WorkflowExecutionEventType]]
+ Optionally specify which events you want to receive. Defaults to only WORKFLOW events. Note that the schema of non-WORKFLOW events is unstable and should be used with caution.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
+
+ previous_execution_id : typing.Optional[str]
+ The ID of a previous Workflow Execution to reference for initial State loading.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.Iterator[HttpResponse[typing.Iterator[WorkflowStreamEvent]]]
+
+ """
+ with self._client_wrapper.httpx_client.stream(
+ "v1/execute-workflow-stream",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
+ ),
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta, annotation=typing.Optional[WorkflowExpandMetaRequest], direction="write"
+ ),
+ "workflow_deployment_id": workflow_deployment_id,
+ "workflow_deployment_name": workflow_deployment_name,
+ "release_tag": release_tag,
+ "external_id": external_id,
+ "event_types": event_types,
+ "metadata": metadata,
+ "previous_execution_id": previous_execution_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ ) as _response:
+
+ def _stream() -> HttpResponse[typing.Iterator[WorkflowStreamEvent]]:
+ try:
+ if 200 <= _response.status_code < 300:
+
+ def _iter():
+ for _text in _response.iter_lines():
+ try:
+ if len(_text) == 0:
+ continue
+ yield typing.cast(
+ WorkflowStreamEvent,
+ parse_obj_as(
+ type_=WorkflowStreamEvent, # type: ignore
+ object_=json.loads(_text),
+ ),
+ )
+ except Exception:
+ pass
+ return
+
+ return HttpResponse(response=_response, data=_iter())
+ _response.read()
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield _stream()
+
+ def generate(
+ self,
+ *,
+ requests: typing.Sequence[GenerateRequest],
+ deployment_id: typing.Optional[str] = OMIT,
+ deployment_name: typing.Optional[str] = OMIT,
+ options: typing.Optional[GenerateOptionsRequest] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[GenerateResponse]:
+ """
+ Generate a completion using a previously defined deployment.
+
+ Important: This endpoint is DEPRECATED and has been superseded by
+ [execute-prompt](/api-reference/api-reference/execute-prompt).
+
+ Parameters
+ ----------
+ requests : typing.Sequence[GenerateRequest]
+ The generation request to make. Bulk requests are no longer supported, this field must be an array of length 1.
+
+ deployment_id : typing.Optional[str]
+ The ID of the deployment. Must provide either this or deployment_name.
+
+ deployment_name : typing.Optional[str]
+ The name of the deployment. Must provide either this or deployment_id.
+
+ options : typing.Optional[GenerateOptionsRequest]
+ Additional configuration that can be used to control what's included in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[GenerateResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/generate",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "deployment_id": deployment_id,
+ "deployment_name": deployment_name,
+ "requests": convert_and_respect_annotation_metadata(
+ object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
+ ),
+ "options": convert_and_respect_annotation_metadata(
+ object_=options, annotation=typing.Optional[GenerateOptionsRequest], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ GenerateResponse,
+ parse_obj_as(
+ type_=GenerateResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ @contextlib.contextmanager
+ def generate_stream(
+ self,
+ *,
+ requests: typing.Sequence[GenerateRequest],
+ deployment_id: typing.Optional[str] = OMIT,
+ deployment_name: typing.Optional[str] = OMIT,
+ options: typing.Optional[GenerateOptionsRequest] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Iterator[HttpResponse[typing.Iterator[GenerateStreamResponse]]]:
+ """
+ Generate a stream of completions using a previously defined deployment.
+
+ Important: This endpoint is DEPRECATED and has been superseded by
+ [execute-prompt-stream](/api-reference/api-reference/execute-prompt-stream).
+
+ Parameters
+ ----------
+ requests : typing.Sequence[GenerateRequest]
+ The generation request to make. Bulk requests are no longer supported, this field must be an array of length 1.
+
+ deployment_id : typing.Optional[str]
+ The ID of the deployment. Must provide either this or deployment_name.
+
+ deployment_name : typing.Optional[str]
+ The name of the deployment. Must provide either this or deployment_id.
+
+ options : typing.Optional[GenerateOptionsRequest]
+ Additional configuration that can be used to control what's included in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.Iterator[HttpResponse[typing.Iterator[GenerateStreamResponse]]]
+
+ """
+ with self._client_wrapper.httpx_client.stream(
+ "v1/generate-stream",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "deployment_id": deployment_id,
+ "deployment_name": deployment_name,
+ "requests": convert_and_respect_annotation_metadata(
+ object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
+ ),
+ "options": convert_and_respect_annotation_metadata(
+ object_=options, annotation=typing.Optional[GenerateOptionsRequest], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ ) as _response:
+
+ def _stream() -> HttpResponse[typing.Iterator[GenerateStreamResponse]]:
+ try:
+ if 200 <= _response.status_code < 300:
+
+ def _iter():
+ for _text in _response.iter_lines():
+ try:
+ if len(_text) == 0:
+ continue
+ yield typing.cast(
+ GenerateStreamResponse,
+ parse_obj_as(
+ type_=GenerateStreamResponse, # type: ignore
+ object_=json.loads(_text),
+ ),
+ )
+ except Exception:
+ pass
+ return
+
+ return HttpResponse(response=_response, data=_iter())
+ _response.read()
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield _stream()
+
+ def search(
+ self,
+ *,
+ query: str,
+ index_id: typing.Optional[str] = OMIT,
+ index_name: typing.Optional[str] = OMIT,
+ options: typing.Optional[SearchRequestOptionsRequest] = OMIT,
+ document_index: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[SearchResponse]:
+ """
+ Perform a search against a document index.
+
+ Parameters
+ ----------
+ query : str
+ The query to search for.
+
+ index_id : typing.Optional[str]
+ The ID of the index to search against. Must provide either this, index_name or document_index.
+
+ index_name : typing.Optional[str]
+ The name of the index to search against. Must provide either this, index_id or document_index.
+
+ options : typing.Optional[SearchRequestOptionsRequest]
+ Configuration options for the search.
+
+ document_index : typing.Optional[str]
+ Either the index name or index ID to search against. Must provide either this, index_id or index_name.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[SearchResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/search",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "index_id": index_id,
+ "index_name": index_name,
+ "query": query,
+ "options": convert_and_respect_annotation_metadata(
+ object_=options, annotation=typing.Optional[SearchRequestOptionsRequest], direction="write"
+ ),
+ "document_index": document_index,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ SearchResponse,
+ parse_obj_as(
+ type_=SearchResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def submit_completion_actuals(
+ self,
+ *,
+ actuals: typing.Sequence[SubmitCompletionActualRequest],
+ deployment_id: typing.Optional[str] = OMIT,
+ deployment_name: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[None]:
+ """
+ Used to submit feedback regarding the quality of previously generated completions.
+
+ Parameters
+ ----------
+ actuals : typing.Sequence[SubmitCompletionActualRequest]
+ Feedback regarding the quality of previously generated completions
+
+ deployment_id : typing.Optional[str]
+ The ID of the deployment. Must provide either this or deployment_name.
+
+ deployment_name : typing.Optional[str]
+ The name of the deployment. Must provide either this or deployment_id.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/submit-completion-actuals",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "deployment_id": deployment_id,
+ "deployment_name": deployment_name,
+ "actuals": convert_and_respect_annotation_metadata(
+ object_=actuals, annotation=typing.Sequence[SubmitCompletionActualRequest], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def submit_workflow_execution_actuals(
+ self,
+ *,
+ actuals: typing.Sequence[SubmitWorkflowExecutionActualRequest],
+ execution_id: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[None]:
+ """
+ Used to submit feedback regarding the quality of previous workflow execution and its outputs.
+
+ **Note:** Uses a base url of `https://predict.vellum.ai`.
+
+ Parameters
+ ----------
+ actuals : typing.Sequence[SubmitWorkflowExecutionActualRequest]
+ Feedback regarding the quality of an output on a previously executed workflow.
+
+ execution_id : typing.Optional[str]
+ The Vellum-generated ID of a previously executed workflow. Must provide either this or external_id.
+
+ external_id : typing.Optional[str]
+ The external ID that was originally provided by when executing the workflow, if applicable, that you'd now like to submit actuals for. Must provide either this or execution_id.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/submit-workflow-execution-actuals",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "actuals": convert_and_respect_annotation_metadata(
+ object_=actuals, annotation=typing.Sequence[SubmitWorkflowExecutionActualRequest], direction="write"
+ ),
+ "execution_id": execution_id,
+ "external_id": external_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawVellum:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def execute_api(
+ self,
+ *,
+ url: str,
+ method: typing.Optional[MethodEnum] = OMIT,
+ body: typing.Optional[ExecuteApiRequestBody] = OMIT,
+ headers: typing.Optional[typing.Dict[str, ExecuteApiRequestHeadersValue]] = OMIT,
+ bearer_token: typing.Optional[ExecuteApiRequestBearerToken] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[ExecuteApiResponse]:
+ """
+ Parameters
+ ----------
+ url : str
+
+ method : typing.Optional[MethodEnum]
+
+ body : typing.Optional[ExecuteApiRequestBody]
+
+ headers : typing.Optional[typing.Dict[str, ExecuteApiRequestHeadersValue]]
+
+ bearer_token : typing.Optional[ExecuteApiRequestBearerToken]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ExecuteApiResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/execute-api",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "url": url,
+ "method": method,
+ "body": convert_and_respect_annotation_metadata(
+ object_=body, annotation=typing.Optional[ExecuteApiRequestBody], direction="write"
+ ),
+ "headers": convert_and_respect_annotation_metadata(
+ object_=headers, annotation=typing.Dict[str, ExecuteApiRequestHeadersValue], direction="write"
+ ),
+ "bearer_token": convert_and_respect_annotation_metadata(
+ object_=bearer_token, annotation=typing.Optional[ExecuteApiRequestBearerToken], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ExecuteApiResponse,
+ parse_obj_as(
+ type_=ExecuteApiResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def execute_code(
+ self,
+ *,
+ code: str,
+ runtime: CodeExecutionRuntime,
+ input_values: typing.Sequence[CodeExecutorInput],
+ packages: typing.Sequence[CodeExecutionPackage],
+ output_type: VellumVariableType,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[CodeExecutorResponse]:
+ """
+ Parameters
+ ----------
+ code : str
+
+ runtime : CodeExecutionRuntime
+
+ input_values : typing.Sequence[CodeExecutorInput]
+
+ packages : typing.Sequence[CodeExecutionPackage]
+
+ output_type : VellumVariableType
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[CodeExecutorResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/execute-code",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "code": code,
+ "runtime": runtime,
+ "input_values": convert_and_respect_annotation_metadata(
+ object_=input_values, annotation=typing.Sequence[CodeExecutorInput], direction="write"
+ ),
+ "packages": convert_and_respect_annotation_metadata(
+ object_=packages, annotation=typing.Sequence[CodeExecutionPackage], direction="write"
+ ),
+ "output_type": output_type,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ CodeExecutorResponse,
+ parse_obj_as(
+ type_=CodeExecutorResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def execute_prompt(
+ self,
+ *,
+ inputs: typing.Sequence[PromptDeploymentInputRequest],
+ prompt_deployment_id: typing.Optional[str] = OMIT,
+ prompt_deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ expand_meta: typing.Optional[PromptDeploymentExpandMetaRequest] = OMIT,
+ raw_overrides: typing.Optional[RawPromptExecutionOverridesRequest] = OMIT,
+ expand_raw: typing.Optional[typing.Sequence[str]] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[ExecutePromptResponse]:
+ """
+ Executes a deployed Prompt and returns the result.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[PromptDeploymentInputRequest]
+ A list consisting of the Prompt Deployment's input variables and their values.
+
+ prompt_deployment_id : typing.Optional[str]
+ The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
+
+ prompt_deployment_name : typing.Optional[str]
+ The unique name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
+
+ external_id : typing.Optional[str]
+ Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
+
+ expand_meta : typing.Optional[PromptDeploymentExpandMetaRequest]
+ An optionally specified configuration used to opt in to including additional metadata about this prompt execution in the API response. Corresponding values will be returned under the `meta` key of the API response.
+
+ raw_overrides : typing.Optional[RawPromptExecutionOverridesRequest]
+ Overrides for the raw API request sent to the model host. Combined with `expand_raw`, it can be used to access new features from models.
+
+ expand_raw : typing.Optional[typing.Sequence[str]]
+ A list of keys whose values you'd like to directly return from the JSON response of the model provider. Useful if you need lower-level info returned by model providers that Vellum would otherwise omit. Corresponding key/value pairs will be returned under the `raw` key of the API response.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ExecutePromptResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/execute-prompt",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
+ ),
+ "prompt_deployment_id": prompt_deployment_id,
+ "prompt_deployment_name": prompt_deployment_name,
+ "release_tag": release_tag,
+ "external_id": external_id,
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta,
+ annotation=typing.Optional[PromptDeploymentExpandMetaRequest],
+ direction="write",
+ ),
+ "raw_overrides": convert_and_respect_annotation_metadata(
+ object_=raw_overrides,
+ annotation=typing.Optional[RawPromptExecutionOverridesRequest],
+ direction="write",
+ ),
+ "expand_raw": expand_raw,
+ "metadata": metadata,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ExecutePromptResponse,
+ parse_obj_as(
+ type_=ExecutePromptResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ @contextlib.asynccontextmanager
+ async def execute_prompt_stream(
+ self,
+ *,
+ inputs: typing.Sequence[PromptDeploymentInputRequest],
+ prompt_deployment_id: typing.Optional[str] = OMIT,
+ prompt_deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ expand_meta: typing.Optional[PromptDeploymentExpandMetaRequest] = OMIT,
+ raw_overrides: typing.Optional[RawPromptExecutionOverridesRequest] = OMIT,
+ expand_raw: typing.Optional[typing.Sequence[str]] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[ExecutePromptEvent]]]:
+ """
+ Executes a deployed Prompt and streams back the results.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[PromptDeploymentInputRequest]
+ A list consisting of the Prompt Deployment's input variables and their values.
+
+ prompt_deployment_id : typing.Optional[str]
+ The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
+
+ prompt_deployment_name : typing.Optional[str]
+ The unique name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
+
+ external_id : typing.Optional[str]
+ Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
+
+ expand_meta : typing.Optional[PromptDeploymentExpandMetaRequest]
+ An optionally specified configuration used to opt in to including additional metadata about this prompt execution in the API response. Corresponding values will be returned under the `meta` key of the API response.
+
+ raw_overrides : typing.Optional[RawPromptExecutionOverridesRequest]
+ Overrides for the raw API request sent to the model host. Combined with `expand_raw`, it can be used to access new features from models.
+
+ expand_raw : typing.Optional[typing.Sequence[str]]
+ A list of keys whose values you'd like to directly return from the JSON response of the model provider. Useful if you need lower-level info returned by model providers that Vellum would otherwise omit. Corresponding key/value pairs will be returned under the `raw` key of the API response.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[ExecutePromptEvent]]]
+
+ """
+ async with self._client_wrapper.httpx_client.stream(
+ "v1/execute-prompt-stream",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
+ ),
+ "prompt_deployment_id": prompt_deployment_id,
+ "prompt_deployment_name": prompt_deployment_name,
+ "release_tag": release_tag,
+ "external_id": external_id,
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta,
+ annotation=typing.Optional[PromptDeploymentExpandMetaRequest],
+ direction="write",
+ ),
+ "raw_overrides": convert_and_respect_annotation_metadata(
+ object_=raw_overrides,
+ annotation=typing.Optional[RawPromptExecutionOverridesRequest],
+ direction="write",
+ ),
+ "expand_raw": expand_raw,
+ "metadata": metadata,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ ) as _response:
+
+ async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[ExecutePromptEvent]]:
+ try:
+ if 200 <= _response.status_code < 300:
+
+ async def _iter():
+ async for _text in _response.aiter_lines():
+ try:
+ if len(_text) == 0:
+ continue
+ yield typing.cast(
+ ExecutePromptEvent,
+ parse_obj_as(
+ type_=ExecutePromptEvent, # type: ignore
+ object_=json.loads(_text),
+ ),
+ )
+ except Exception:
+ pass
+ return
+
+ return AsyncHttpResponse(response=_response, data=_iter())
+ await _response.aread()
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield await _stream()
+
+ async def execute_workflow(
+ self,
+ *,
+ inputs: typing.Sequence[WorkflowRequestInputRequest],
+ expand_meta: typing.Optional[WorkflowExpandMetaRequest] = OMIT,
+ workflow_deployment_id: typing.Optional[str] = OMIT,
+ workflow_deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ previous_execution_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[ExecuteWorkflowResponse]:
+ """
+ Executes a deployed Workflow and returns its outputs.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[WorkflowRequestInputRequest]
+ The list of inputs defined in the Workflow's Deployment with their corresponding values.
+
+ expand_meta : typing.Optional[WorkflowExpandMetaRequest]
+ An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
+
+ workflow_deployment_id : typing.Optional[str]
+ The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
+
+ workflow_deployment_name : typing.Optional[str]
+ The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
+
+ external_id : typing.Optional[str]
+ Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
+
+ previous_execution_id : typing.Optional[str]
+ The ID of a previous Workflow Execution to reference for initial State loading.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ExecuteWorkflowResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/execute-workflow",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
+ ),
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta, annotation=typing.Optional[WorkflowExpandMetaRequest], direction="write"
+ ),
+ "workflow_deployment_id": workflow_deployment_id,
+ "workflow_deployment_name": workflow_deployment_name,
+ "release_tag": release_tag,
+ "external_id": external_id,
+ "metadata": metadata,
+ "previous_execution_id": previous_execution_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ExecuteWorkflowResponse,
+ parse_obj_as(
+ type_=ExecuteWorkflowResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ @contextlib.asynccontextmanager
+ async def execute_workflow_stream(
+ self,
+ *,
+ inputs: typing.Sequence[WorkflowRequestInputRequest],
+ expand_meta: typing.Optional[WorkflowExpandMetaRequest] = OMIT,
+ workflow_deployment_id: typing.Optional[str] = OMIT,
+ workflow_deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ event_types: typing.Optional[typing.Sequence[WorkflowExecutionEventType]] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ previous_execution_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[WorkflowStreamEvent]]]:
+ """
+ Executes a deployed Workflow and streams back its results.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[WorkflowRequestInputRequest]
+ The list of inputs defined in the Workflow's Deployment with their corresponding values.
+
+ expand_meta : typing.Optional[WorkflowExpandMetaRequest]
+ An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
+
+ workflow_deployment_id : typing.Optional[str]
+ The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
+
+ workflow_deployment_name : typing.Optional[str]
+ The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
+
+ external_id : typing.Optional[str]
+ Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
+
+ event_types : typing.Optional[typing.Sequence[WorkflowExecutionEventType]]
+ Optionally specify which events you want to receive. Defaults to only WORKFLOW events. Note that the schema of non-WORKFLOW events is unstable and should be used with caution.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
+
+ previous_execution_id : typing.Optional[str]
+ The ID of a previous Workflow Execution to reference for initial State loading.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[WorkflowStreamEvent]]]
+
+ """
+ async with self._client_wrapper.httpx_client.stream(
+ "v1/execute-workflow-stream",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[WorkflowRequestInputRequest], direction="write"
+ ),
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta, annotation=typing.Optional[WorkflowExpandMetaRequest], direction="write"
+ ),
+ "workflow_deployment_id": workflow_deployment_id,
+ "workflow_deployment_name": workflow_deployment_name,
+ "release_tag": release_tag,
+ "external_id": external_id,
+ "event_types": event_types,
+ "metadata": metadata,
+ "previous_execution_id": previous_execution_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ ) as _response:
+
+ async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[WorkflowStreamEvent]]:
+ try:
+ if 200 <= _response.status_code < 300:
+
+ async def _iter():
+ async for _text in _response.aiter_lines():
+ try:
+ if len(_text) == 0:
+ continue
+ yield typing.cast(
+ WorkflowStreamEvent,
+ parse_obj_as(
+ type_=WorkflowStreamEvent, # type: ignore
+ object_=json.loads(_text),
+ ),
+ )
+ except Exception:
+ pass
+ return
+
+ return AsyncHttpResponse(response=_response, data=_iter())
+ await _response.aread()
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield await _stream()
+
+ async def generate(
+ self,
+ *,
+ requests: typing.Sequence[GenerateRequest],
+ deployment_id: typing.Optional[str] = OMIT,
+ deployment_name: typing.Optional[str] = OMIT,
+ options: typing.Optional[GenerateOptionsRequest] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[GenerateResponse]:
+ """
+ Generate a completion using a previously defined deployment.
+
+ Important: This endpoint is DEPRECATED and has been superseded by
+ [execute-prompt](/api-reference/api-reference/execute-prompt).
+
+ Parameters
+ ----------
+ requests : typing.Sequence[GenerateRequest]
+ The generation request to make. Bulk requests are no longer supported, this field must be an array of length 1.
+
+ deployment_id : typing.Optional[str]
+ The ID of the deployment. Must provide either this or deployment_name.
+
+ deployment_name : typing.Optional[str]
+ The name of the deployment. Must provide either this or deployment_id.
+
+ options : typing.Optional[GenerateOptionsRequest]
+ Additional configuration that can be used to control what's included in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[GenerateResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/generate",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "deployment_id": deployment_id,
+ "deployment_name": deployment_name,
+ "requests": convert_and_respect_annotation_metadata(
+ object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
+ ),
+ "options": convert_and_respect_annotation_metadata(
+ object_=options, annotation=typing.Optional[GenerateOptionsRequest], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ GenerateResponse,
+ parse_obj_as(
+ type_=GenerateResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ @contextlib.asynccontextmanager
+ async def generate_stream(
+ self,
+ *,
+ requests: typing.Sequence[GenerateRequest],
+ deployment_id: typing.Optional[str] = OMIT,
+ deployment_name: typing.Optional[str] = OMIT,
+ options: typing.Optional[GenerateOptionsRequest] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[GenerateStreamResponse]]]:
+ """
+ Generate a stream of completions using a previously defined deployment.
+
+ Important: This endpoint is DEPRECATED and has been superseded by
+ [execute-prompt-stream](/api-reference/api-reference/execute-prompt-stream).
+
+ Parameters
+ ----------
+ requests : typing.Sequence[GenerateRequest]
+ The generation request to make. Bulk requests are no longer supported, this field must be an array of length 1.
+
+ deployment_id : typing.Optional[str]
+ The ID of the deployment. Must provide either this or deployment_name.
+
+ deployment_name : typing.Optional[str]
+ The name of the deployment. Must provide either this or deployment_id.
+
+ options : typing.Optional[GenerateOptionsRequest]
+ Additional configuration that can be used to control what's included in the response.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[GenerateStreamResponse]]]
+
+ """
+ async with self._client_wrapper.httpx_client.stream(
+ "v1/generate-stream",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "deployment_id": deployment_id,
+ "deployment_name": deployment_name,
+ "requests": convert_and_respect_annotation_metadata(
+ object_=requests, annotation=typing.Sequence[GenerateRequest], direction="write"
+ ),
+ "options": convert_and_respect_annotation_metadata(
+ object_=options, annotation=typing.Optional[GenerateOptionsRequest], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ ) as _response:
+
+ async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[GenerateStreamResponse]]:
+ try:
+ if 200 <= _response.status_code < 300:
+
+ async def _iter():
+ async for _text in _response.aiter_lines():
+ try:
+ if len(_text) == 0:
+ continue
+ yield typing.cast(
+ GenerateStreamResponse,
+ parse_obj_as(
+ type_=GenerateStreamResponse, # type: ignore
+ object_=json.loads(_text),
+ ),
+ )
+ except Exception:
+ pass
+ return
+
+ return AsyncHttpResponse(response=_response, data=_iter())
+ await _response.aread()
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield await _stream()
+
+ async def search(
+ self,
+ *,
+ query: str,
+ index_id: typing.Optional[str] = OMIT,
+ index_name: typing.Optional[str] = OMIT,
+ options: typing.Optional[SearchRequestOptionsRequest] = OMIT,
+ document_index: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[SearchResponse]:
+ """
+ Perform a search against a document index.
+
+ Parameters
+ ----------
+ query : str
+ The query to search for.
+
+ index_id : typing.Optional[str]
+ The ID of the index to search against. Must provide either this, index_name or document_index.
+
+ index_name : typing.Optional[str]
+ The name of the index to search against. Must provide either this, index_id or document_index.
+
+ options : typing.Optional[SearchRequestOptionsRequest]
+ Configuration options for the search.
+
+ document_index : typing.Optional[str]
+ Either the index name or index ID to search against. Must provide either this, index_id or index_name.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[SearchResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/search",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "index_id": index_id,
+ "index_name": index_name,
+ "query": query,
+ "options": convert_and_respect_annotation_metadata(
+ object_=options, annotation=typing.Optional[SearchRequestOptionsRequest], direction="write"
+ ),
+ "document_index": document_index,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ SearchResponse,
+ parse_obj_as(
+ type_=SearchResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def submit_completion_actuals(
+ self,
+ *,
+ actuals: typing.Sequence[SubmitCompletionActualRequest],
+ deployment_id: typing.Optional[str] = OMIT,
+ deployment_name: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[None]:
+ """
+ Used to submit feedback regarding the quality of previously generated completions.
+
+ Parameters
+ ----------
+ actuals : typing.Sequence[SubmitCompletionActualRequest]
+ Feedback regarding the quality of previously generated completions
+
+ deployment_id : typing.Optional[str]
+ The ID of the deployment. Must provide either this or deployment_name.
+
+ deployment_name : typing.Optional[str]
+ The name of the deployment. Must provide either this or deployment_id.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/submit-completion-actuals",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "deployment_id": deployment_id,
+ "deployment_name": deployment_name,
+ "actuals": convert_and_respect_annotation_metadata(
+ object_=actuals, annotation=typing.Sequence[SubmitCompletionActualRequest], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def submit_workflow_execution_actuals(
+ self,
+ *,
+ actuals: typing.Sequence[SubmitWorkflowExecutionActualRequest],
+ execution_id: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[None]:
+ """
+ Used to submit feedback regarding the quality of previous workflow execution and its outputs.
+
+ **Note:** Uses a base url of `https://predict.vellum.ai`.
+
+ Parameters
+ ----------
+ actuals : typing.Sequence[SubmitWorkflowExecutionActualRequest]
+ Feedback regarding the quality of an output on a previously executed workflow.
+
+ execution_id : typing.Optional[str]
+ The Vellum-generated ID of a previously executed workflow. Must provide either this or external_id.
+
+ external_id : typing.Optional[str]
+ The external ID that was originally provided by when executing the workflow, if applicable, that you'd now like to submit actuals for. Must provide either this or execution_id.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/submit-workflow-execution-actuals",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "actuals": convert_and_respect_annotation_metadata(
+ object_=actuals, annotation=typing.Sequence[SubmitWorkflowExecutionActualRequest], direction="write"
+ ),
+ "execution_id": execution_id,
+ "external_id": external_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/__init__.py b/src/vellum/resources/__init__.py
index cf47be09b5..68b33cb4eb 100644
--- a/src/vellum/resources/__init__.py
+++ b/src/vellum/resources/__init__.py
@@ -1,3 +1,71 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources import *
+# isort: skip_file
+
+from . import (
+ ad_hoc,
+ container_images,
+ deployments,
+ document_indexes,
+ documents,
+ environments,
+ events,
+ folder_entities,
+ integration_auth_configs,
+ integration_providers,
+ integrations,
+ metric_definitions,
+ ml_models,
+ organizations,
+ prompts,
+ sandboxes,
+ test_suite_runs,
+ test_suites,
+ uploaded_files,
+ workflow_deployments,
+ workflow_executions,
+ workflow_sandboxes,
+ workflows,
+ workspace_secrets,
+ workspaces,
+)
+from .deployments import DeploymentsListRequestStatus, ListDeploymentReleaseTagsRequestSource
+from .document_indexes import DocumentIndexesListRequestStatus
+from .folder_entities import FolderEntitiesListRequestEntityStatus
+from .workflow_deployments import ListWorkflowReleaseTagsRequestSource, WorkflowDeploymentsListRequestStatus
+from .workflow_sandboxes import ListWorkflowSandboxExamplesRequestTag
+
+__all__ = [
+ "DeploymentsListRequestStatus",
+ "DocumentIndexesListRequestStatus",
+ "FolderEntitiesListRequestEntityStatus",
+ "ListDeploymentReleaseTagsRequestSource",
+ "ListWorkflowReleaseTagsRequestSource",
+ "ListWorkflowSandboxExamplesRequestTag",
+ "WorkflowDeploymentsListRequestStatus",
+ "ad_hoc",
+ "container_images",
+ "deployments",
+ "document_indexes",
+ "documents",
+ "environments",
+ "events",
+ "folder_entities",
+ "integration_auth_configs",
+ "integration_providers",
+ "integrations",
+ "metric_definitions",
+ "ml_models",
+ "organizations",
+ "prompts",
+ "sandboxes",
+ "test_suite_runs",
+ "test_suites",
+ "uploaded_files",
+ "workflow_deployments",
+ "workflow_executions",
+ "workflow_sandboxes",
+ "workflows",
+ "workspace_secrets",
+ "workspaces",
+]
diff --git a/src/vellum/resources/ad_hoc/__init__.py b/src/vellum/resources/ad_hoc/__init__.py
index c8bf2091b8..5cde0202dc 100644
--- a/src/vellum/resources/ad_hoc/__init__.py
+++ b/src/vellum/resources/ad_hoc/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.ad_hoc import *
diff --git a/src/vellum/resources/ad_hoc/client.py b/src/vellum/resources/ad_hoc/client.py
index 7c753e098c..1c21c45e3c 100644
--- a/src/vellum/resources/ad_hoc/client.py
+++ b/src/vellum/resources/ad_hoc/client.py
@@ -1,3 +1,479 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.ad_hoc.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.ad_hoc_execute_prompt_event import AdHocExecutePromptEvent
+from ...types.ad_hoc_expand_meta import AdHocExpandMeta
+from ...types.deprecated_prompt_request_input import DeprecatedPromptRequestInput
+from ...types.function_definition import FunctionDefinition
+from ...types.prompt_block import PromptBlock
+from ...types.prompt_parameters import PromptParameters
+from ...types.prompt_settings import PromptSettings
+from ...types.vellum_variable import VellumVariable
+from .raw_client import AsyncRawAdHocClient, RawAdHocClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class AdHocClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawAdHocClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawAdHocClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawAdHocClient
+ """
+ return self._raw_client
+
+ def adhoc_execute_prompt(
+ self,
+ *,
+ ml_model: str,
+ input_values: typing.Sequence[DeprecatedPromptRequestInput],
+ input_variables: typing.Sequence[VellumVariable],
+ parameters: PromptParameters,
+ blocks: typing.Sequence[PromptBlock],
+ settings: typing.Optional[PromptSettings] = OMIT,
+ functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
+ expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AdHocExecutePromptEvent:
+ """
+ Parameters
+ ----------
+ ml_model : str
+
+ input_values : typing.Sequence[DeprecatedPromptRequestInput]
+
+ input_variables : typing.Sequence[VellumVariable]
+
+ parameters : PromptParameters
+
+ blocks : typing.Sequence[PromptBlock]
+
+ settings : typing.Optional[PromptSettings]
+
+ functions : typing.Optional[typing.Sequence[FunctionDefinition]]
+
+ expand_meta : typing.Optional[AdHocExpandMeta]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AdHocExecutePromptEvent
+
+
+ Examples
+ --------
+ from vellum import (
+ JinjaPromptBlock,
+ PromptParameters,
+ StringInput,
+ Vellum,
+ VellumVariable,
+ )
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.ad_hoc.adhoc_execute_prompt(
+ ml_model="x",
+ input_values=[
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ ],
+ input_variables=[
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ ],
+ parameters=PromptParameters(),
+ blocks=[
+ JinjaPromptBlock(
+ template="template",
+ ),
+ JinjaPromptBlock(
+ template="template",
+ ),
+ ],
+ )
+ """
+ _response = self._raw_client.adhoc_execute_prompt(
+ ml_model=ml_model,
+ input_values=input_values,
+ input_variables=input_variables,
+ parameters=parameters,
+ blocks=blocks,
+ settings=settings,
+ functions=functions,
+ expand_meta=expand_meta,
+ request_options=request_options,
+ )
+ return _response.data
+
+ def adhoc_execute_prompt_stream(
+ self,
+ *,
+ ml_model: str,
+ input_values: typing.Sequence[DeprecatedPromptRequestInput],
+ input_variables: typing.Sequence[VellumVariable],
+ parameters: PromptParameters,
+ blocks: typing.Sequence[PromptBlock],
+ settings: typing.Optional[PromptSettings] = OMIT,
+ functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
+ expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Iterator[AdHocExecutePromptEvent]:
+ """
+ Parameters
+ ----------
+ ml_model : str
+
+ input_values : typing.Sequence[DeprecatedPromptRequestInput]
+
+ input_variables : typing.Sequence[VellumVariable]
+
+ parameters : PromptParameters
+
+ blocks : typing.Sequence[PromptBlock]
+
+ settings : typing.Optional[PromptSettings]
+
+ functions : typing.Optional[typing.Sequence[FunctionDefinition]]
+
+ expand_meta : typing.Optional[AdHocExpandMeta]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.Iterator[AdHocExecutePromptEvent]
+
+
+ Examples
+ --------
+ from vellum import (
+ JinjaPromptBlock,
+ PromptParameters,
+ StringInput,
+ Vellum,
+ VellumVariable,
+ )
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ response = client.ad_hoc.adhoc_execute_prompt_stream(
+ ml_model="x",
+ input_values=[
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ ],
+ input_variables=[
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ ],
+ parameters=PromptParameters(),
+ blocks=[
+ JinjaPromptBlock(
+ template="template",
+ ),
+ JinjaPromptBlock(
+ template="template",
+ ),
+ ],
+ )
+ for chunk in response:
+ yield chunk
+ """
+ with self._raw_client.adhoc_execute_prompt_stream(
+ ml_model=ml_model,
+ input_values=input_values,
+ input_variables=input_variables,
+ parameters=parameters,
+ blocks=blocks,
+ settings=settings,
+ functions=functions,
+ expand_meta=expand_meta,
+ request_options=request_options,
+ ) as r:
+ yield from r.data
+
+
+class AsyncAdHocClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawAdHocClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawAdHocClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawAdHocClient
+ """
+ return self._raw_client
+
+ async def adhoc_execute_prompt(
+ self,
+ *,
+ ml_model: str,
+ input_values: typing.Sequence[DeprecatedPromptRequestInput],
+ input_variables: typing.Sequence[VellumVariable],
+ parameters: PromptParameters,
+ blocks: typing.Sequence[PromptBlock],
+ settings: typing.Optional[PromptSettings] = OMIT,
+ functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
+ expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AdHocExecutePromptEvent:
+ """
+ Parameters
+ ----------
+ ml_model : str
+
+ input_values : typing.Sequence[DeprecatedPromptRequestInput]
+
+ input_variables : typing.Sequence[VellumVariable]
+
+ parameters : PromptParameters
+
+ blocks : typing.Sequence[PromptBlock]
+
+ settings : typing.Optional[PromptSettings]
+
+ functions : typing.Optional[typing.Sequence[FunctionDefinition]]
+
+ expand_meta : typing.Optional[AdHocExpandMeta]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AdHocExecutePromptEvent
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import (
+ AsyncVellum,
+ JinjaPromptBlock,
+ PromptParameters,
+ StringInput,
+ VellumVariable,
+ )
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.ad_hoc.adhoc_execute_prompt(
+ ml_model="x",
+ input_values=[
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ ],
+ input_variables=[
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ ],
+ parameters=PromptParameters(),
+ blocks=[
+ JinjaPromptBlock(
+ template="template",
+ ),
+ JinjaPromptBlock(
+ template="template",
+ ),
+ ],
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.adhoc_execute_prompt(
+ ml_model=ml_model,
+ input_values=input_values,
+ input_variables=input_variables,
+ parameters=parameters,
+ blocks=blocks,
+ settings=settings,
+ functions=functions,
+ expand_meta=expand_meta,
+ request_options=request_options,
+ )
+ return _response.data
+
+ async def adhoc_execute_prompt_stream(
+ self,
+ *,
+ ml_model: str,
+ input_values: typing.Sequence[DeprecatedPromptRequestInput],
+ input_variables: typing.Sequence[VellumVariable],
+ parameters: PromptParameters,
+ blocks: typing.Sequence[PromptBlock],
+ settings: typing.Optional[PromptSettings] = OMIT,
+ functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
+ expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.AsyncIterator[AdHocExecutePromptEvent]:
+ """
+ Parameters
+ ----------
+ ml_model : str
+
+ input_values : typing.Sequence[DeprecatedPromptRequestInput]
+
+ input_variables : typing.Sequence[VellumVariable]
+
+ parameters : PromptParameters
+
+ blocks : typing.Sequence[PromptBlock]
+
+ settings : typing.Optional[PromptSettings]
+
+ functions : typing.Optional[typing.Sequence[FunctionDefinition]]
+
+ expand_meta : typing.Optional[AdHocExpandMeta]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.AsyncIterator[AdHocExecutePromptEvent]
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import (
+ AsyncVellum,
+ JinjaPromptBlock,
+ PromptParameters,
+ StringInput,
+ VellumVariable,
+ )
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ response = await client.ad_hoc.adhoc_execute_prompt_stream(
+ ml_model="x",
+ input_values=[
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ ],
+ input_variables=[
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ ],
+ parameters=PromptParameters(),
+ blocks=[
+ JinjaPromptBlock(
+ template="template",
+ ),
+ JinjaPromptBlock(
+ template="template",
+ ),
+ ],
+ )
+ async for chunk in response:
+ yield chunk
+
+
+ asyncio.run(main())
+ """
+ async with self._raw_client.adhoc_execute_prompt_stream(
+ ml_model=ml_model,
+ input_values=input_values,
+ input_variables=input_variables,
+ parameters=parameters,
+ blocks=blocks,
+ settings=settings,
+ functions=functions,
+ expand_meta=expand_meta,
+ request_options=request_options,
+ ) as r:
+ async for _chunk in r.data:
+ yield _chunk
diff --git a/src/vellum/resources/ad_hoc/raw_client.py b/src/vellum/resources/ad_hoc/raw_client.py
index 9f7d815489..167a4cd9fe 100644
--- a/src/vellum/resources/ad_hoc/raw_client.py
+++ b/src/vellum/resources/ad_hoc/raw_client.py
@@ -1,3 +1,569 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.ad_hoc.raw_client import *
+import contextlib
+import json
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...core.serialization import convert_and_respect_annotation_metadata
+from ...errors.bad_request_error import BadRequestError
+from ...errors.forbidden_error import ForbiddenError
+from ...errors.internal_server_error import InternalServerError
+from ...types.ad_hoc_execute_prompt_event import AdHocExecutePromptEvent
+from ...types.ad_hoc_expand_meta import AdHocExpandMeta
+from ...types.deprecated_prompt_request_input import DeprecatedPromptRequestInput
+from ...types.function_definition import FunctionDefinition
+from ...types.prompt_block import PromptBlock
+from ...types.prompt_parameters import PromptParameters
+from ...types.prompt_settings import PromptSettings
+from ...types.vellum_variable import VellumVariable
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawAdHocClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def adhoc_execute_prompt(
+ self,
+ *,
+ ml_model: str,
+ input_values: typing.Sequence[DeprecatedPromptRequestInput],
+ input_variables: typing.Sequence[VellumVariable],
+ parameters: PromptParameters,
+ blocks: typing.Sequence[PromptBlock],
+ settings: typing.Optional[PromptSettings] = OMIT,
+ functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
+ expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[AdHocExecutePromptEvent]:
+ """
+ Parameters
+ ----------
+ ml_model : str
+
+ input_values : typing.Sequence[DeprecatedPromptRequestInput]
+
+ input_variables : typing.Sequence[VellumVariable]
+
+ parameters : PromptParameters
+
+ blocks : typing.Sequence[PromptBlock]
+
+ settings : typing.Optional[PromptSettings]
+
+ functions : typing.Optional[typing.Sequence[FunctionDefinition]]
+
+ expand_meta : typing.Optional[AdHocExpandMeta]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[AdHocExecutePromptEvent]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/ad-hoc/execute-prompt",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "ml_model": ml_model,
+ "input_values": convert_and_respect_annotation_metadata(
+ object_=input_values, annotation=typing.Sequence[DeprecatedPromptRequestInput], direction="write"
+ ),
+ "input_variables": convert_and_respect_annotation_metadata(
+ object_=input_variables, annotation=typing.Sequence[VellumVariable], direction="write"
+ ),
+ "parameters": convert_and_respect_annotation_metadata(
+ object_=parameters, annotation=PromptParameters, direction="write"
+ ),
+ "settings": convert_and_respect_annotation_metadata(
+ object_=settings, annotation=typing.Optional[PromptSettings], direction="write"
+ ),
+ "blocks": convert_and_respect_annotation_metadata(
+ object_=blocks, annotation=typing.Sequence[PromptBlock], direction="write"
+ ),
+ "functions": convert_and_respect_annotation_metadata(
+ object_=functions,
+ annotation=typing.Optional[typing.Sequence[FunctionDefinition]],
+ direction="write",
+ ),
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta, annotation=typing.Optional[AdHocExpandMeta], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ AdHocExecutePromptEvent,
+ parse_obj_as(
+ type_=AdHocExecutePromptEvent, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ @contextlib.contextmanager
+ def adhoc_execute_prompt_stream(
+ self,
+ *,
+ ml_model: str,
+ input_values: typing.Sequence[DeprecatedPromptRequestInput],
+ input_variables: typing.Sequence[VellumVariable],
+ parameters: PromptParameters,
+ blocks: typing.Sequence[PromptBlock],
+ settings: typing.Optional[PromptSettings] = OMIT,
+ functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
+ expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Iterator[HttpResponse[typing.Iterator[AdHocExecutePromptEvent]]]:
+ """
+ Parameters
+ ----------
+ ml_model : str
+
+ input_values : typing.Sequence[DeprecatedPromptRequestInput]
+
+ input_variables : typing.Sequence[VellumVariable]
+
+ parameters : PromptParameters
+
+ blocks : typing.Sequence[PromptBlock]
+
+ settings : typing.Optional[PromptSettings]
+
+ functions : typing.Optional[typing.Sequence[FunctionDefinition]]
+
+ expand_meta : typing.Optional[AdHocExpandMeta]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.Iterator[HttpResponse[typing.Iterator[AdHocExecutePromptEvent]]]
+
+ """
+ with self._client_wrapper.httpx_client.stream(
+ "v1/ad-hoc/execute-prompt-stream",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "ml_model": ml_model,
+ "input_values": convert_and_respect_annotation_metadata(
+ object_=input_values, annotation=typing.Sequence[DeprecatedPromptRequestInput], direction="write"
+ ),
+ "input_variables": convert_and_respect_annotation_metadata(
+ object_=input_variables, annotation=typing.Sequence[VellumVariable], direction="write"
+ ),
+ "parameters": convert_and_respect_annotation_metadata(
+ object_=parameters, annotation=PromptParameters, direction="write"
+ ),
+ "settings": convert_and_respect_annotation_metadata(
+ object_=settings, annotation=typing.Optional[PromptSettings], direction="write"
+ ),
+ "blocks": convert_and_respect_annotation_metadata(
+ object_=blocks, annotation=typing.Sequence[PromptBlock], direction="write"
+ ),
+ "functions": convert_and_respect_annotation_metadata(
+ object_=functions,
+ annotation=typing.Optional[typing.Sequence[FunctionDefinition]],
+ direction="write",
+ ),
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta, annotation=typing.Optional[AdHocExpandMeta], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ ) as _response:
+
+ def _stream() -> HttpResponse[typing.Iterator[AdHocExecutePromptEvent]]:
+ try:
+ if 200 <= _response.status_code < 300:
+
+ def _iter():
+ for _text in _response.iter_lines():
+ try:
+ if len(_text) == 0:
+ continue
+ yield typing.cast(
+ AdHocExecutePromptEvent,
+ parse_obj_as(
+ type_=AdHocExecutePromptEvent, # type: ignore
+ object_=json.loads(_text),
+ ),
+ )
+ except Exception:
+ pass
+ return
+
+ return HttpResponse(response=_response, data=_iter())
+ _response.read()
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield _stream()
+
+
+class AsyncRawAdHocClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def adhoc_execute_prompt(
+ self,
+ *,
+ ml_model: str,
+ input_values: typing.Sequence[DeprecatedPromptRequestInput],
+ input_variables: typing.Sequence[VellumVariable],
+ parameters: PromptParameters,
+ blocks: typing.Sequence[PromptBlock],
+ settings: typing.Optional[PromptSettings] = OMIT,
+ functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
+ expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[AdHocExecutePromptEvent]:
+ """
+ Parameters
+ ----------
+ ml_model : str
+
+ input_values : typing.Sequence[DeprecatedPromptRequestInput]
+
+ input_variables : typing.Sequence[VellumVariable]
+
+ parameters : PromptParameters
+
+ blocks : typing.Sequence[PromptBlock]
+
+ settings : typing.Optional[PromptSettings]
+
+ functions : typing.Optional[typing.Sequence[FunctionDefinition]]
+
+ expand_meta : typing.Optional[AdHocExpandMeta]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[AdHocExecutePromptEvent]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/ad-hoc/execute-prompt",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "ml_model": ml_model,
+ "input_values": convert_and_respect_annotation_metadata(
+ object_=input_values, annotation=typing.Sequence[DeprecatedPromptRequestInput], direction="write"
+ ),
+ "input_variables": convert_and_respect_annotation_metadata(
+ object_=input_variables, annotation=typing.Sequence[VellumVariable], direction="write"
+ ),
+ "parameters": convert_and_respect_annotation_metadata(
+ object_=parameters, annotation=PromptParameters, direction="write"
+ ),
+ "settings": convert_and_respect_annotation_metadata(
+ object_=settings, annotation=typing.Optional[PromptSettings], direction="write"
+ ),
+ "blocks": convert_and_respect_annotation_metadata(
+ object_=blocks, annotation=typing.Sequence[PromptBlock], direction="write"
+ ),
+ "functions": convert_and_respect_annotation_metadata(
+ object_=functions,
+ annotation=typing.Optional[typing.Sequence[FunctionDefinition]],
+ direction="write",
+ ),
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta, annotation=typing.Optional[AdHocExpandMeta], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ AdHocExecutePromptEvent,
+ parse_obj_as(
+ type_=AdHocExecutePromptEvent, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ @contextlib.asynccontextmanager
+ async def adhoc_execute_prompt_stream(
+ self,
+ *,
+ ml_model: str,
+ input_values: typing.Sequence[DeprecatedPromptRequestInput],
+ input_variables: typing.Sequence[VellumVariable],
+ parameters: PromptParameters,
+ blocks: typing.Sequence[PromptBlock],
+ settings: typing.Optional[PromptSettings] = OMIT,
+ functions: typing.Optional[typing.Sequence[FunctionDefinition]] = OMIT,
+ expand_meta: typing.Optional[AdHocExpandMeta] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[AdHocExecutePromptEvent]]]:
+ """
+ Parameters
+ ----------
+ ml_model : str
+
+ input_values : typing.Sequence[DeprecatedPromptRequestInput]
+
+ input_variables : typing.Sequence[VellumVariable]
+
+ parameters : PromptParameters
+
+ blocks : typing.Sequence[PromptBlock]
+
+ settings : typing.Optional[PromptSettings]
+
+ functions : typing.Optional[typing.Sequence[FunctionDefinition]]
+
+ expand_meta : typing.Optional[AdHocExpandMeta]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[AdHocExecutePromptEvent]]]
+
+ """
+ async with self._client_wrapper.httpx_client.stream(
+ "v1/ad-hoc/execute-prompt-stream",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "ml_model": ml_model,
+ "input_values": convert_and_respect_annotation_metadata(
+ object_=input_values, annotation=typing.Sequence[DeprecatedPromptRequestInput], direction="write"
+ ),
+ "input_variables": convert_and_respect_annotation_metadata(
+ object_=input_variables, annotation=typing.Sequence[VellumVariable], direction="write"
+ ),
+ "parameters": convert_and_respect_annotation_metadata(
+ object_=parameters, annotation=PromptParameters, direction="write"
+ ),
+ "settings": convert_and_respect_annotation_metadata(
+ object_=settings, annotation=typing.Optional[PromptSettings], direction="write"
+ ),
+ "blocks": convert_and_respect_annotation_metadata(
+ object_=blocks, annotation=typing.Sequence[PromptBlock], direction="write"
+ ),
+ "functions": convert_and_respect_annotation_metadata(
+ object_=functions,
+ annotation=typing.Optional[typing.Sequence[FunctionDefinition]],
+ direction="write",
+ ),
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta, annotation=typing.Optional[AdHocExpandMeta], direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ ) as _response:
+
+ async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[AdHocExecutePromptEvent]]:
+ try:
+ if 200 <= _response.status_code < 300:
+
+ async def _iter():
+ async for _text in _response.aiter_lines():
+ try:
+ if len(_text) == 0:
+ continue
+ yield typing.cast(
+ AdHocExecutePromptEvent,
+ parse_obj_as(
+ type_=AdHocExecutePromptEvent, # type: ignore
+ object_=json.loads(_text),
+ ),
+ )
+ except Exception:
+ pass
+ return
+
+ return AsyncHttpResponse(response=_response, data=_iter())
+ await _response.aread()
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield await _stream()
diff --git a/src/vellum/resources/container_images/__init__.py b/src/vellum/resources/container_images/__init__.py
index 966286cb8a..5cde0202dc 100644
--- a/src/vellum/resources/container_images/__init__.py
+++ b/src/vellum/resources/container_images/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.container_images import *
diff --git a/src/vellum/resources/container_images/client.py b/src/vellum/resources/container_images/client.py
index 008824eeb1..3adc47d013 100644
--- a/src/vellum/resources/container_images/client.py
+++ b/src/vellum/resources/container_images/client.py
@@ -1,3 +1,377 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.container_images.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.container_image_read import ContainerImageRead
+from ...types.docker_service_token import DockerServiceToken
+from ...types.paginated_container_image_read_list import PaginatedContainerImageReadList
+from .raw_client import AsyncRawContainerImagesClient, RawContainerImagesClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class ContainerImagesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawContainerImagesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawContainerImagesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawContainerImagesClient
+ """
+ return self._raw_client
+
+ def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedContainerImageReadList:
+ """
+ Retrieve a list of container images for the organization.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedContainerImageReadList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.container_images.list()
+ """
+ _response = self._raw_client.list(
+ limit=limit, offset=offset, ordering=ordering, request_options=request_options
+ )
+ return _response.data
+
+ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ContainerImageRead:
+ """
+ Retrieve a Container Image by its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Container Image's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ContainerImageRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.container_images.retrieve(
+ id="id",
+ )
+ """
+ _response = self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ def docker_service_token(self, *, request_options: typing.Optional[RequestOptions] = None) -> DockerServiceToken:
+ """
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DockerServiceToken
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.container_images.docker_service_token()
+ """
+ _response = self._raw_client.docker_service_token(request_options=request_options)
+ return _response.data
+
+ def push_container_image(
+ self,
+ *,
+ name: str,
+ sha: str,
+ tags: typing.Sequence[str],
+ force: typing.Optional[bool] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ContainerImageRead:
+ """
+ Parameters
+ ----------
+ name : str
+
+ sha : str
+
+ tags : typing.Sequence[str]
+
+ force : typing.Optional[bool]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ContainerImageRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.container_images.push_container_image(
+ name="x",
+ sha="x",
+ tags=["tags", "tags"],
+ )
+ """
+ _response = self._raw_client.push_container_image(
+ name=name, sha=sha, tags=tags, force=force, request_options=request_options
+ )
+ return _response.data
+
+
+class AsyncContainerImagesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawContainerImagesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawContainerImagesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawContainerImagesClient
+ """
+ return self._raw_client
+
+ async def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedContainerImageReadList:
+ """
+ Retrieve a list of container images for the organization.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedContainerImageReadList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.container_images.list()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list(
+ limit=limit, offset=offset, ordering=ordering, request_options=request_options
+ )
+ return _response.data
+
+ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ContainerImageRead:
+ """
+ Retrieve a Container Image by its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Container Image's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ContainerImageRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.container_images.retrieve(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ async def docker_service_token(
+ self, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> DockerServiceToken:
+ """
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DockerServiceToken
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.container_images.docker_service_token()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.docker_service_token(request_options=request_options)
+ return _response.data
+
+ async def push_container_image(
+ self,
+ *,
+ name: str,
+ sha: str,
+ tags: typing.Sequence[str],
+ force: typing.Optional[bool] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ContainerImageRead:
+ """
+ Parameters
+ ----------
+ name : str
+
+ sha : str
+
+ tags : typing.Sequence[str]
+
+ force : typing.Optional[bool]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ContainerImageRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.container_images.push_container_image(
+ name="x",
+ sha="x",
+ tags=["tags", "tags"],
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.push_container_image(
+ name=name, sha=sha, tags=tags, force=force, request_options=request_options
+ )
+ return _response.data
diff --git a/src/vellum/resources/container_images/raw_client.py b/src/vellum/resources/container_images/raw_client.py
index 288a96e2fb..8648abb8f1 100644
--- a/src/vellum/resources/container_images/raw_client.py
+++ b/src/vellum/resources/container_images/raw_client.py
@@ -1,3 +1,407 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.container_images.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.container_image_read import ContainerImageRead
+from ...types.docker_service_token import DockerServiceToken
+from ...types.paginated_container_image_read_list import PaginatedContainerImageReadList
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawContainerImagesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedContainerImageReadList]:
+ """
+ Retrieve a list of container images for the organization.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedContainerImageReadList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/container-images",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedContainerImageReadList,
+ parse_obj_as(
+ type_=PaginatedContainerImageReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[ContainerImageRead]:
+ """
+ Retrieve a Container Image by its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Container Image's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ContainerImageRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/container-images/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ContainerImageRead,
+ parse_obj_as(
+ type_=ContainerImageRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def docker_service_token(
+ self, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[DockerServiceToken]:
+ """
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DockerServiceToken]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/container-images/docker-service-token",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DockerServiceToken,
+ parse_obj_as(
+ type_=DockerServiceToken, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def push_container_image(
+ self,
+ *,
+ name: str,
+ sha: str,
+ tags: typing.Sequence[str],
+ force: typing.Optional[bool] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[ContainerImageRead]:
+ """
+ Parameters
+ ----------
+ name : str
+
+ sha : str
+
+ tags : typing.Sequence[str]
+
+ force : typing.Optional[bool]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ContainerImageRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/container-images/push",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "name": name,
+ "sha": sha,
+ "tags": tags,
+ "force": force,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ContainerImageRead,
+ parse_obj_as(
+ type_=ContainerImageRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawContainerImagesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedContainerImageReadList]:
+ """
+ Retrieve a list of container images for the organization.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedContainerImageReadList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/container-images",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedContainerImageReadList,
+ parse_obj_as(
+ type_=PaginatedContainerImageReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[ContainerImageRead]:
+ """
+ Retrieve a Container Image by its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Container Image's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ContainerImageRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/container-images/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ContainerImageRead,
+ parse_obj_as(
+ type_=ContainerImageRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def docker_service_token(
+ self, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[DockerServiceToken]:
+ """
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DockerServiceToken]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/container-images/docker-service-token",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DockerServiceToken,
+ parse_obj_as(
+ type_=DockerServiceToken, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def push_container_image(
+ self,
+ *,
+ name: str,
+ sha: str,
+ tags: typing.Sequence[str],
+ force: typing.Optional[bool] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[ContainerImageRead]:
+ """
+ Parameters
+ ----------
+ name : str
+
+ sha : str
+
+ tags : typing.Sequence[str]
+
+ force : typing.Optional[bool]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ContainerImageRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/container-images/push",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "name": name,
+ "sha": sha,
+ "tags": tags,
+ "force": force,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ContainerImageRead,
+ parse_obj_as(
+ type_=ContainerImageRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/deployments/__init__.py b/src/vellum/resources/deployments/__init__.py
index 877961db45..dac3bc8059 100644
--- a/src/vellum/resources/deployments/__init__.py
+++ b/src/vellum/resources/deployments/__init__.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.deployments import *
+# isort: skip_file
+
+from .types import DeploymentsListRequestStatus, ListDeploymentReleaseTagsRequestSource
+
+__all__ = ["DeploymentsListRequestStatus", "ListDeploymentReleaseTagsRequestSource"]
diff --git a/src/vellum/resources/deployments/client.py b/src/vellum/resources/deployments/client.py
index 3952a999e8..862d9a877c 100644
--- a/src/vellum/resources/deployments/client.py
+++ b/src/vellum/resources/deployments/client.py
@@ -1,3 +1,875 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.deployments.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.compile_prompt_deployment_expand_meta_request import CompilePromptDeploymentExpandMetaRequest
+from ...types.deployment_history_item import DeploymentHistoryItem
+from ...types.deployment_provider_payload_response import DeploymentProviderPayloadResponse
+from ...types.deployment_read import DeploymentRead
+from ...types.deployment_release_tag_read import DeploymentReleaseTagRead
+from ...types.paginated_deployment_release_tag_read_list import PaginatedDeploymentReleaseTagReadList
+from ...types.paginated_slim_deployment_read_list import PaginatedSlimDeploymentReadList
+from ...types.prompt_deployment_input_request import PromptDeploymentInputRequest
+from ...types.prompt_deployment_release import PromptDeploymentRelease
+from .raw_client import AsyncRawDeploymentsClient, RawDeploymentsClient
+from .types.deployments_list_request_status import DeploymentsListRequestStatus
+from .types.list_deployment_release_tags_request_source import ListDeploymentReleaseTagsRequestSource
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class DeploymentsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawDeploymentsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawDeploymentsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawDeploymentsClient
+ """
+ return self._raw_client
+
+ def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ status: typing.Optional[DeploymentsListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimDeploymentReadList:
+ """
+ Used to list all Prompt Deployments.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ status : typing.Optional[DeploymentsListRequestStatus]
+ status
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimDeploymentReadList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.deployments.list()
+ """
+ _response = self._raw_client.list(
+ limit=limit, offset=offset, ordering=ordering, status=status, request_options=request_options
+ )
+ return _response.data
+
+ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DeploymentRead:
+ """
+ Used to retrieve a Prompt Deployment given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.deployments.retrieve(
+ id="id",
+ )
+ """
+ _response = self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ def deployment_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> DeploymentHistoryItem:
+ """
+ DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
+ `retrieve_prompt_deployment_release` xendpoint instead.
+
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Deployment History Item you'd like to retrieve.
+
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentHistoryItem
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.deployments.deployment_history_item_retrieve(
+ history_id_or_release_tag="history_id_or_release_tag",
+ id="id",
+ )
+ """
+ _response = self._raw_client.deployment_history_item_retrieve(
+ history_id_or_release_tag, id, request_options=request_options
+ )
+ return _response.data
+
+ def list_deployment_release_tags(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ source: typing.Optional[ListDeploymentReleaseTagsRequestSource] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedDeploymentReleaseTagReadList:
+ """
+ List Release Tags associated with the specified Prompt Deployment
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ source : typing.Optional[ListDeploymentReleaseTagsRequestSource]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedDeploymentReleaseTagReadList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.deployments.list_deployment_release_tags(
+ id="id",
+ )
+ """
+ _response = self._raw_client.list_deployment_release_tags(
+ id, limit=limit, offset=offset, ordering=ordering, source=source, request_options=request_options
+ )
+ return _response.data
+
+ def retrieve_deployment_release_tag(
+ self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> DeploymentReleaseTagRead:
+ """
+ Retrieve a Deployment Release Tag by tag name, associated with a specified Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Deployment that you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentReleaseTagRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.deployments.retrieve_deployment_release_tag(
+ id="id",
+ name="name",
+ )
+ """
+ _response = self._raw_client.retrieve_deployment_release_tag(id, name, request_options=request_options)
+ return _response.data
+
+ def update_deployment_release_tag(
+ self,
+ id: str,
+ name: str,
+ *,
+ history_item_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DeploymentReleaseTagRead:
+ """
+ Updates an existing Release Tag associated with the specified Prompt Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Deployment that you'd like to update.
+
+ history_item_id : typing.Optional[str]
+ The ID of the Release to tag
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentReleaseTagRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.deployments.update_deployment_release_tag(
+ id="id",
+ name="name",
+ )
+ """
+ _response = self._raw_client.update_deployment_release_tag(
+ id, name, history_item_id=history_item_id, request_options=request_options
+ )
+ return _response.data
+
+ def retrieve_prompt_deployment_release(
+ self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> PromptDeploymentRelease:
+ """
+ Retrieve a specific Prompt Deployment Release by either its UUID or the name of a Release Tag that points to it.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ release_id_or_release_tag : str
+ Either the UUID of Prompt Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Prompt Deployment Release you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PromptDeploymentRelease
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.deployments.retrieve_prompt_deployment_release(
+ id="id",
+ release_id_or_release_tag="release_id_or_release_tag",
+ )
+ """
+ _response = self._raw_client.retrieve_prompt_deployment_release(
+ id, release_id_or_release_tag, request_options=request_options
+ )
+ return _response.data
+
+ def retrieve_provider_payload(
+ self,
+ *,
+ inputs: typing.Sequence[PromptDeploymentInputRequest],
+ deployment_id: typing.Optional[str] = OMIT,
+ deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DeploymentProviderPayloadResponse:
+ """
+ Given a set of input variable values, compile the exact payload that Vellum would send to the configured model provider
+ for execution if the execute-prompt endpoint had been invoked. Note that this endpoint does not actually execute the
+ prompt or make an API call to the model provider.
+
+ This endpoint is useful if you don't want to proxy LLM provider requests through Vellum and prefer to send them directly
+ to the provider yourself. Note that no guarantees are made on the format of this API's response schema, other than
+ that it will be a valid payload for the configured model provider. It's not recommended that you try to parse or
+ derive meaning from the response body and instead, should simply pass it directly to the model provider as is.
+
+ We encourage you to seek advise from Vellum Support before integrating with this API for production use.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[PromptDeploymentInputRequest]
+ The list of inputs defined in the Prompt's deployment with their corresponding values.
+
+ deployment_id : typing.Optional[str]
+ The ID of the deployment. Must provide either this or deployment_name.
+
+ deployment_name : typing.Optional[str]
+ The name of the deployment. Must provide either this or deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
+
+ expand_meta : typing.Optional[CompilePromptDeploymentExpandMetaRequest]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentProviderPayloadResponse
+
+
+ Examples
+ --------
+ from vellum import StringInputRequest, Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.deployments.retrieve_provider_payload(
+ inputs=[
+ StringInputRequest(
+ name="x",
+ value="value",
+ ),
+ StringInputRequest(
+ name="x",
+ value="value",
+ ),
+ ],
+ )
+ """
+ _response = self._raw_client.retrieve_provider_payload(
+ inputs=inputs,
+ deployment_id=deployment_id,
+ deployment_name=deployment_name,
+ release_tag=release_tag,
+ expand_meta=expand_meta,
+ request_options=request_options,
+ )
+ return _response.data
+
+
+class AsyncDeploymentsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawDeploymentsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawDeploymentsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawDeploymentsClient
+ """
+ return self._raw_client
+
+ async def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ status: typing.Optional[DeploymentsListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimDeploymentReadList:
+ """
+ Used to list all Prompt Deployments.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ status : typing.Optional[DeploymentsListRequestStatus]
+ status
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimDeploymentReadList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.deployments.list()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list(
+ limit=limit, offset=offset, ordering=ordering, status=status, request_options=request_options
+ )
+ return _response.data
+
+ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DeploymentRead:
+ """
+ Used to retrieve a Prompt Deployment given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.deployments.retrieve(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ async def deployment_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> DeploymentHistoryItem:
+ """
+ DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
+ `retrieve_prompt_deployment_release` xendpoint instead.
+
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Deployment History Item you'd like to retrieve.
+
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentHistoryItem
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.deployments.deployment_history_item_retrieve(
+ history_id_or_release_tag="history_id_or_release_tag",
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.deployment_history_item_retrieve(
+ history_id_or_release_tag, id, request_options=request_options
+ )
+ return _response.data
+
+ async def list_deployment_release_tags(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ source: typing.Optional[ListDeploymentReleaseTagsRequestSource] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedDeploymentReleaseTagReadList:
+ """
+ List Release Tags associated with the specified Prompt Deployment
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ source : typing.Optional[ListDeploymentReleaseTagsRequestSource]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedDeploymentReleaseTagReadList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.deployments.list_deployment_release_tags(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list_deployment_release_tags(
+ id, limit=limit, offset=offset, ordering=ordering, source=source, request_options=request_options
+ )
+ return _response.data
+
+ async def retrieve_deployment_release_tag(
+ self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> DeploymentReleaseTagRead:
+ """
+ Retrieve a Deployment Release Tag by tag name, associated with a specified Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Deployment that you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentReleaseTagRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.deployments.retrieve_deployment_release_tag(
+ id="id",
+ name="name",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve_deployment_release_tag(id, name, request_options=request_options)
+ return _response.data
+
+ async def update_deployment_release_tag(
+ self,
+ id: str,
+ name: str,
+ *,
+ history_item_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DeploymentReleaseTagRead:
+ """
+ Updates an existing Release Tag associated with the specified Prompt Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Deployment that you'd like to update.
+
+ history_item_id : typing.Optional[str]
+ The ID of the Release to tag
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentReleaseTagRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.deployments.update_deployment_release_tag(
+ id="id",
+ name="name",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.update_deployment_release_tag(
+ id, name, history_item_id=history_item_id, request_options=request_options
+ )
+ return _response.data
+
+ async def retrieve_prompt_deployment_release(
+ self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> PromptDeploymentRelease:
+ """
+ Retrieve a specific Prompt Deployment Release by either its UUID or the name of a Release Tag that points to it.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ release_id_or_release_tag : str
+ Either the UUID of Prompt Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Prompt Deployment Release you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PromptDeploymentRelease
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.deployments.retrieve_prompt_deployment_release(
+ id="id",
+ release_id_or_release_tag="release_id_or_release_tag",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve_prompt_deployment_release(
+ id, release_id_or_release_tag, request_options=request_options
+ )
+ return _response.data
+
+ async def retrieve_provider_payload(
+ self,
+ *,
+ inputs: typing.Sequence[PromptDeploymentInputRequest],
+ deployment_id: typing.Optional[str] = OMIT,
+ deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DeploymentProviderPayloadResponse:
+ """
+ Given a set of input variable values, compile the exact payload that Vellum would send to the configured model provider
+ for execution if the execute-prompt endpoint had been invoked. Note that this endpoint does not actually execute the
+ prompt or make an API call to the model provider.
+
+ This endpoint is useful if you don't want to proxy LLM provider requests through Vellum and prefer to send them directly
+ to the provider yourself. Note that no guarantees are made on the format of this API's response schema, other than
+ that it will be a valid payload for the configured model provider. It's not recommended that you try to parse or
+ derive meaning from the response body and instead, should simply pass it directly to the model provider as is.
+
+ We encourage you to seek advise from Vellum Support before integrating with this API for production use.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[PromptDeploymentInputRequest]
+ The list of inputs defined in the Prompt's deployment with their corresponding values.
+
+ deployment_id : typing.Optional[str]
+ The ID of the deployment. Must provide either this or deployment_name.
+
+ deployment_name : typing.Optional[str]
+ The name of the deployment. Must provide either this or deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
+
+ expand_meta : typing.Optional[CompilePromptDeploymentExpandMetaRequest]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentProviderPayloadResponse
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum, StringInputRequest
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.deployments.retrieve_provider_payload(
+ inputs=[
+ StringInputRequest(
+ name="x",
+ value="value",
+ ),
+ StringInputRequest(
+ name="x",
+ value="value",
+ ),
+ ],
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve_provider_payload(
+ inputs=inputs,
+ deployment_id=deployment_id,
+ deployment_name=deployment_name,
+ release_tag=release_tag,
+ expand_meta=expand_meta,
+ request_options=request_options,
+ )
+ return _response.data
diff --git a/src/vellum/resources/deployments/raw_client.py b/src/vellum/resources/deployments/raw_client.py
index dc258d5d08..7deb1fba3f 100644
--- a/src/vellum/resources/deployments/raw_client.py
+++ b/src/vellum/resources/deployments/raw_client.py
@@ -1,3 +1,1002 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.deployments.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...core.serialization import convert_and_respect_annotation_metadata
+from ...errors.bad_request_error import BadRequestError
+from ...errors.forbidden_error import ForbiddenError
+from ...errors.internal_server_error import InternalServerError
+from ...errors.not_found_error import NotFoundError
+from ...types.compile_prompt_deployment_expand_meta_request import CompilePromptDeploymentExpandMetaRequest
+from ...types.deployment_history_item import DeploymentHistoryItem
+from ...types.deployment_provider_payload_response import DeploymentProviderPayloadResponse
+from ...types.deployment_read import DeploymentRead
+from ...types.deployment_release_tag_read import DeploymentReleaseTagRead
+from ...types.paginated_deployment_release_tag_read_list import PaginatedDeploymentReleaseTagReadList
+from ...types.paginated_slim_deployment_read_list import PaginatedSlimDeploymentReadList
+from ...types.prompt_deployment_input_request import PromptDeploymentInputRequest
+from ...types.prompt_deployment_release import PromptDeploymentRelease
+from .types.deployments_list_request_status import DeploymentsListRequestStatus
+from .types.list_deployment_release_tags_request_source import ListDeploymentReleaseTagsRequestSource
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawDeploymentsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ status: typing.Optional[DeploymentsListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedSlimDeploymentReadList]:
+ """
+ Used to list all Prompt Deployments.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ status : typing.Optional[DeploymentsListRequestStatus]
+ status
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedSlimDeploymentReadList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/deployments",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "status": status,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimDeploymentReadList,
+ parse_obj_as(
+ type_=PaginatedSlimDeploymentReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[DeploymentRead]:
+ """
+ Used to retrieve a Prompt Deployment given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DeploymentRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentRead,
+ parse_obj_as(
+ type_=DeploymentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def deployment_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[DeploymentHistoryItem]:
+ """
+ DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
+ `retrieve_prompt_deployment_release` xendpoint instead.
+
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Deployment History Item you'd like to retrieve.
+
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DeploymentHistoryItem]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentHistoryItem,
+ parse_obj_as(
+ type_=DeploymentHistoryItem, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def list_deployment_release_tags(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ source: typing.Optional[ListDeploymentReleaseTagsRequestSource] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedDeploymentReleaseTagReadList]:
+ """
+ List Release Tags associated with the specified Prompt Deployment
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ source : typing.Optional[ListDeploymentReleaseTagsRequestSource]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedDeploymentReleaseTagReadList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "source": source,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedDeploymentReleaseTagReadList,
+ parse_obj_as(
+ type_=PaginatedDeploymentReleaseTagReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve_deployment_release_tag(
+ self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[DeploymentReleaseTagRead]:
+ """
+ Retrieve a Deployment Release Tag by tag name, associated with a specified Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Deployment that you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DeploymentReleaseTagRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentReleaseTagRead,
+ parse_obj_as(
+ type_=DeploymentReleaseTagRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def update_deployment_release_tag(
+ self,
+ id: str,
+ name: str,
+ *,
+ history_item_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[DeploymentReleaseTagRead]:
+ """
+ Updates an existing Release Tag associated with the specified Prompt Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Deployment that you'd like to update.
+
+ history_item_id : typing.Optional[str]
+ The ID of the Release to tag
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DeploymentReleaseTagRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PATCH",
+ json={
+ "history_item_id": history_item_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentReleaseTagRead,
+ parse_obj_as(
+ type_=DeploymentReleaseTagRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve_prompt_deployment_release(
+ self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[PromptDeploymentRelease]:
+ """
+ Retrieve a specific Prompt Deployment Release by either its UUID or the name of a Release Tag that points to it.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ release_id_or_release_tag : str
+ Either the UUID of Prompt Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Prompt Deployment Release you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PromptDeploymentRelease]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}/releases/{jsonable_encoder(release_id_or_release_tag)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PromptDeploymentRelease,
+ parse_obj_as(
+ type_=PromptDeploymentRelease, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve_provider_payload(
+ self,
+ *,
+ inputs: typing.Sequence[PromptDeploymentInputRequest],
+ deployment_id: typing.Optional[str] = OMIT,
+ deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[DeploymentProviderPayloadResponse]:
+ """
+ Given a set of input variable values, compile the exact payload that Vellum would send to the configured model provider
+ for execution if the execute-prompt endpoint had been invoked. Note that this endpoint does not actually execute the
+ prompt or make an API call to the model provider.
+
+ This endpoint is useful if you don't want to proxy LLM provider requests through Vellum and prefer to send them directly
+ to the provider yourself. Note that no guarantees are made on the format of this API's response schema, other than
+ that it will be a valid payload for the configured model provider. It's not recommended that you try to parse or
+ derive meaning from the response body and instead, should simply pass it directly to the model provider as is.
+
+ We encourage you to seek advise from Vellum Support before integrating with this API for production use.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[PromptDeploymentInputRequest]
+ The list of inputs defined in the Prompt's deployment with their corresponding values.
+
+ deployment_id : typing.Optional[str]
+ The ID of the deployment. Must provide either this or deployment_name.
+
+ deployment_name : typing.Optional[str]
+ The name of the deployment. Must provide either this or deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
+
+ expand_meta : typing.Optional[CompilePromptDeploymentExpandMetaRequest]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DeploymentProviderPayloadResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/deployments/provider-payload",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "deployment_id": deployment_id,
+ "deployment_name": deployment_name,
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
+ ),
+ "release_tag": release_tag,
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta,
+ annotation=typing.Optional[CompilePromptDeploymentExpandMetaRequest],
+ direction="write",
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentProviderPayloadResponse,
+ parse_obj_as(
+ type_=DeploymentProviderPayloadResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawDeploymentsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ status: typing.Optional[DeploymentsListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedSlimDeploymentReadList]:
+ """
+ Used to list all Prompt Deployments.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ status : typing.Optional[DeploymentsListRequestStatus]
+ status
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedSlimDeploymentReadList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/deployments",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "status": status,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimDeploymentReadList,
+ parse_obj_as(
+ type_=PaginatedSlimDeploymentReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[DeploymentRead]:
+ """
+ Used to retrieve a Prompt Deployment given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DeploymentRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentRead,
+ parse_obj_as(
+ type_=DeploymentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def deployment_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[DeploymentHistoryItem]:
+ """
+ DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
+ `retrieve_prompt_deployment_release` xendpoint instead.
+
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Deployment History Item you'd like to retrieve.
+
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DeploymentHistoryItem]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentHistoryItem,
+ parse_obj_as(
+ type_=DeploymentHistoryItem, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def list_deployment_release_tags(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ source: typing.Optional[ListDeploymentReleaseTagsRequestSource] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedDeploymentReleaseTagReadList]:
+ """
+ List Release Tags associated with the specified Prompt Deployment
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ source : typing.Optional[ListDeploymentReleaseTagsRequestSource]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedDeploymentReleaseTagReadList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "source": source,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedDeploymentReleaseTagReadList,
+ parse_obj_as(
+ type_=PaginatedDeploymentReleaseTagReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve_deployment_release_tag(
+ self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[DeploymentReleaseTagRead]:
+ """
+ Retrieve a Deployment Release Tag by tag name, associated with a specified Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Deployment that you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DeploymentReleaseTagRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentReleaseTagRead,
+ parse_obj_as(
+ type_=DeploymentReleaseTagRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def update_deployment_release_tag(
+ self,
+ id: str,
+ name: str,
+ *,
+ history_item_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[DeploymentReleaseTagRead]:
+ """
+ Updates an existing Release Tag associated with the specified Prompt Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Deployment that you'd like to update.
+
+ history_item_id : typing.Optional[str]
+ The ID of the Release to tag
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DeploymentReleaseTagRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PATCH",
+ json={
+ "history_item_id": history_item_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentReleaseTagRead,
+ parse_obj_as(
+ type_=DeploymentReleaseTagRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve_prompt_deployment_release(
+ self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[PromptDeploymentRelease]:
+ """
+ Retrieve a specific Prompt Deployment Release by either its UUID or the name of a Release Tag that points to it.
+
+ Parameters
+ ----------
+ id : str
+ Either the Prompt Deployment's ID or its unique name
+
+ release_id_or_release_tag : str
+ Either the UUID of Prompt Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Prompt Deployment Release you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PromptDeploymentRelease]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/deployments/{jsonable_encoder(id)}/releases/{jsonable_encoder(release_id_or_release_tag)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PromptDeploymentRelease,
+ parse_obj_as(
+ type_=PromptDeploymentRelease, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve_provider_payload(
+ self,
+ *,
+ inputs: typing.Sequence[PromptDeploymentInputRequest],
+ deployment_id: typing.Optional[str] = OMIT,
+ deployment_name: typing.Optional[str] = OMIT,
+ release_tag: typing.Optional[str] = OMIT,
+ expand_meta: typing.Optional[CompilePromptDeploymentExpandMetaRequest] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[DeploymentProviderPayloadResponse]:
+ """
+ Given a set of input variable values, compile the exact payload that Vellum would send to the configured model provider
+ for execution if the execute-prompt endpoint had been invoked. Note that this endpoint does not actually execute the
+ prompt or make an API call to the model provider.
+
+ This endpoint is useful if you don't want to proxy LLM provider requests through Vellum and prefer to send them directly
+ to the provider yourself. Note that no guarantees are made on the format of this API's response schema, other than
+ that it will be a valid payload for the configured model provider. It's not recommended that you try to parse or
+ derive meaning from the response body and instead, should simply pass it directly to the model provider as is.
+
+ We encourage you to seek advise from Vellum Support before integrating with this API for production use.
+
+ Parameters
+ ----------
+ inputs : typing.Sequence[PromptDeploymentInputRequest]
+ The list of inputs defined in the Prompt's deployment with their corresponding values.
+
+ deployment_id : typing.Optional[str]
+ The ID of the deployment. Must provide either this or deployment_name.
+
+ deployment_name : typing.Optional[str]
+ The name of the deployment. Must provide either this or deployment_id.
+
+ release_tag : typing.Optional[str]
+ Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
+
+ expand_meta : typing.Optional[CompilePromptDeploymentExpandMetaRequest]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DeploymentProviderPayloadResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/deployments/provider-payload",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "deployment_id": deployment_id,
+ "deployment_name": deployment_name,
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[PromptDeploymentInputRequest], direction="write"
+ ),
+ "release_tag": release_tag,
+ "expand_meta": convert_and_respect_annotation_metadata(
+ object_=expand_meta,
+ annotation=typing.Optional[CompilePromptDeploymentExpandMetaRequest],
+ direction="write",
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentProviderPayloadResponse,
+ parse_obj_as(
+ type_=DeploymentProviderPayloadResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/deployments/types/__init__.py b/src/vellum/resources/deployments/types/__init__.py
index 4c8bb0acf3..ad46bb0870 100644
--- a/src/vellum/resources/deployments/types/__init__.py
+++ b/src/vellum/resources/deployments/types/__init__.py
@@ -1,3 +1,8 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.deployments.types import *
+# isort: skip_file
+
+from .deployments_list_request_status import DeploymentsListRequestStatus
+from .list_deployment_release_tags_request_source import ListDeploymentReleaseTagsRequestSource
+
+__all__ = ["DeploymentsListRequestStatus", "ListDeploymentReleaseTagsRequestSource"]
diff --git a/src/vellum/resources/deployments/types/deployments_list_request_status.py b/src/vellum/resources/deployments/types/deployments_list_request_status.py
index 1df43d3afd..6c4f689174 100644
--- a/src/vellum/resources/deployments/types/deployments_list_request_status.py
+++ b/src/vellum/resources/deployments/types/deployments_list_request_status.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.deployments.types.deployments_list_request_status import *
+import typing
+
+DeploymentsListRequestStatus = typing.Union[typing.Literal["ACTIVE", "ARCHIVED"], typing.Any]
diff --git a/src/vellum/resources/deployments/types/list_deployment_release_tags_request_source.py b/src/vellum/resources/deployments/types/list_deployment_release_tags_request_source.py
index 57743f2647..3c62150530 100644
--- a/src/vellum/resources/deployments/types/list_deployment_release_tags_request_source.py
+++ b/src/vellum/resources/deployments/types/list_deployment_release_tags_request_source.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.deployments.types.list_deployment_release_tags_request_source import *
+import typing
+
+ListDeploymentReleaseTagsRequestSource = typing.Union[typing.Literal["SYSTEM", "USER"], typing.Any]
diff --git a/src/vellum/resources/document_indexes/__init__.py b/src/vellum/resources/document_indexes/__init__.py
index 9e05619094..9122b59d06 100644
--- a/src/vellum/resources/document_indexes/__init__.py
+++ b/src/vellum/resources/document_indexes/__init__.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.document_indexes import *
+# isort: skip_file
+
+from .types import DocumentIndexesListRequestStatus
+
+__all__ = ["DocumentIndexesListRequestStatus"]
diff --git a/src/vellum/resources/document_indexes/client.py b/src/vellum/resources/document_indexes/client.py
index fdb68b584a..331e07a541 100644
--- a/src/vellum/resources/document_indexes/client.py
+++ b/src/vellum/resources/document_indexes/client.py
@@ -1,3 +1,861 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.document_indexes.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.document_index_indexing_config_request import DocumentIndexIndexingConfigRequest
+from ...types.document_index_read import DocumentIndexRead
+from ...types.entity_status import EntityStatus
+from ...types.paginated_document_index_read_list import PaginatedDocumentIndexReadList
+from .raw_client import AsyncRawDocumentIndexesClient, RawDocumentIndexesClient
+from .types.document_indexes_list_request_status import DocumentIndexesListRequestStatus
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class DocumentIndexesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawDocumentIndexesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawDocumentIndexesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawDocumentIndexesClient
+ """
+ return self._raw_client
+
+ def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ status: typing.Optional[DocumentIndexesListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedDocumentIndexReadList:
+ """
+ Used to retrieve a list of Document Indexes.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ Search for document indices by name or label
+
+ status : typing.Optional[DocumentIndexesListRequestStatus]
+ Filter down to only document indices that have a status matching the status specified
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedDocumentIndexReadList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.document_indexes.list()
+ """
+ _response = self._raw_client.list(
+ limit=limit, offset=offset, ordering=ordering, search=search, status=status, request_options=request_options
+ )
+ return _response.data
+
+ def create(
+ self,
+ *,
+ label: str,
+ name: str,
+ indexing_config: DocumentIndexIndexingConfigRequest,
+ status: typing.Optional[EntityStatus] = OMIT,
+ copy_documents_from_index_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DocumentIndexRead:
+ """
+ Creates a new document index.
+
+ Parameters
+ ----------
+ label : str
+ A human-readable label for the document index
+
+ name : str
+ A name that uniquely identifies this index within its workspace
+
+ indexing_config : DocumentIndexIndexingConfigRequest
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ copy_documents_from_index_id : typing.Optional[str]
+ Optionally specify the id of a document index from which you'd like to copy and re-index its documents into this newly created index
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentIndexRead
+
+
+ Examples
+ --------
+ from vellum import (
+ DocumentIndexIndexingConfigRequest,
+ OpenAiVectorizerConfigRequest,
+ OpenAiVectorizerTextEmbedding3SmallRequest,
+ Vellum,
+ )
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.document_indexes.create(
+ label="x",
+ name="x",
+ indexing_config=DocumentIndexIndexingConfigRequest(
+ vectorizer=OpenAiVectorizerTextEmbedding3SmallRequest(
+ config=OpenAiVectorizerConfigRequest(),
+ ),
+ ),
+ )
+ """
+ _response = self._raw_client.create(
+ label=label,
+ name=name,
+ indexing_config=indexing_config,
+ status=status,
+ copy_documents_from_index_id=copy_documents_from_index_id,
+ request_options=request_options,
+ )
+ return _response.data
+
+ def retrieve(
+ self,
+ id: str,
+ *,
+ mask_indexing_config: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DocumentIndexRead:
+ """
+ Used to retrieve a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ mask_indexing_config : typing.Optional[bool]
+ Whether to mask the indexing configuration in the response
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentIndexRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.document_indexes.retrieve(
+ id="id",
+ )
+ """
+ _response = self._raw_client.retrieve(
+ id, mask_indexing_config=mask_indexing_config, request_options=request_options
+ )
+ return _response.data
+
+ def update(
+ self,
+ id: str,
+ *,
+ label: str,
+ status: typing.Optional[EntityStatus] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DocumentIndexRead:
+ """
+ Used to fully update a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ label : str
+ A human-readable label for the document index
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentIndexRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.document_indexes.update(
+ id="id",
+ label="x",
+ )
+ """
+ _response = self._raw_client.update(id, label=label, status=status, request_options=request_options)
+ return _response.data
+
+ def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
+ """
+ Used to delete a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.document_indexes.destroy(
+ id="id",
+ )
+ """
+ _response = self._raw_client.destroy(id, request_options=request_options)
+ return _response.data
+
+ def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ status: typing.Optional[EntityStatus] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DocumentIndexRead:
+ """
+ Used to partial update a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ label : typing.Optional[str]
+ A human-readable label for the document index
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentIndexRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.document_indexes.partial_update(
+ id="id",
+ )
+ """
+ _response = self._raw_client.partial_update(id, label=label, status=status, request_options=request_options)
+ return _response.data
+
+ def add_document(
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Adds a previously uploaded Document to the specified Document Index.
+
+ Parameters
+ ----------
+ document_id : str
+ Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to add.
+
+ id : str
+ Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index to which you'd like to add the Document.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.document_indexes.add_document(
+ document_id="document_id",
+ id="id",
+ )
+ """
+ _response = self._raw_client.add_document(document_id, id, request_options=request_options)
+ return _response.data
+
+ def remove_document(
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Removes a Document from a Document Index without deleting the Document itself.
+
+ Parameters
+ ----------
+ document_id : str
+ Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
+
+ id : str
+ Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.document_indexes.remove_document(
+ document_id="document_id",
+ id="id",
+ )
+ """
+ _response = self._raw_client.remove_document(document_id, id, request_options=request_options)
+ return _response.data
+
+
+class AsyncDocumentIndexesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawDocumentIndexesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawDocumentIndexesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawDocumentIndexesClient
+ """
+ return self._raw_client
+
+ async def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ status: typing.Optional[DocumentIndexesListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedDocumentIndexReadList:
+ """
+ Used to retrieve a list of Document Indexes.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ Search for document indices by name or label
+
+ status : typing.Optional[DocumentIndexesListRequestStatus]
+ Filter down to only document indices that have a status matching the status specified
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedDocumentIndexReadList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.document_indexes.list()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list(
+ limit=limit, offset=offset, ordering=ordering, search=search, status=status, request_options=request_options
+ )
+ return _response.data
+
+ async def create(
+ self,
+ *,
+ label: str,
+ name: str,
+ indexing_config: DocumentIndexIndexingConfigRequest,
+ status: typing.Optional[EntityStatus] = OMIT,
+ copy_documents_from_index_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DocumentIndexRead:
+ """
+ Creates a new document index.
+
+ Parameters
+ ----------
+ label : str
+ A human-readable label for the document index
+
+ name : str
+ A name that uniquely identifies this index within its workspace
+
+ indexing_config : DocumentIndexIndexingConfigRequest
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ copy_documents_from_index_id : typing.Optional[str]
+ Optionally specify the id of a document index from which you'd like to copy and re-index its documents into this newly created index
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentIndexRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import (
+ AsyncVellum,
+ DocumentIndexIndexingConfigRequest,
+ OpenAiVectorizerConfigRequest,
+ OpenAiVectorizerTextEmbedding3SmallRequest,
+ )
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.document_indexes.create(
+ label="x",
+ name="x",
+ indexing_config=DocumentIndexIndexingConfigRequest(
+ vectorizer=OpenAiVectorizerTextEmbedding3SmallRequest(
+ config=OpenAiVectorizerConfigRequest(),
+ ),
+ ),
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.create(
+ label=label,
+ name=name,
+ indexing_config=indexing_config,
+ status=status,
+ copy_documents_from_index_id=copy_documents_from_index_id,
+ request_options=request_options,
+ )
+ return _response.data
+
+ async def retrieve(
+ self,
+ id: str,
+ *,
+ mask_indexing_config: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DocumentIndexRead:
+ """
+ Used to retrieve a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ mask_indexing_config : typing.Optional[bool]
+ Whether to mask the indexing configuration in the response
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentIndexRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.document_indexes.retrieve(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve(
+ id, mask_indexing_config=mask_indexing_config, request_options=request_options
+ )
+ return _response.data
+
+ async def update(
+ self,
+ id: str,
+ *,
+ label: str,
+ status: typing.Optional[EntityStatus] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DocumentIndexRead:
+ """
+ Used to fully update a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ label : str
+ A human-readable label for the document index
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentIndexRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.document_indexes.update(
+ id="id",
+ label="x",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.update(id, label=label, status=status, request_options=request_options)
+ return _response.data
+
+ async def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
+ """
+ Used to delete a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.document_indexes.destroy(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.destroy(id, request_options=request_options)
+ return _response.data
+
+ async def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ status: typing.Optional[EntityStatus] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DocumentIndexRead:
+ """
+ Used to partial update a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ label : typing.Optional[str]
+ A human-readable label for the document index
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentIndexRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.document_indexes.partial_update(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.partial_update(
+ id, label=label, status=status, request_options=request_options
+ )
+ return _response.data
+
+ async def add_document(
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Adds a previously uploaded Document to the specified Document Index.
+
+ Parameters
+ ----------
+ document_id : str
+ Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to add.
+
+ id : str
+ Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index to which you'd like to add the Document.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.document_indexes.add_document(
+ document_id="document_id",
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.add_document(document_id, id, request_options=request_options)
+ return _response.data
+
+ async def remove_document(
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Removes a Document from a Document Index without deleting the Document itself.
+
+ Parameters
+ ----------
+ document_id : str
+ Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
+
+ id : str
+ Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.document_indexes.remove_document(
+ document_id="document_id",
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.remove_document(document_id, id, request_options=request_options)
+ return _response.data
diff --git a/src/vellum/resources/document_indexes/raw_client.py b/src/vellum/resources/document_indexes/raw_client.py
index fca654075a..8f2535738d 100644
--- a/src/vellum/resources/document_indexes/raw_client.py
+++ b/src/vellum/resources/document_indexes/raw_client.py
@@ -1,3 +1,866 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.document_indexes.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...core.serialization import convert_and_respect_annotation_metadata
+from ...types.document_index_indexing_config_request import DocumentIndexIndexingConfigRequest
+from ...types.document_index_read import DocumentIndexRead
+from ...types.entity_status import EntityStatus
+from ...types.paginated_document_index_read_list import PaginatedDocumentIndexReadList
+from .types.document_indexes_list_request_status import DocumentIndexesListRequestStatus
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawDocumentIndexesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ status: typing.Optional[DocumentIndexesListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedDocumentIndexReadList]:
+ """
+ Used to retrieve a list of Document Indexes.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ Search for document indices by name or label
+
+ status : typing.Optional[DocumentIndexesListRequestStatus]
+ Filter down to only document indices that have a status matching the status specified
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedDocumentIndexReadList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/document-indexes",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "search": search,
+ "status": status,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedDocumentIndexReadList,
+ parse_obj_as(
+ type_=PaginatedDocumentIndexReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def create(
+ self,
+ *,
+ label: str,
+ name: str,
+ indexing_config: DocumentIndexIndexingConfigRequest,
+ status: typing.Optional[EntityStatus] = OMIT,
+ copy_documents_from_index_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[DocumentIndexRead]:
+ """
+ Creates a new document index.
+
+ Parameters
+ ----------
+ label : str
+ A human-readable label for the document index
+
+ name : str
+ A name that uniquely identifies this index within its workspace
+
+ indexing_config : DocumentIndexIndexingConfigRequest
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ copy_documents_from_index_id : typing.Optional[str]
+ Optionally specify the id of a document index from which you'd like to copy and re-index its documents into this newly created index
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DocumentIndexRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/document-indexes",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "label": label,
+ "name": name,
+ "status": status,
+ "indexing_config": convert_and_respect_annotation_metadata(
+ object_=indexing_config, annotation=DocumentIndexIndexingConfigRequest, direction="write"
+ ),
+ "copy_documents_from_index_id": copy_documents_from_index_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentIndexRead,
+ parse_obj_as(
+ type_=DocumentIndexRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve(
+ self,
+ id: str,
+ *,
+ mask_indexing_config: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[DocumentIndexRead]:
+ """
+ Used to retrieve a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ mask_indexing_config : typing.Optional[bool]
+ Whether to mask the indexing configuration in the response
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DocumentIndexRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "mask_indexing_config": mask_indexing_config,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentIndexRead,
+ parse_obj_as(
+ type_=DocumentIndexRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def update(
+ self,
+ id: str,
+ *,
+ label: str,
+ status: typing.Optional[EntityStatus] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[DocumentIndexRead]:
+ """
+ Used to fully update a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ label : str
+ A human-readable label for the document index
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DocumentIndexRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PUT",
+ json={
+ "label": label,
+ "status": status,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentIndexRead,
+ parse_obj_as(
+ type_=DocumentIndexRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[None]:
+ """
+ Used to delete a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().documents,
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ status: typing.Optional[EntityStatus] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[DocumentIndexRead]:
+ """
+ Used to partial update a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ label : typing.Optional[str]
+ A human-readable label for the document index
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DocumentIndexRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PATCH",
+ json={
+ "label": label,
+ "status": status,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentIndexRead,
+ parse_obj_as(
+ type_=DocumentIndexRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def add_document(
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[None]:
+ """
+ Adds a previously uploaded Document to the specified Document Index.
+
+ Parameters
+ ----------
+ document_id : str
+ Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to add.
+
+ id : str
+ Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index to which you'd like to add the Document.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def remove_document(
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[None]:
+ """
+ Removes a Document from a Document Index without deleting the Document itself.
+
+ Parameters
+ ----------
+ document_id : str
+ Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
+
+ id : str
+ Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
+ base_url=self._client_wrapper.get_environment().documents,
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawDocumentIndexesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ status: typing.Optional[DocumentIndexesListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedDocumentIndexReadList]:
+ """
+ Used to retrieve a list of Document Indexes.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ Search for document indices by name or label
+
+ status : typing.Optional[DocumentIndexesListRequestStatus]
+ Filter down to only document indices that have a status matching the status specified
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedDocumentIndexReadList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/document-indexes",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "search": search,
+ "status": status,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedDocumentIndexReadList,
+ parse_obj_as(
+ type_=PaginatedDocumentIndexReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def create(
+ self,
+ *,
+ label: str,
+ name: str,
+ indexing_config: DocumentIndexIndexingConfigRequest,
+ status: typing.Optional[EntityStatus] = OMIT,
+ copy_documents_from_index_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[DocumentIndexRead]:
+ """
+ Creates a new document index.
+
+ Parameters
+ ----------
+ label : str
+ A human-readable label for the document index
+
+ name : str
+ A name that uniquely identifies this index within its workspace
+
+ indexing_config : DocumentIndexIndexingConfigRequest
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ copy_documents_from_index_id : typing.Optional[str]
+ Optionally specify the id of a document index from which you'd like to copy and re-index its documents into this newly created index
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DocumentIndexRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/document-indexes",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "label": label,
+ "name": name,
+ "status": status,
+ "indexing_config": convert_and_respect_annotation_metadata(
+ object_=indexing_config, annotation=DocumentIndexIndexingConfigRequest, direction="write"
+ ),
+ "copy_documents_from_index_id": copy_documents_from_index_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentIndexRead,
+ parse_obj_as(
+ type_=DocumentIndexRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve(
+ self,
+ id: str,
+ *,
+ mask_indexing_config: typing.Optional[bool] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[DocumentIndexRead]:
+ """
+ Used to retrieve a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ mask_indexing_config : typing.Optional[bool]
+ Whether to mask the indexing configuration in the response
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DocumentIndexRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "mask_indexing_config": mask_indexing_config,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentIndexRead,
+ parse_obj_as(
+ type_=DocumentIndexRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def update(
+ self,
+ id: str,
+ *,
+ label: str,
+ status: typing.Optional[EntityStatus] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[DocumentIndexRead]:
+ """
+ Used to fully update a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ label : str
+ A human-readable label for the document index
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DocumentIndexRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PUT",
+ json={
+ "label": label,
+ "status": status,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentIndexRead,
+ parse_obj_as(
+ type_=DocumentIndexRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def destroy(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Used to delete a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().documents,
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ status: typing.Optional[EntityStatus] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[DocumentIndexRead]:
+ """
+ Used to partial update a Document Index given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Document Index's ID or its unique name
+
+ label : typing.Optional[str]
+ A human-readable label for the document index
+
+ status : typing.Optional[EntityStatus]
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DocumentIndexRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PATCH",
+ json={
+ "label": label,
+ "status": status,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentIndexRead,
+ parse_obj_as(
+ type_=DocumentIndexRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def add_document(
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Adds a previously uploaded Document to the specified Document Index.
+
+ Parameters
+ ----------
+ document_id : str
+ Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to add.
+
+ id : str
+ Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index to which you'd like to add the Document.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def remove_document(
+ self, document_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Removes a Document from a Document Index without deleting the Document itself.
+
+ Parameters
+ ----------
+ document_id : str
+ Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
+
+ id : str
+ Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/document-indexes/{jsonable_encoder(id)}/documents/{jsonable_encoder(document_id)}",
+ base_url=self._client_wrapper.get_environment().documents,
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/document_indexes/types/__init__.py b/src/vellum/resources/document_indexes/types/__init__.py
index 6e9ef16725..07c1e2f78f 100644
--- a/src/vellum/resources/document_indexes/types/__init__.py
+++ b/src/vellum/resources/document_indexes/types/__init__.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.document_indexes.types import *
+# isort: skip_file
+
+from .document_indexes_list_request_status import DocumentIndexesListRequestStatus
+
+__all__ = ["DocumentIndexesListRequestStatus"]
diff --git a/src/vellum/resources/document_indexes/types/document_indexes_list_request_status.py b/src/vellum/resources/document_indexes/types/document_indexes_list_request_status.py
index 7ff564b8ab..b76498040a 100644
--- a/src/vellum/resources/document_indexes/types/document_indexes_list_request_status.py
+++ b/src/vellum/resources/document_indexes/types/document_indexes_list_request_status.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.document_indexes.types.document_indexes_list_request_status import *
+import typing
+
+DocumentIndexesListRequestStatus = typing.Union[typing.Literal["ACTIVE", "ARCHIVED"], typing.Any]
diff --git a/src/vellum/resources/documents/__init__.py b/src/vellum/resources/documents/__init__.py
index 3db6ea8e10..5cde0202dc 100644
--- a/src/vellum/resources/documents/__init__.py
+++ b/src/vellum/resources/documents/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.documents import *
diff --git a/src/vellum/resources/documents/client.py b/src/vellum/resources/documents/client.py
index dbb2da3428..8f6f5bb3dc 100644
--- a/src/vellum/resources/documents/client.py
+++ b/src/vellum/resources/documents/client.py
@@ -1,3 +1,539 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.documents.client import *
+import typing
+
+from ... import core
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.document_read import DocumentRead
+from ...types.document_status import DocumentStatus
+from ...types.paginated_slim_document_list import PaginatedSlimDocumentList
+from ...types.upload_document_response import UploadDocumentResponse
+from .raw_client import AsyncRawDocumentsClient, RawDocumentsClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class DocumentsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawDocumentsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawDocumentsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawDocumentsClient
+ """
+ return self._raw_client
+
+ def list(
+ self,
+ *,
+ document_index_id: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimDocumentList:
+ """
+ Used to list documents. Optionally filter on supported fields.
+
+ Parameters
+ ----------
+ document_index_id : typing.Optional[str]
+ Filter down to only those documents that are included in the specified index. You may provide either the Vellum-generated ID or the unique name of the index specified upon initial creation.
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimDocumentList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.documents.list()
+ """
+ _response = self._raw_client.list(
+ document_index_id=document_index_id,
+ limit=limit,
+ offset=offset,
+ ordering=ordering,
+ search=search,
+ request_options=request_options,
+ )
+ return _response.data
+
+ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DocumentRead:
+ """
+ Retrieve a Document, keying off of either its Vellum-generated ID or its external ID.
+
+ Parameters
+ ----------
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.documents.retrieve(
+ id="id",
+ )
+ """
+ _response = self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
+ """
+ Delete a Document, keying off of either its Vellum-generated ID or its external ID.
+
+ Parameters
+ ----------
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.documents.destroy(
+ id="id",
+ )
+ """
+ _response = self._raw_client.destroy(id, request_options=request_options)
+ return _response.data
+
+ def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ status: typing.Optional[DocumentStatus] = OMIT,
+ keywords: typing.Optional[typing.Sequence[str]] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DocumentRead:
+ """
+ Update a Document, keying off of either its Vellum-generated ID or its external ID. Particularly useful for updating its metadata.
+
+ Parameters
+ ----------
+ id : str
+
+ label : typing.Optional[str]
+ A human-readable label for the document. Defaults to the originally uploaded file's file name.
+
+ status : typing.Optional[DocumentStatus]
+ The current status of the document
+
+ * `ACTIVE` - Active
+
+ keywords : typing.Optional[typing.Sequence[str]]
+ A list of keywords that'll be associated with the document. Used as part of keyword search.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ A JSON object containing any metadata associated with the document that you'd like to filter upon later.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.documents.partial_update(
+ id="id",
+ )
+ """
+ _response = self._raw_client.partial_update(
+ id, label=label, status=status, keywords=keywords, metadata=metadata, request_options=request_options
+ )
+ return _response.data
+
+ def upload(
+ self,
+ *,
+ label: str,
+ contents: core.File,
+ add_to_index_names: typing.Optional[typing.List[str]] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ keywords: typing.Optional[typing.List[str]] = OMIT,
+ metadata: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> UploadDocumentResponse:
+ """
+ Upload a document to be indexed and used for search.
+
+ **Note:** Uses a base url of `https://documents.vellum.ai`.
+
+ Parameters
+ ----------
+ label : str
+ A human-friendly name for this document. Typically the filename.
+
+ contents : core.File
+ See core.File for more documentation
+
+ add_to_index_names : typing.Optional[typing.List[str]]
+ Optionally include the names of all indexes that you'd like this document to be included in
+
+ external_id : typing.Optional[str]
+ Optionally include an external ID for this document. This is useful if you want to re-upload the same document later when its contents change and would like it to be re-indexed.
+
+ keywords : typing.Optional[typing.List[str]]
+ Optionally include a list of keywords that'll be associated with this document. Used when performing keyword searches.
+
+ metadata : typing.Optional[str]
+ A stringified JSON object containing any metadata associated with the document that you'd like to filter upon later.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ UploadDocumentResponse
+
+ """
+ _response = self._raw_client.upload(
+ label=label,
+ contents=contents,
+ add_to_index_names=add_to_index_names,
+ external_id=external_id,
+ keywords=keywords,
+ metadata=metadata,
+ request_options=request_options,
+ )
+ return _response.data
+
+
+class AsyncDocumentsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawDocumentsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawDocumentsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawDocumentsClient
+ """
+ return self._raw_client
+
+ async def list(
+ self,
+ *,
+ document_index_id: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimDocumentList:
+ """
+ Used to list documents. Optionally filter on supported fields.
+
+ Parameters
+ ----------
+ document_index_id : typing.Optional[str]
+ Filter down to only those documents that are included in the specified index. You may provide either the Vellum-generated ID or the unique name of the index specified upon initial creation.
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimDocumentList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.documents.list()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list(
+ document_index_id=document_index_id,
+ limit=limit,
+ offset=offset,
+ ordering=ordering,
+ search=search,
+ request_options=request_options,
+ )
+ return _response.data
+
+ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> DocumentRead:
+ """
+ Retrieve a Document, keying off of either its Vellum-generated ID or its external ID.
+
+ Parameters
+ ----------
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.documents.retrieve(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ async def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> None:
+ """
+ Delete a Document, keying off of either its Vellum-generated ID or its external ID.
+
+ Parameters
+ ----------
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.documents.destroy(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.destroy(id, request_options=request_options)
+ return _response.data
+
+ async def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ status: typing.Optional[DocumentStatus] = OMIT,
+ keywords: typing.Optional[typing.Sequence[str]] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DocumentRead:
+ """
+ Update a Document, keying off of either its Vellum-generated ID or its external ID. Particularly useful for updating its metadata.
+
+ Parameters
+ ----------
+ id : str
+
+ label : typing.Optional[str]
+ A human-readable label for the document. Defaults to the originally uploaded file's file name.
+
+ status : typing.Optional[DocumentStatus]
+ The current status of the document
+
+ * `ACTIVE` - Active
+
+ keywords : typing.Optional[typing.Sequence[str]]
+ A list of keywords that'll be associated with the document. Used as part of keyword search.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ A JSON object containing any metadata associated with the document that you'd like to filter upon later.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DocumentRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.documents.partial_update(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.partial_update(
+ id, label=label, status=status, keywords=keywords, metadata=metadata, request_options=request_options
+ )
+ return _response.data
+
+ async def upload(
+ self,
+ *,
+ label: str,
+ contents: core.File,
+ add_to_index_names: typing.Optional[typing.List[str]] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ keywords: typing.Optional[typing.List[str]] = OMIT,
+ metadata: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> UploadDocumentResponse:
+ """
+ Upload a document to be indexed and used for search.
+
+ **Note:** Uses a base url of `https://documents.vellum.ai`.
+
+ Parameters
+ ----------
+ label : str
+ A human-friendly name for this document. Typically the filename.
+
+ contents : core.File
+ See core.File for more documentation
+
+ add_to_index_names : typing.Optional[typing.List[str]]
+ Optionally include the names of all indexes that you'd like this document to be included in
+
+ external_id : typing.Optional[str]
+ Optionally include an external ID for this document. This is useful if you want to re-upload the same document later when its contents change and would like it to be re-indexed.
+
+ keywords : typing.Optional[typing.List[str]]
+ Optionally include a list of keywords that'll be associated with this document. Used when performing keyword searches.
+
+ metadata : typing.Optional[str]
+ A stringified JSON object containing any metadata associated with the document that you'd like to filter upon later.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ UploadDocumentResponse
+
+ """
+ _response = await self._raw_client.upload(
+ label=label,
+ contents=contents,
+ add_to_index_names=add_to_index_names,
+ external_id=external_id,
+ keywords=keywords,
+ metadata=metadata,
+ request_options=request_options,
+ )
+ return _response.data
diff --git a/src/vellum/resources/documents/raw_client.py b/src/vellum/resources/documents/raw_client.py
index c1e0e2e22c..52e88b00a1 100644
--- a/src/vellum/resources/documents/raw_client.py
+++ b/src/vellum/resources/documents/raw_client.py
@@ -1,3 +1,662 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.documents.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ... import core
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...errors.bad_request_error import BadRequestError
+from ...errors.internal_server_error import InternalServerError
+from ...errors.not_found_error import NotFoundError
+from ...types.document_read import DocumentRead
+from ...types.document_status import DocumentStatus
+from ...types.paginated_slim_document_list import PaginatedSlimDocumentList
+from ...types.upload_document_response import UploadDocumentResponse
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawDocumentsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def list(
+ self,
+ *,
+ document_index_id: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedSlimDocumentList]:
+ """
+ Used to list documents. Optionally filter on supported fields.
+
+ Parameters
+ ----------
+ document_index_id : typing.Optional[str]
+ Filter down to only those documents that are included in the specified index. You may provide either the Vellum-generated ID or the unique name of the index specified upon initial creation.
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedSlimDocumentList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/documents",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "document_index_id": document_index_id,
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "search": search,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimDocumentList,
+ parse_obj_as(
+ type_=PaginatedSlimDocumentList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[DocumentRead]:
+ """
+ Retrieve a Document, keying off of either its Vellum-generated ID or its external ID.
+
+ Parameters
+ ----------
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DocumentRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/documents/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentRead,
+ parse_obj_as(
+ type_=DocumentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def destroy(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[None]:
+ """
+ Delete a Document, keying off of either its Vellum-generated ID or its external ID.
+
+ Parameters
+ ----------
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/documents/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().documents,
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ status: typing.Optional[DocumentStatus] = OMIT,
+ keywords: typing.Optional[typing.Sequence[str]] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[DocumentRead]:
+ """
+ Update a Document, keying off of either its Vellum-generated ID or its external ID. Particularly useful for updating its metadata.
+
+ Parameters
+ ----------
+ id : str
+
+ label : typing.Optional[str]
+ A human-readable label for the document. Defaults to the originally uploaded file's file name.
+
+ status : typing.Optional[DocumentStatus]
+ The current status of the document
+
+ * `ACTIVE` - Active
+
+ keywords : typing.Optional[typing.Sequence[str]]
+ A list of keywords that'll be associated with the document. Used as part of keyword search.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ A JSON object containing any metadata associated with the document that you'd like to filter upon later.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DocumentRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/documents/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PATCH",
+ json={
+ "label": label,
+ "status": status,
+ "keywords": keywords,
+ "metadata": metadata,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentRead,
+ parse_obj_as(
+ type_=DocumentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def upload(
+ self,
+ *,
+ label: str,
+ contents: core.File,
+ add_to_index_names: typing.Optional[typing.List[str]] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ keywords: typing.Optional[typing.List[str]] = OMIT,
+ metadata: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[UploadDocumentResponse]:
+ """
+ Upload a document to be indexed and used for search.
+
+ **Note:** Uses a base url of `https://documents.vellum.ai`.
+
+ Parameters
+ ----------
+ label : str
+ A human-friendly name for this document. Typically the filename.
+
+ contents : core.File
+ See core.File for more documentation
+
+ add_to_index_names : typing.Optional[typing.List[str]]
+ Optionally include the names of all indexes that you'd like this document to be included in
+
+ external_id : typing.Optional[str]
+ Optionally include an external ID for this document. This is useful if you want to re-upload the same document later when its contents change and would like it to be re-indexed.
+
+ keywords : typing.Optional[typing.List[str]]
+ Optionally include a list of keywords that'll be associated with this document. Used when performing keyword searches.
+
+ metadata : typing.Optional[str]
+ A stringified JSON object containing any metadata associated with the document that you'd like to filter upon later.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[UploadDocumentResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/upload-document",
+ base_url=self._client_wrapper.get_environment().documents,
+ method="POST",
+ data={
+ "add_to_index_names": add_to_index_names,
+ "external_id": external_id,
+ "label": label,
+ "keywords": keywords,
+ "metadata": metadata,
+ },
+ files={
+ "contents": contents,
+ },
+ request_options=request_options,
+ omit=OMIT,
+ force_multipart=True,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ UploadDocumentResponse,
+ parse_obj_as(
+ type_=UploadDocumentResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawDocumentsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def list(
+ self,
+ *,
+ document_index_id: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedSlimDocumentList]:
+ """
+ Used to list documents. Optionally filter on supported fields.
+
+ Parameters
+ ----------
+ document_index_id : typing.Optional[str]
+ Filter down to only those documents that are included in the specified index. You may provide either the Vellum-generated ID or the unique name of the index specified upon initial creation.
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedSlimDocumentList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/documents",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "document_index_id": document_index_id,
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "search": search,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimDocumentList,
+ parse_obj_as(
+ type_=PaginatedSlimDocumentList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[DocumentRead]:
+ """
+ Retrieve a Document, keying off of either its Vellum-generated ID or its external ID.
+
+ Parameters
+ ----------
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DocumentRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/documents/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentRead,
+ parse_obj_as(
+ type_=DocumentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def destroy(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Delete a Document, keying off of either its Vellum-generated ID or its external ID.
+
+ Parameters
+ ----------
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/documents/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().documents,
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ status: typing.Optional[DocumentStatus] = OMIT,
+ keywords: typing.Optional[typing.Sequence[str]] = OMIT,
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[DocumentRead]:
+ """
+ Update a Document, keying off of either its Vellum-generated ID or its external ID. Particularly useful for updating its metadata.
+
+ Parameters
+ ----------
+ id : str
+
+ label : typing.Optional[str]
+ A human-readable label for the document. Defaults to the originally uploaded file's file name.
+
+ status : typing.Optional[DocumentStatus]
+ The current status of the document
+
+ * `ACTIVE` - Active
+
+ keywords : typing.Optional[typing.Sequence[str]]
+ A list of keywords that'll be associated with the document. Used as part of keyword search.
+
+ metadata : typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]
+ A JSON object containing any metadata associated with the document that you'd like to filter upon later.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DocumentRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/documents/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PATCH",
+ json={
+ "label": label,
+ "status": status,
+ "keywords": keywords,
+ "metadata": metadata,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DocumentRead,
+ parse_obj_as(
+ type_=DocumentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def upload(
+ self,
+ *,
+ label: str,
+ contents: core.File,
+ add_to_index_names: typing.Optional[typing.List[str]] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ keywords: typing.Optional[typing.List[str]] = OMIT,
+ metadata: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[UploadDocumentResponse]:
+ """
+ Upload a document to be indexed and used for search.
+
+ **Note:** Uses a base url of `https://documents.vellum.ai`.
+
+ Parameters
+ ----------
+ label : str
+ A human-friendly name for this document. Typically the filename.
+
+ contents : core.File
+ See core.File for more documentation
+
+ add_to_index_names : typing.Optional[typing.List[str]]
+ Optionally include the names of all indexes that you'd like this document to be included in
+
+ external_id : typing.Optional[str]
+ Optionally include an external ID for this document. This is useful if you want to re-upload the same document later when its contents change and would like it to be re-indexed.
+
+ keywords : typing.Optional[typing.List[str]]
+ Optionally include a list of keywords that'll be associated with this document. Used when performing keyword searches.
+
+ metadata : typing.Optional[str]
+ A stringified JSON object containing any metadata associated with the document that you'd like to filter upon later.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[UploadDocumentResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/upload-document",
+ base_url=self._client_wrapper.get_environment().documents,
+ method="POST",
+ data={
+ "add_to_index_names": add_to_index_names,
+ "external_id": external_id,
+ "label": label,
+ "keywords": keywords,
+ "metadata": metadata,
+ },
+ files={
+ "contents": contents,
+ },
+ request_options=request_options,
+ omit=OMIT,
+ force_multipart=True,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ UploadDocumentResponse,
+ parse_obj_as(
+ type_=UploadDocumentResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 500:
+ raise InternalServerError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/environments/__init__.py b/src/vellum/resources/environments/__init__.py
index 9631dd3675..5cde0202dc 100644
--- a/src/vellum/resources/environments/__init__.py
+++ b/src/vellum/resources/environments/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.environments import *
diff --git a/src/vellum/resources/environments/client.py b/src/vellum/resources/environments/client.py
index cfef54f0b1..8bb5981091 100644
--- a/src/vellum/resources/environments/client.py
+++ b/src/vellum/resources/environments/client.py
@@ -1,3 +1,102 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.environments.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.environment_read import EnvironmentRead
+from .raw_client import AsyncRawEnvironmentsClient, RawEnvironmentsClient
+
+
+class EnvironmentsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawEnvironmentsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawEnvironmentsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawEnvironmentsClient
+ """
+ return self._raw_client
+
+ def environment_identity(self, *, request_options: typing.Optional[RequestOptions] = None) -> EnvironmentRead:
+ """
+ Retrieves information about the active Environment
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ EnvironmentRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.environments.environment_identity()
+ """
+ _response = self._raw_client.environment_identity(request_options=request_options)
+ return _response.data
+
+
+class AsyncEnvironmentsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawEnvironmentsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawEnvironmentsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawEnvironmentsClient
+ """
+ return self._raw_client
+
+ async def environment_identity(self, *, request_options: typing.Optional[RequestOptions] = None) -> EnvironmentRead:
+ """
+ Retrieves information about the active Environment
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ EnvironmentRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.environments.environment_identity()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.environment_identity(request_options=request_options)
+ return _response.data
diff --git a/src/vellum/resources/environments/raw_client.py b/src/vellum/resources/environments/raw_client.py
index c7d7e8a5db..0ba1d7567a 100644
--- a/src/vellum/resources/environments/raw_client.py
+++ b/src/vellum/resources/environments/raw_client.py
@@ -1,3 +1,95 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.environments.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.environment_read import EnvironmentRead
+
+
+class RawEnvironmentsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def environment_identity(
+ self, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[EnvironmentRead]:
+ """
+ Retrieves information about the active Environment
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[EnvironmentRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/environments/identity",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ EnvironmentRead,
+ parse_obj_as(
+ type_=EnvironmentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawEnvironmentsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def environment_identity(
+ self, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[EnvironmentRead]:
+ """
+ Retrieves information about the active Environment
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[EnvironmentRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/environments/identity",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ EnvironmentRead,
+ parse_obj_as(
+ type_=EnvironmentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/events/__init__.py b/src/vellum/resources/events/__init__.py
index a23acb4130..5cde0202dc 100644
--- a/src/vellum/resources/events/__init__.py
+++ b/src/vellum/resources/events/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.events import *
diff --git a/src/vellum/resources/events/client.py b/src/vellum/resources/events/client.py
index 28af90e44b..b53e3e8989 100644
--- a/src/vellum/resources/events/client.py
+++ b/src/vellum/resources/events/client.py
@@ -1,3 +1,197 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.events.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.create_workflow_event_request import CreateWorkflowEventRequest
+from ...types.event_create_response import EventCreateResponse
+from .raw_client import AsyncRawEventsClient, RawEventsClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class EventsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawEventsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawEventsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawEventsClient
+ """
+ return self._raw_client
+
+ def create(
+ self, *, request: CreateWorkflowEventRequest, request_options: typing.Optional[RequestOptions] = None
+ ) -> EventCreateResponse:
+ """
+ Accept an event or list of events and publish them to ClickHouse for analytics processing.
+
+ Parameters
+ ----------
+ request : CreateWorkflowEventRequest
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ EventCreateResponse
+
+
+ Examples
+ --------
+ import datetime
+
+ from vellum import (
+ NodeExecutionInitiatedBody,
+ NodeExecutionInitiatedEvent,
+ Vellum,
+ VellumCodeResourceDefinition,
+ )
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.events.create(
+ request=[
+ NodeExecutionInitiatedEvent(
+ body=NodeExecutionInitiatedBody(
+ node_definition=VellumCodeResourceDefinition(
+ name="name",
+ module=["module", "module"],
+ id="id",
+ ),
+ inputs={"inputs": {"key": "value"}},
+ ),
+ id="id",
+ timestamp=datetime.datetime.fromisoformat(
+ "2024-01-15 09:30:00+00:00",
+ ),
+ trace_id="trace_id",
+ span_id="span_id",
+ ),
+ NodeExecutionInitiatedEvent(
+ body=NodeExecutionInitiatedBody(
+ node_definition=VellumCodeResourceDefinition(
+ name="name",
+ module=["module", "module"],
+ id="id",
+ ),
+ inputs={"inputs": {"key": "value"}},
+ ),
+ id="id",
+ timestamp=datetime.datetime.fromisoformat(
+ "2024-01-15 09:30:00+00:00",
+ ),
+ trace_id="trace_id",
+ span_id="span_id",
+ ),
+ ],
+ )
+ """
+ _response = self._raw_client.create(request=request, request_options=request_options)
+ return _response.data
+
+
+class AsyncEventsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawEventsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawEventsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawEventsClient
+ """
+ return self._raw_client
+
+ async def create(
+ self, *, request: CreateWorkflowEventRequest, request_options: typing.Optional[RequestOptions] = None
+ ) -> EventCreateResponse:
+ """
+ Accept an event or list of events and publish them to ClickHouse for analytics processing.
+
+ Parameters
+ ----------
+ request : CreateWorkflowEventRequest
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ EventCreateResponse
+
+
+ Examples
+ --------
+ import asyncio
+ import datetime
+
+ from vellum import (
+ AsyncVellum,
+ NodeExecutionInitiatedBody,
+ NodeExecutionInitiatedEvent,
+ VellumCodeResourceDefinition,
+ )
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.events.create(
+ request=[
+ NodeExecutionInitiatedEvent(
+ body=NodeExecutionInitiatedBody(
+ node_definition=VellumCodeResourceDefinition(
+ name="name",
+ module=["module", "module"],
+ id="id",
+ ),
+ inputs={"inputs": {"key": "value"}},
+ ),
+ id="id",
+ timestamp=datetime.datetime.fromisoformat(
+ "2024-01-15 09:30:00+00:00",
+ ),
+ trace_id="trace_id",
+ span_id="span_id",
+ ),
+ NodeExecutionInitiatedEvent(
+ body=NodeExecutionInitiatedBody(
+ node_definition=VellumCodeResourceDefinition(
+ name="name",
+ module=["module", "module"],
+ id="id",
+ ),
+ inputs={"inputs": {"key": "value"}},
+ ),
+ id="id",
+ timestamp=datetime.datetime.fromisoformat(
+ "2024-01-15 09:30:00+00:00",
+ ),
+ trace_id="trace_id",
+ span_id="span_id",
+ ),
+ ],
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.create(request=request, request_options=request_options)
+ return _response.data
diff --git a/src/vellum/resources/events/raw_client.py b/src/vellum/resources/events/raw_client.py
index 72ef56f2f8..b7642f7e81 100644
--- a/src/vellum/resources/events/raw_client.py
+++ b/src/vellum/resources/events/raw_client.py
@@ -1,3 +1,211 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.events.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...core.serialization import convert_and_respect_annotation_metadata
+from ...errors.bad_request_error import BadRequestError
+from ...errors.forbidden_error import ForbiddenError
+from ...errors.too_many_requests_error import TooManyRequestsError
+from ...errors.unauthorized_error import UnauthorizedError
+from ...types.create_workflow_event_request import CreateWorkflowEventRequest
+from ...types.error_detail_response import ErrorDetailResponse
+from ...types.event_create_response import EventCreateResponse
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawEventsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def create(
+ self, *, request: CreateWorkflowEventRequest, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[EventCreateResponse]:
+ """
+ Accept an event or list of events and publish them to ClickHouse for analytics processing.
+
+ Parameters
+ ----------
+ request : CreateWorkflowEventRequest
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[EventCreateResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "monitoring/v1/events",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json=convert_and_respect_annotation_metadata(
+ object_=request, annotation=CreateWorkflowEventRequest, direction="write"
+ ),
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ EventCreateResponse,
+ parse_obj_as(
+ type_=EventCreateResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ ErrorDetailResponse,
+ parse_obj_as(
+ type_=ErrorDetailResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 429:
+ raise TooManyRequestsError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ ErrorDetailResponse,
+ parse_obj_as(
+ type_=ErrorDetailResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawEventsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def create(
+ self, *, request: CreateWorkflowEventRequest, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[EventCreateResponse]:
+ """
+ Accept an event or list of events and publish them to ClickHouse for analytics processing.
+
+ Parameters
+ ----------
+ request : CreateWorkflowEventRequest
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[EventCreateResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "monitoring/v1/events",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json=convert_and_respect_annotation_metadata(
+ object_=request, annotation=CreateWorkflowEventRequest, direction="write"
+ ),
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ EventCreateResponse,
+ parse_obj_as(
+ type_=EventCreateResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 401:
+ raise UnauthorizedError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ ErrorDetailResponse,
+ parse_obj_as(
+ type_=ErrorDetailResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 429:
+ raise TooManyRequestsError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ ErrorDetailResponse,
+ parse_obj_as(
+ type_=ErrorDetailResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/folder_entities/__init__.py b/src/vellum/resources/folder_entities/__init__.py
index fcb130bf39..e8d6e44655 100644
--- a/src/vellum/resources/folder_entities/__init__.py
+++ b/src/vellum/resources/folder_entities/__init__.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.folder_entities import *
+# isort: skip_file
+
+from .types import FolderEntitiesListRequestEntityStatus
+
+__all__ = ["FolderEntitiesListRequestEntityStatus"]
diff --git a/src/vellum/resources/folder_entities/client.py b/src/vellum/resources/folder_entities/client.py
index 448ed9e6bb..0be611bba5 100644
--- a/src/vellum/resources/folder_entities/client.py
+++ b/src/vellum/resources/folder_entities/client.py
@@ -1,3 +1,292 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.folder_entities.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.paginated_folder_entity_list import PaginatedFolderEntityList
+from .raw_client import AsyncRawFolderEntitiesClient, RawFolderEntitiesClient
+from .types.folder_entities_list_request_entity_status import FolderEntitiesListRequestEntityStatus
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class FolderEntitiesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawFolderEntitiesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawFolderEntitiesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawFolderEntitiesClient
+ """
+ return self._raw_client
+
+ def list(
+ self,
+ *,
+ parent_folder_id: str,
+ entity_status: typing.Optional[FolderEntitiesListRequestEntityStatus] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedFolderEntityList:
+ """
+ List all folder entities within a specified folder.
+
+ Parameters
+ ----------
+ parent_folder_id : str
+ Filter down to only those entities whose parent folder has the specified ID.
+
+ To filter by an entity's parent folder, provide the ID of the parent folder. To filter by the root directory, provide
+ a string representing the entity type of the root directory. Supported root directories include:
+ - PROMPT_SANDBOX
+ - WORKFLOW_SANDBOX
+ - DOCUMENT_INDEX
+ - TEST_SUITE
+
+ entity_status : typing.Optional[FolderEntitiesListRequestEntityStatus]
+ Filter down to only those objects whose entities have a status matching the status specified.
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedFolderEntityList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.folder_entities.list(
+ parent_folder_id="parent_folder_id",
+ )
+ """
+ _response = self._raw_client.list(
+ parent_folder_id=parent_folder_id,
+ entity_status=entity_status,
+ limit=limit,
+ offset=offset,
+ ordering=ordering,
+ request_options=request_options,
+ )
+ return _response.data
+
+ def add_entity_to_folder(
+ self, folder_id: str, *, entity_id: str, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Add an entity to a specific folder or root directory.
+
+ Adding an entity to a folder will remove it from any other folders it might have been a member of.
+
+ Parameters
+ ----------
+ folder_id : str
+ The ID of the folder to which the entity should be added. This can be a UUID of a folder, or the name of a root
+ directory. Supported root directories include:
+ - PROMPT_SANDBOX
+ - WORKFLOW_SANDBOX
+ - DOCUMENT_INDEX
+ - TEST_SUITE
+
+ entity_id : str
+ The ID of the entity you would like to move.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.folder_entities.add_entity_to_folder(
+ folder_id="folder_id",
+ entity_id="entity_id",
+ )
+ """
+ _response = self._raw_client.add_entity_to_folder(
+ folder_id, entity_id=entity_id, request_options=request_options
+ )
+ return _response.data
+
+
+class AsyncFolderEntitiesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawFolderEntitiesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawFolderEntitiesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawFolderEntitiesClient
+ """
+ return self._raw_client
+
+ async def list(
+ self,
+ *,
+ parent_folder_id: str,
+ entity_status: typing.Optional[FolderEntitiesListRequestEntityStatus] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedFolderEntityList:
+ """
+ List all folder entities within a specified folder.
+
+ Parameters
+ ----------
+ parent_folder_id : str
+ Filter down to only those entities whose parent folder has the specified ID.
+
+ To filter by an entity's parent folder, provide the ID of the parent folder. To filter by the root directory, provide
+ a string representing the entity type of the root directory. Supported root directories include:
+ - PROMPT_SANDBOX
+ - WORKFLOW_SANDBOX
+ - DOCUMENT_INDEX
+ - TEST_SUITE
+
+ entity_status : typing.Optional[FolderEntitiesListRequestEntityStatus]
+ Filter down to only those objects whose entities have a status matching the status specified.
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedFolderEntityList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.folder_entities.list(
+ parent_folder_id="parent_folder_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list(
+ parent_folder_id=parent_folder_id,
+ entity_status=entity_status,
+ limit=limit,
+ offset=offset,
+ ordering=ordering,
+ request_options=request_options,
+ )
+ return _response.data
+
+ async def add_entity_to_folder(
+ self, folder_id: str, *, entity_id: str, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Add an entity to a specific folder or root directory.
+
+ Adding an entity to a folder will remove it from any other folders it might have been a member of.
+
+ Parameters
+ ----------
+ folder_id : str
+ The ID of the folder to which the entity should be added. This can be a UUID of a folder, or the name of a root
+ directory. Supported root directories include:
+ - PROMPT_SANDBOX
+ - WORKFLOW_SANDBOX
+ - DOCUMENT_INDEX
+ - TEST_SUITE
+
+ entity_id : str
+ The ID of the entity you would like to move.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.folder_entities.add_entity_to_folder(
+ folder_id="folder_id",
+ entity_id="entity_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.add_entity_to_folder(
+ folder_id, entity_id=entity_id, request_options=request_options
+ )
+ return _response.data
diff --git a/src/vellum/resources/folder_entities/raw_client.py b/src/vellum/resources/folder_entities/raw_client.py
index 86379aa7c2..7241ddd290 100644
--- a/src/vellum/resources/folder_entities/raw_client.py
+++ b/src/vellum/resources/folder_entities/raw_client.py
@@ -1,3 +1,276 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.folder_entities.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.paginated_folder_entity_list import PaginatedFolderEntityList
+from .types.folder_entities_list_request_entity_status import FolderEntitiesListRequestEntityStatus
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawFolderEntitiesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def list(
+ self,
+ *,
+ parent_folder_id: str,
+ entity_status: typing.Optional[FolderEntitiesListRequestEntityStatus] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedFolderEntityList]:
+ """
+ List all folder entities within a specified folder.
+
+ Parameters
+ ----------
+ parent_folder_id : str
+ Filter down to only those entities whose parent folder has the specified ID.
+
+ To filter by an entity's parent folder, provide the ID of the parent folder. To filter by the root directory, provide
+ a string representing the entity type of the root directory. Supported root directories include:
+ - PROMPT_SANDBOX
+ - WORKFLOW_SANDBOX
+ - DOCUMENT_INDEX
+ - TEST_SUITE
+
+ entity_status : typing.Optional[FolderEntitiesListRequestEntityStatus]
+ Filter down to only those objects whose entities have a status matching the status specified.
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedFolderEntityList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/folder-entities",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "entity_status": entity_status,
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "parent_folder_id": parent_folder_id,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedFolderEntityList,
+ parse_obj_as(
+ type_=PaginatedFolderEntityList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def add_entity_to_folder(
+ self, folder_id: str, *, entity_id: str, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[None]:
+ """
+ Add an entity to a specific folder or root directory.
+
+ Adding an entity to a folder will remove it from any other folders it might have been a member of.
+
+ Parameters
+ ----------
+ folder_id : str
+ The ID of the folder to which the entity should be added. This can be a UUID of a folder, or the name of a root
+ directory. Supported root directories include:
+ - PROMPT_SANDBOX
+ - WORKFLOW_SANDBOX
+ - DOCUMENT_INDEX
+ - TEST_SUITE
+
+ entity_id : str
+ The ID of the entity you would like to move.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/folders/{jsonable_encoder(folder_id)}/add-entity",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "entity_id": entity_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawFolderEntitiesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def list(
+ self,
+ *,
+ parent_folder_id: str,
+ entity_status: typing.Optional[FolderEntitiesListRequestEntityStatus] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedFolderEntityList]:
+ """
+ List all folder entities within a specified folder.
+
+ Parameters
+ ----------
+ parent_folder_id : str
+ Filter down to only those entities whose parent folder has the specified ID.
+
+ To filter by an entity's parent folder, provide the ID of the parent folder. To filter by the root directory, provide
+ a string representing the entity type of the root directory. Supported root directories include:
+ - PROMPT_SANDBOX
+ - WORKFLOW_SANDBOX
+ - DOCUMENT_INDEX
+ - TEST_SUITE
+
+ entity_status : typing.Optional[FolderEntitiesListRequestEntityStatus]
+ Filter down to only those objects whose entities have a status matching the status specified.
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedFolderEntityList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/folder-entities",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "entity_status": entity_status,
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "parent_folder_id": parent_folder_id,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedFolderEntityList,
+ parse_obj_as(
+ type_=PaginatedFolderEntityList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def add_entity_to_folder(
+ self, folder_id: str, *, entity_id: str, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Add an entity to a specific folder or root directory.
+
+ Adding an entity to a folder will remove it from any other folders it might have been a member of.
+
+ Parameters
+ ----------
+ folder_id : str
+ The ID of the folder to which the entity should be added. This can be a UUID of a folder, or the name of a root
+ directory. Supported root directories include:
+ - PROMPT_SANDBOX
+ - WORKFLOW_SANDBOX
+ - DOCUMENT_INDEX
+ - TEST_SUITE
+
+ entity_id : str
+ The ID of the entity you would like to move.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/folders/{jsonable_encoder(folder_id)}/add-entity",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "entity_id": entity_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/folder_entities/types/__init__.py b/src/vellum/resources/folder_entities/types/__init__.py
index 473c6b01e8..fcff0a7885 100644
--- a/src/vellum/resources/folder_entities/types/__init__.py
+++ b/src/vellum/resources/folder_entities/types/__init__.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.folder_entities.types import *
+# isort: skip_file
+
+from .folder_entities_list_request_entity_status import FolderEntitiesListRequestEntityStatus
+
+__all__ = ["FolderEntitiesListRequestEntityStatus"]
diff --git a/src/vellum/resources/folder_entities/types/folder_entities_list_request_entity_status.py b/src/vellum/resources/folder_entities/types/folder_entities_list_request_entity_status.py
index be6dc984d8..812c8e4983 100644
--- a/src/vellum/resources/folder_entities/types/folder_entities_list_request_entity_status.py
+++ b/src/vellum/resources/folder_entities/types/folder_entities_list_request_entity_status.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.folder_entities.types.folder_entities_list_request_entity_status import *
+import typing
+
+FolderEntitiesListRequestEntityStatus = typing.Union[typing.Literal["ACTIVE", "ARCHIVED"], typing.Any]
diff --git a/src/vellum/resources/integration_auth_configs/__init__.py b/src/vellum/resources/integration_auth_configs/__init__.py
index 2252d66ede..5cde0202dc 100644
--- a/src/vellum/resources/integration_auth_configs/__init__.py
+++ b/src/vellum/resources/integration_auth_configs/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.integration_auth_configs import *
diff --git a/src/vellum/resources/integration_auth_configs/client.py b/src/vellum/resources/integration_auth_configs/client.py
index 2d333463f2..cdfbf2bec8 100644
--- a/src/vellum/resources/integration_auth_configs/client.py
+++ b/src/vellum/resources/integration_auth_configs/client.py
@@ -1,3 +1,182 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.integration_auth_configs.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.paginated_slim_integration_auth_config_read_list import PaginatedSlimIntegrationAuthConfigReadList
+from .raw_client import AsyncRawIntegrationAuthConfigsClient, RawIntegrationAuthConfigsClient
+
+
+class IntegrationAuthConfigsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawIntegrationAuthConfigsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawIntegrationAuthConfigsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawIntegrationAuthConfigsClient
+ """
+ return self._raw_client
+
+ def list_integration_auth_configs(
+ self,
+ *,
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ integration_name: typing.Optional[str] = None,
+ integration_provider: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimIntegrationAuthConfigReadList:
+ """
+ List Integration Auth Configs
+
+ Parameters
+ ----------
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ The response fields to expand for more information.
+ - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
+
+ integration_name : typing.Optional[str]
+
+ integration_provider : typing.Optional[str]
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimIntegrationAuthConfigReadList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.integration_auth_configs.list_integration_auth_configs()
+ """
+ _response = self._raw_client.list_integration_auth_configs(
+ expand=expand,
+ integration_name=integration_name,
+ integration_provider=integration_provider,
+ limit=limit,
+ offset=offset,
+ ordering=ordering,
+ search=search,
+ request_options=request_options,
+ )
+ return _response.data
+
+
+class AsyncIntegrationAuthConfigsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawIntegrationAuthConfigsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawIntegrationAuthConfigsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawIntegrationAuthConfigsClient
+ """
+ return self._raw_client
+
+ async def list_integration_auth_configs(
+ self,
+ *,
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ integration_name: typing.Optional[str] = None,
+ integration_provider: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimIntegrationAuthConfigReadList:
+ """
+ List Integration Auth Configs
+
+ Parameters
+ ----------
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ The response fields to expand for more information.
+ - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
+
+ integration_name : typing.Optional[str]
+
+ integration_provider : typing.Optional[str]
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimIntegrationAuthConfigReadList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.integration_auth_configs.list_integration_auth_configs()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list_integration_auth_configs(
+ expand=expand,
+ integration_name=integration_name,
+ integration_provider=integration_provider,
+ limit=limit,
+ offset=offset,
+ ordering=ordering,
+ search=search,
+ request_options=request_options,
+ )
+ return _response.data
diff --git a/src/vellum/resources/integration_auth_configs/raw_client.py b/src/vellum/resources/integration_auth_configs/raw_client.py
index f821989f74..94ee2a6f69 100644
--- a/src/vellum/resources/integration_auth_configs/raw_client.py
+++ b/src/vellum/resources/integration_auth_configs/raw_client.py
@@ -1,3 +1,171 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.integration_auth_configs.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.paginated_slim_integration_auth_config_read_list import PaginatedSlimIntegrationAuthConfigReadList
+
+
+class RawIntegrationAuthConfigsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def list_integration_auth_configs(
+ self,
+ *,
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ integration_name: typing.Optional[str] = None,
+ integration_provider: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedSlimIntegrationAuthConfigReadList]:
+ """
+ List Integration Auth Configs
+
+ Parameters
+ ----------
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ The response fields to expand for more information.
+ - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
+
+ integration_name : typing.Optional[str]
+
+ integration_provider : typing.Optional[str]
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedSlimIntegrationAuthConfigReadList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/integration-auth-configs",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "expand": expand,
+ "integration_name": integration_name,
+ "integration_provider": integration_provider,
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "search": search,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimIntegrationAuthConfigReadList,
+ parse_obj_as(
+ type_=PaginatedSlimIntegrationAuthConfigReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawIntegrationAuthConfigsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def list_integration_auth_configs(
+ self,
+ *,
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ integration_name: typing.Optional[str] = None,
+ integration_provider: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedSlimIntegrationAuthConfigReadList]:
+ """
+ List Integration Auth Configs
+
+ Parameters
+ ----------
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ The response fields to expand for more information.
+ - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
+
+ integration_name : typing.Optional[str]
+
+ integration_provider : typing.Optional[str]
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedSlimIntegrationAuthConfigReadList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/integration-auth-configs",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "expand": expand,
+ "integration_name": integration_name,
+ "integration_provider": integration_provider,
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "search": search,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimIntegrationAuthConfigReadList,
+ parse_obj_as(
+ type_=PaginatedSlimIntegrationAuthConfigReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/integration_providers/__init__.py b/src/vellum/resources/integration_providers/__init__.py
index 54171e9d03..5cde0202dc 100644
--- a/src/vellum/resources/integration_providers/__init__.py
+++ b/src/vellum/resources/integration_providers/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.integration_providers import *
diff --git a/src/vellum/resources/integration_providers/client.py b/src/vellum/resources/integration_providers/client.py
index 8d9f4dfad0..458d27d1bc 100644
--- a/src/vellum/resources/integration_providers/client.py
+++ b/src/vellum/resources/integration_providers/client.py
@@ -1,3 +1,295 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.integration_providers.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
+from ...types.paginated_slim_tool_definition_list import PaginatedSlimToolDefinitionList
+from .raw_client import AsyncRawIntegrationProvidersClient, RawIntegrationProvidersClient
+
+
+class IntegrationProvidersClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawIntegrationProvidersClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawIntegrationProvidersClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawIntegrationProvidersClient
+ """
+ return self._raw_client
+
+ def retrieve_integration_provider_tool_definition(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ComponentsSchemasComposioToolDefinition:
+ """
+ Retrieve a specific integration tool definition.
+
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ComponentsSchemasComposioToolDefinition
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.integration_providers.retrieve_integration_provider_tool_definition(
+ integration_name="integration_name",
+ integration_provider="integration_provider",
+ tool_name="tool_name",
+ )
+ """
+ _response = self._raw_client.retrieve_integration_provider_tool_definition(
+ integration_name, integration_provider, tool_name, request_options=request_options
+ )
+ return _response.data
+
+ def list_integration_tools(
+ self,
+ integration_provider: str,
+ *,
+ important: typing.Optional[bool] = None,
+ include_deprecated: typing.Optional[bool] = None,
+ integration_name: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimToolDefinitionList:
+ """
+ List all integration tools for a given provider and integration.
+
+ Parameters
+ ----------
+ integration_provider : str
+ The integration provider name
+
+ important : typing.Optional[bool]
+ Whether to filter the tools by important
+
+ include_deprecated : typing.Optional[bool]
+ Whether to include deprecated tools
+
+ integration_name : typing.Optional[str]
+ The Vellum Integration name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ search : typing.Optional[str]
+ The search term to filter the tools by
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimToolDefinitionList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.integration_providers.list_integration_tools(
+ integration_provider="integration_provider",
+ )
+ """
+ _response = self._raw_client.list_integration_tools(
+ integration_provider,
+ important=important,
+ include_deprecated=include_deprecated,
+ integration_name=integration_name,
+ limit=limit,
+ offset=offset,
+ search=search,
+ request_options=request_options,
+ )
+ return _response.data
+
+
+class AsyncIntegrationProvidersClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawIntegrationProvidersClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawIntegrationProvidersClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawIntegrationProvidersClient
+ """
+ return self._raw_client
+
+ async def retrieve_integration_provider_tool_definition(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ComponentsSchemasComposioToolDefinition:
+ """
+ Retrieve a specific integration tool definition.
+
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ComponentsSchemasComposioToolDefinition
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.integration_providers.retrieve_integration_provider_tool_definition(
+ integration_name="integration_name",
+ integration_provider="integration_provider",
+ tool_name="tool_name",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve_integration_provider_tool_definition(
+ integration_name, integration_provider, tool_name, request_options=request_options
+ )
+ return _response.data
+
+ async def list_integration_tools(
+ self,
+ integration_provider: str,
+ *,
+ important: typing.Optional[bool] = None,
+ include_deprecated: typing.Optional[bool] = None,
+ integration_name: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimToolDefinitionList:
+ """
+ List all integration tools for a given provider and integration.
+
+ Parameters
+ ----------
+ integration_provider : str
+ The integration provider name
+
+ important : typing.Optional[bool]
+ Whether to filter the tools by important
+
+ include_deprecated : typing.Optional[bool]
+ Whether to include deprecated tools
+
+ integration_name : typing.Optional[str]
+ The Vellum Integration name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ search : typing.Optional[str]
+ The search term to filter the tools by
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimToolDefinitionList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.integration_providers.list_integration_tools(
+ integration_provider="integration_provider",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list_integration_tools(
+ integration_provider,
+ important=important,
+ include_deprecated=include_deprecated,
+ integration_name=integration_name,
+ limit=limit,
+ offset=offset,
+ search=search,
+ request_options=request_options,
+ )
+ return _response.data
diff --git a/src/vellum/resources/integration_providers/raw_client.py b/src/vellum/resources/integration_providers/raw_client.py
index 44df3a1448..2534a70a34 100644
--- a/src/vellum/resources/integration_providers/raw_client.py
+++ b/src/vellum/resources/integration_providers/raw_client.py
@@ -1,3 +1,275 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.integration_providers.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
+from ...types.paginated_slim_tool_definition_list import PaginatedSlimToolDefinitionList
+
+
+class RawIntegrationProvidersClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def retrieve_integration_provider_tool_definition(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[ComponentsSchemasComposioToolDefinition]:
+ """
+ Retrieve a specific integration tool definition.
+
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ComponentsSchemasComposioToolDefinition]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/integration-providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ComponentsSchemasComposioToolDefinition,
+ parse_obj_as(
+ type_=ComponentsSchemasComposioToolDefinition, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def list_integration_tools(
+ self,
+ integration_provider: str,
+ *,
+ important: typing.Optional[bool] = None,
+ include_deprecated: typing.Optional[bool] = None,
+ integration_name: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedSlimToolDefinitionList]:
+ """
+ List all integration tools for a given provider and integration.
+
+ Parameters
+ ----------
+ integration_provider : str
+ The integration provider name
+
+ important : typing.Optional[bool]
+ Whether to filter the tools by important
+
+ include_deprecated : typing.Optional[bool]
+ Whether to include deprecated tools
+
+ integration_name : typing.Optional[str]
+ The Vellum Integration name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ search : typing.Optional[str]
+ The search term to filter the tools by
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedSlimToolDefinitionList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/integration-providers/{jsonable_encoder(integration_provider)}/tools",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "important": important,
+ "include_deprecated": include_deprecated,
+ "integration_name": integration_name,
+ "limit": limit,
+ "offset": offset,
+ "search": search,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimToolDefinitionList,
+ parse_obj_as(
+ type_=PaginatedSlimToolDefinitionList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawIntegrationProvidersClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def retrieve_integration_provider_tool_definition(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[ComponentsSchemasComposioToolDefinition]:
+ """
+ Retrieve a specific integration tool definition.
+
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ComponentsSchemasComposioToolDefinition]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/integration-providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ComponentsSchemasComposioToolDefinition,
+ parse_obj_as(
+ type_=ComponentsSchemasComposioToolDefinition, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def list_integration_tools(
+ self,
+ integration_provider: str,
+ *,
+ important: typing.Optional[bool] = None,
+ include_deprecated: typing.Optional[bool] = None,
+ integration_name: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ search: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedSlimToolDefinitionList]:
+ """
+ List all integration tools for a given provider and integration.
+
+ Parameters
+ ----------
+ integration_provider : str
+ The integration provider name
+
+ important : typing.Optional[bool]
+ Whether to filter the tools by important
+
+ include_deprecated : typing.Optional[bool]
+ Whether to include deprecated tools
+
+ integration_name : typing.Optional[str]
+ The Vellum Integration name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ search : typing.Optional[str]
+ The search term to filter the tools by
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedSlimToolDefinitionList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/integration-providers/{jsonable_encoder(integration_provider)}/tools",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "important": important,
+ "include_deprecated": include_deprecated,
+ "integration_name": integration_name,
+ "limit": limit,
+ "offset": offset,
+ "search": search,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimToolDefinitionList,
+ parse_obj_as(
+ type_=PaginatedSlimToolDefinitionList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/integrations/__init__.py b/src/vellum/resources/integrations/__init__.py
index fa8f546994..5cde0202dc 100644
--- a/src/vellum/resources/integrations/__init__.py
+++ b/src/vellum/resources/integrations/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.integrations import *
diff --git a/src/vellum/resources/integrations/client.py b/src/vellum/resources/integrations/client.py
index 46209c9ac2..47b06f0740 100644
--- a/src/vellum/resources/integrations/client.py
+++ b/src/vellum/resources/integrations/client.py
@@ -1,3 +1,462 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.integrations.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.components_schemas_composio_execute_tool_response import ComponentsSchemasComposioExecuteToolResponse
+from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
+from ...types.integration_read import IntegrationRead
+from ...types.paginated_slim_integration_read_list import PaginatedSlimIntegrationReadList
+from .raw_client import AsyncRawIntegrationsClient, RawIntegrationsClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class IntegrationsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawIntegrationsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawIntegrationsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawIntegrationsClient
+ """
+ return self._raw_client
+
+ def retrieve_integration_tool_definition(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ComponentsSchemasComposioToolDefinition:
+ """
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ComponentsSchemasComposioToolDefinition
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.integrations.retrieve_integration_tool_definition(
+ integration_name="integration_name",
+ integration_provider="integration_provider",
+ tool_name="tool_name",
+ )
+ """
+ _response = self._raw_client.retrieve_integration_tool_definition(
+ integration_name, integration_provider, tool_name, request_options=request_options
+ )
+ return _response.data
+
+ def execute_integration_tool(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ arguments: typing.Dict[str, typing.Optional[typing.Any]],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ComponentsSchemasComposioExecuteToolResponse:
+ """
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ arguments : typing.Dict[str, typing.Optional[typing.Any]]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ComponentsSchemasComposioExecuteToolResponse
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.integrations.execute_integration_tool(
+ integration_name="integration_name",
+ integration_provider="integration_provider",
+ tool_name="tool_name",
+ arguments={"arguments": {"key": "value"}},
+ )
+ """
+ _response = self._raw_client.execute_integration_tool(
+ integration_name, integration_provider, tool_name, arguments=arguments, request_options=request_options
+ )
+ return _response.data
+
+ def list(
+ self,
+ *,
+ integration_provider: typing.Optional[typing.Literal["COMPOSIO"]] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ supports_integration_triggers: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimIntegrationReadList:
+ """
+ List all integrations
+
+ Parameters
+ ----------
+ integration_provider : typing.Optional[typing.Literal["COMPOSIO"]]
+ * `COMPOSIO` - Composio
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ supports_integration_triggers : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimIntegrationReadList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.integrations.list()
+ """
+ _response = self._raw_client.list(
+ integration_provider=integration_provider,
+ limit=limit,
+ offset=offset,
+ ordering=ordering,
+ search=search,
+ supports_integration_triggers=supports_integration_triggers,
+ request_options=request_options,
+ )
+ return _response.data
+
+ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> IntegrationRead:
+ """
+ Retrieve an integration
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this integration.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ IntegrationRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.integrations.retrieve(
+ id="id",
+ )
+ """
+ _response = self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+
+class AsyncIntegrationsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawIntegrationsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawIntegrationsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawIntegrationsClient
+ """
+ return self._raw_client
+
+ async def retrieve_integration_tool_definition(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ComponentsSchemasComposioToolDefinition:
+ """
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ComponentsSchemasComposioToolDefinition
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.integrations.retrieve_integration_tool_definition(
+ integration_name="integration_name",
+ integration_provider="integration_provider",
+ tool_name="tool_name",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve_integration_tool_definition(
+ integration_name, integration_provider, tool_name, request_options=request_options
+ )
+ return _response.data
+
+ async def execute_integration_tool(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ arguments: typing.Dict[str, typing.Optional[typing.Any]],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> ComponentsSchemasComposioExecuteToolResponse:
+ """
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ arguments : typing.Dict[str, typing.Optional[typing.Any]]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ ComponentsSchemasComposioExecuteToolResponse
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.integrations.execute_integration_tool(
+ integration_name="integration_name",
+ integration_provider="integration_provider",
+ tool_name="tool_name",
+ arguments={"arguments": {"key": "value"}},
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.execute_integration_tool(
+ integration_name, integration_provider, tool_name, arguments=arguments, request_options=request_options
+ )
+ return _response.data
+
+ async def list(
+ self,
+ *,
+ integration_provider: typing.Optional[typing.Literal["COMPOSIO"]] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ supports_integration_triggers: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimIntegrationReadList:
+ """
+ List all integrations
+
+ Parameters
+ ----------
+ integration_provider : typing.Optional[typing.Literal["COMPOSIO"]]
+ * `COMPOSIO` - Composio
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ supports_integration_triggers : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimIntegrationReadList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.integrations.list()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list(
+ integration_provider=integration_provider,
+ limit=limit,
+ offset=offset,
+ ordering=ordering,
+ search=search,
+ supports_integration_triggers=supports_integration_triggers,
+ request_options=request_options,
+ )
+ return _response.data
+
+ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> IntegrationRead:
+ """
+ Retrieve an integration
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this integration.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ IntegrationRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.integrations.retrieve(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
diff --git a/src/vellum/resources/integrations/raw_client.py b/src/vellum/resources/integrations/raw_client.py
index 0d8aa0a26b..1a0f9e6651 100644
--- a/src/vellum/resources/integrations/raw_client.py
+++ b/src/vellum/resources/integrations/raw_client.py
@@ -1,3 +1,557 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.integrations.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...errors.bad_request_error import BadRequestError
+from ...errors.forbidden_error import ForbiddenError
+from ...errors.not_found_error import NotFoundError
+from ...types.components_schemas_composio_execute_tool_response import ComponentsSchemasComposioExecuteToolResponse
+from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
+from ...types.integration_read import IntegrationRead
+from ...types.paginated_slim_integration_read_list import PaginatedSlimIntegrationReadList
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawIntegrationsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def retrieve_integration_tool_definition(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[ComponentsSchemasComposioToolDefinition]:
+ """
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ComponentsSchemasComposioToolDefinition]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"integrations/v1/providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ComponentsSchemasComposioToolDefinition,
+ parse_obj_as(
+ type_=ComponentsSchemasComposioToolDefinition, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def execute_integration_tool(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ arguments: typing.Dict[str, typing.Optional[typing.Any]],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[ComponentsSchemasComposioExecuteToolResponse]:
+ """
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ arguments : typing.Dict[str, typing.Optional[typing.Any]]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[ComponentsSchemasComposioExecuteToolResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"integrations/v1/providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}/execute",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "arguments": arguments,
+ "provider": "COMPOSIO",
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ComponentsSchemasComposioExecuteToolResponse,
+ parse_obj_as(
+ type_=ComponentsSchemasComposioExecuteToolResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def list(
+ self,
+ *,
+ integration_provider: typing.Optional[typing.Literal["COMPOSIO"]] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ supports_integration_triggers: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedSlimIntegrationReadList]:
+ """
+ List all integrations
+
+ Parameters
+ ----------
+ integration_provider : typing.Optional[typing.Literal["COMPOSIO"]]
+ * `COMPOSIO` - Composio
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ supports_integration_triggers : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedSlimIntegrationReadList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/integrations",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "integration_provider": integration_provider,
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "search": search,
+ "supports_integration_triggers": supports_integration_triggers,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimIntegrationReadList,
+ parse_obj_as(
+ type_=PaginatedSlimIntegrationReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[IntegrationRead]:
+ """
+ Retrieve an integration
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this integration.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[IntegrationRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/integrations/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ IntegrationRead,
+ parse_obj_as(
+ type_=IntegrationRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawIntegrationsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def retrieve_integration_tool_definition(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[ComponentsSchemasComposioToolDefinition]:
+ """
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ComponentsSchemasComposioToolDefinition]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"integrations/v1/providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ComponentsSchemasComposioToolDefinition,
+ parse_obj_as(
+ type_=ComponentsSchemasComposioToolDefinition, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def execute_integration_tool(
+ self,
+ integration_name: str,
+ integration_provider: str,
+ tool_name: str,
+ *,
+ arguments: typing.Dict[str, typing.Optional[typing.Any]],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[ComponentsSchemasComposioExecuteToolResponse]:
+ """
+ Parameters
+ ----------
+ integration_name : str
+ The integration name
+
+ integration_provider : str
+ The integration provider name
+
+ tool_name : str
+ The tool's unique name, as specified by the integration provider
+
+ arguments : typing.Dict[str, typing.Optional[typing.Any]]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[ComponentsSchemasComposioExecuteToolResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"integrations/v1/providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}/execute",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "arguments": arguments,
+ "provider": "COMPOSIO",
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ ComponentsSchemasComposioExecuteToolResponse,
+ parse_obj_as(
+ type_=ComponentsSchemasComposioExecuteToolResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 403:
+ raise ForbiddenError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def list(
+ self,
+ *,
+ integration_provider: typing.Optional[typing.Literal["COMPOSIO"]] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ search: typing.Optional[str] = None,
+ supports_integration_triggers: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedSlimIntegrationReadList]:
+ """
+ List all integrations
+
+ Parameters
+ ----------
+ integration_provider : typing.Optional[typing.Literal["COMPOSIO"]]
+ * `COMPOSIO` - Composio
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ search : typing.Optional[str]
+ A search term.
+
+ supports_integration_triggers : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedSlimIntegrationReadList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/integrations",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "integration_provider": integration_provider,
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "search": search,
+ "supports_integration_triggers": supports_integration_triggers,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimIntegrationReadList,
+ parse_obj_as(
+ type_=PaginatedSlimIntegrationReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[IntegrationRead]:
+ """
+ Retrieve an integration
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this integration.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[IntegrationRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/integrations/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ IntegrationRead,
+ parse_obj_as(
+ type_=IntegrationRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/metric_definitions/__init__.py b/src/vellum/resources/metric_definitions/__init__.py
index 5ddb6a807e..5cde0202dc 100644
--- a/src/vellum/resources/metric_definitions/__init__.py
+++ b/src/vellum/resources/metric_definitions/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.metric_definitions import *
diff --git a/src/vellum/resources/metric_definitions/client.py b/src/vellum/resources/metric_definitions/client.py
index cd7bc7001c..ae64089212 100644
--- a/src/vellum/resources/metric_definitions/client.py
+++ b/src/vellum/resources/metric_definitions/client.py
@@ -1,3 +1,243 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.metric_definitions.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.metric_definition_execution import MetricDefinitionExecution
+from ...types.metric_definition_history_item import MetricDefinitionHistoryItem
+from ...types.metric_definition_input import MetricDefinitionInput
+from .raw_client import AsyncRawMetricDefinitionsClient, RawMetricDefinitionsClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class MetricDefinitionsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawMetricDefinitionsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawMetricDefinitionsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawMetricDefinitionsClient
+ """
+ return self._raw_client
+
+ def execute_metric_definition(
+ self,
+ id: str,
+ *,
+ inputs: typing.Sequence[MetricDefinitionInput],
+ release_tag: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> MetricDefinitionExecution:
+ """
+ Parameters
+ ----------
+ id : str
+ Either the Metric Definition's ID or its unique name
+
+ inputs : typing.Sequence[MetricDefinitionInput]
+
+ release_tag : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ MetricDefinitionExecution
+
+
+ Examples
+ --------
+ from vellum import StringInput, Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.metric_definitions.execute_metric_definition(
+ id="id",
+ inputs=[
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ ],
+ )
+ """
+ _response = self._raw_client.execute_metric_definition(
+ id, inputs=inputs, release_tag=release_tag, request_options=request_options
+ )
+ return _response.data
+
+ def metric_definition_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> MetricDefinitionHistoryItem:
+ """
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Metric Definition History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Metric Definition History Item you'd like to retrieve.
+
+ id : str
+ A UUID string identifying this metric definition.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ MetricDefinitionHistoryItem
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.metric_definitions.metric_definition_history_item_retrieve(
+ history_id_or_release_tag="history_id_or_release_tag",
+ id="id",
+ )
+ """
+ _response = self._raw_client.metric_definition_history_item_retrieve(
+ history_id_or_release_tag, id, request_options=request_options
+ )
+ return _response.data
+
+
+class AsyncMetricDefinitionsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawMetricDefinitionsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawMetricDefinitionsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawMetricDefinitionsClient
+ """
+ return self._raw_client
+
+ async def execute_metric_definition(
+ self,
+ id: str,
+ *,
+ inputs: typing.Sequence[MetricDefinitionInput],
+ release_tag: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> MetricDefinitionExecution:
+ """
+ Parameters
+ ----------
+ id : str
+ Either the Metric Definition's ID or its unique name
+
+ inputs : typing.Sequence[MetricDefinitionInput]
+
+ release_tag : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ MetricDefinitionExecution
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum, StringInput
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.metric_definitions.execute_metric_definition(
+ id="id",
+ inputs=[
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ StringInput(
+ name="x",
+ value="value",
+ ),
+ ],
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.execute_metric_definition(
+ id, inputs=inputs, release_tag=release_tag, request_options=request_options
+ )
+ return _response.data
+
+ async def metric_definition_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> MetricDefinitionHistoryItem:
+ """
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Metric Definition History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Metric Definition History Item you'd like to retrieve.
+
+ id : str
+ A UUID string identifying this metric definition.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ MetricDefinitionHistoryItem
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.metric_definitions.metric_definition_history_item_retrieve(
+ history_id_or_release_tag="history_id_or_release_tag",
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.metric_definition_history_item_retrieve(
+ history_id_or_release_tag, id, request_options=request_options
+ )
+ return _response.data
diff --git a/src/vellum/resources/metric_definitions/raw_client.py b/src/vellum/resources/metric_definitions/raw_client.py
index 969b65d9b5..3d53e2bc82 100644
--- a/src/vellum/resources/metric_definitions/raw_client.py
+++ b/src/vellum/resources/metric_definitions/raw_client.py
@@ -1,3 +1,224 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.metric_definitions.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...core.serialization import convert_and_respect_annotation_metadata
+from ...types.metric_definition_execution import MetricDefinitionExecution
+from ...types.metric_definition_history_item import MetricDefinitionHistoryItem
+from ...types.metric_definition_input import MetricDefinitionInput
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawMetricDefinitionsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def execute_metric_definition(
+ self,
+ id: str,
+ *,
+ inputs: typing.Sequence[MetricDefinitionInput],
+ release_tag: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[MetricDefinitionExecution]:
+ """
+ Parameters
+ ----------
+ id : str
+ Either the Metric Definition's ID or its unique name
+
+ inputs : typing.Sequence[MetricDefinitionInput]
+
+ release_tag : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[MetricDefinitionExecution]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/metric-definitions/{jsonable_encoder(id)}/execute",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[MetricDefinitionInput], direction="write"
+ ),
+ "release_tag": release_tag,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ MetricDefinitionExecution,
+ parse_obj_as(
+ type_=MetricDefinitionExecution, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def metric_definition_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[MetricDefinitionHistoryItem]:
+ """
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Metric Definition History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Metric Definition History Item you'd like to retrieve.
+
+ id : str
+ A UUID string identifying this metric definition.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[MetricDefinitionHistoryItem]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/metric-definitions/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ MetricDefinitionHistoryItem,
+ parse_obj_as(
+ type_=MetricDefinitionHistoryItem, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawMetricDefinitionsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def execute_metric_definition(
+ self,
+ id: str,
+ *,
+ inputs: typing.Sequence[MetricDefinitionInput],
+ release_tag: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[MetricDefinitionExecution]:
+ """
+ Parameters
+ ----------
+ id : str
+ Either the Metric Definition's ID or its unique name
+
+ inputs : typing.Sequence[MetricDefinitionInput]
+
+ release_tag : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[MetricDefinitionExecution]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/metric-definitions/{jsonable_encoder(id)}/execute",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="POST",
+ json={
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[MetricDefinitionInput], direction="write"
+ ),
+ "release_tag": release_tag,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ MetricDefinitionExecution,
+ parse_obj_as(
+ type_=MetricDefinitionExecution, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def metric_definition_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[MetricDefinitionHistoryItem]:
+ """
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Metric Definition History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Metric Definition History Item you'd like to retrieve.
+
+ id : str
+ A UUID string identifying this metric definition.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[MetricDefinitionHistoryItem]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/metric-definitions/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ MetricDefinitionHistoryItem,
+ parse_obj_as(
+ type_=MetricDefinitionHistoryItem, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/ml_models/__init__.py b/src/vellum/resources/ml_models/__init__.py
index 2df6a5e679..5cde0202dc 100644
--- a/src/vellum/resources/ml_models/__init__.py
+++ b/src/vellum/resources/ml_models/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.ml_models import *
diff --git a/src/vellum/resources/ml_models/client.py b/src/vellum/resources/ml_models/client.py
index 350f8a9dce..a5791bb935 100644
--- a/src/vellum/resources/ml_models/client.py
+++ b/src/vellum/resources/ml_models/client.py
@@ -1,3 +1,112 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.ml_models.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.ml_model_read import MlModelRead
+from .raw_client import AsyncRawMlModelsClient, RawMlModelsClient
+
+
+class MlModelsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawMlModelsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawMlModelsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawMlModelsClient
+ """
+ return self._raw_client
+
+ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> MlModelRead:
+ """
+ Retrieve details about an ML Model
+
+ Parameters
+ ----------
+ id : str
+ Either the ML Model's ID, its unique name, or its ID in the workspace.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ MlModelRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.ml_models.retrieve(
+ id="id",
+ )
+ """
+ _response = self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+
+class AsyncMlModelsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawMlModelsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawMlModelsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawMlModelsClient
+ """
+ return self._raw_client
+
+ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> MlModelRead:
+ """
+ Retrieve details about an ML Model
+
+ Parameters
+ ----------
+ id : str
+ Either the ML Model's ID, its unique name, or its ID in the workspace.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ MlModelRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.ml_models.retrieve(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
diff --git a/src/vellum/resources/ml_models/raw_client.py b/src/vellum/resources/ml_models/raw_client.py
index 58fab15f88..926d563468 100644
--- a/src/vellum/resources/ml_models/raw_client.py
+++ b/src/vellum/resources/ml_models/raw_client.py
@@ -1,3 +1,102 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.ml_models.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.ml_model_read import MlModelRead
+
+
+class RawMlModelsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[MlModelRead]:
+ """
+ Retrieve details about an ML Model
+
+ Parameters
+ ----------
+ id : str
+ Either the ML Model's ID, its unique name, or its ID in the workspace.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[MlModelRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/ml-models/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ MlModelRead,
+ parse_obj_as(
+ type_=MlModelRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawMlModelsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[MlModelRead]:
+ """
+ Retrieve details about an ML Model
+
+ Parameters
+ ----------
+ id : str
+ Either the ML Model's ID, its unique name, or its ID in the workspace.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[MlModelRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/ml-models/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ MlModelRead,
+ parse_obj_as(
+ type_=MlModelRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/organizations/__init__.py b/src/vellum/resources/organizations/__init__.py
index db1c60bd6f..5cde0202dc 100644
--- a/src/vellum/resources/organizations/__init__.py
+++ b/src/vellum/resources/organizations/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.organizations import *
diff --git a/src/vellum/resources/organizations/client.py b/src/vellum/resources/organizations/client.py
index 6e68b9142a..db9659097f 100644
--- a/src/vellum/resources/organizations/client.py
+++ b/src/vellum/resources/organizations/client.py
@@ -1,3 +1,104 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.organizations.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.organization_read import OrganizationRead
+from .raw_client import AsyncRawOrganizationsClient, RawOrganizationsClient
+
+
+class OrganizationsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawOrganizationsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawOrganizationsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawOrganizationsClient
+ """
+ return self._raw_client
+
+ def organization_identity(self, *, request_options: typing.Optional[RequestOptions] = None) -> OrganizationRead:
+ """
+ Retrieves information about the active Organization
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ OrganizationRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.organizations.organization_identity()
+ """
+ _response = self._raw_client.organization_identity(request_options=request_options)
+ return _response.data
+
+
+class AsyncOrganizationsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawOrganizationsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawOrganizationsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawOrganizationsClient
+ """
+ return self._raw_client
+
+ async def organization_identity(
+ self, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> OrganizationRead:
+ """
+ Retrieves information about the active Organization
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ OrganizationRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.organizations.organization_identity()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.organization_identity(request_options=request_options)
+ return _response.data
diff --git a/src/vellum/resources/organizations/raw_client.py b/src/vellum/resources/organizations/raw_client.py
index 18b2dc412b..31cb1d35ca 100644
--- a/src/vellum/resources/organizations/raw_client.py
+++ b/src/vellum/resources/organizations/raw_client.py
@@ -1,3 +1,95 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.organizations.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.organization_read import OrganizationRead
+
+
+class RawOrganizationsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def organization_identity(
+ self, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[OrganizationRead]:
+ """
+ Retrieves information about the active Organization
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[OrganizationRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/organizations/identity",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ OrganizationRead,
+ parse_obj_as(
+ type_=OrganizationRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawOrganizationsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def organization_identity(
+ self, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[OrganizationRead]:
+ """
+ Retrieves information about the active Organization
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[OrganizationRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/organizations/identity",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ OrganizationRead,
+ parse_obj_as(
+ type_=OrganizationRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/prompts/__init__.py b/src/vellum/resources/prompts/__init__.py
index 4a09df454f..5cde0202dc 100644
--- a/src/vellum/resources/prompts/__init__.py
+++ b/src/vellum/resources/prompts/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.prompts import *
diff --git a/src/vellum/resources/prompts/client.py b/src/vellum/resources/prompts/client.py
index 6b309fc1f7..3af2d06993 100644
--- a/src/vellum/resources/prompts/client.py
+++ b/src/vellum/resources/prompts/client.py
@@ -1,3 +1,308 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.prompts.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.prompt_exec_config import PromptExecConfig
+from ...types.prompt_push_response import PromptPushResponse
+from .raw_client import AsyncRawPromptsClient, RawPromptsClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class PromptsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawPromptsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawPromptsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawPromptsClient
+ """
+ return self._raw_client
+
+ def pull(
+ self,
+ id: str,
+ *,
+ prompt_variant_id: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PromptExecConfig:
+ """
+ Used to pull the definition of a Prompt from Vellum.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the Prompt to pull from. Prompt Sandbox IDs are currently supported.
+
+ prompt_variant_id : typing.Optional[str]
+ The ID of the Prompt Variant within a Prompt Sandbox to pull. Must be included if providing the ID of a Prompt Sandbox.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PromptExecConfig
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.prompts.pull(
+ id="id",
+ )
+ """
+ _response = self._raw_client.pull(id, prompt_variant_id=prompt_variant_id, request_options=request_options)
+ return _response.data
+
+ def push(
+ self,
+ *,
+ exec_config: PromptExecConfig,
+ prompt_variant_id: typing.Optional[str] = OMIT,
+ prompt_variant_label: typing.Optional[str] = OMIT,
+ prompt_sandbox_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PromptPushResponse:
+ """
+ Used to push updates to a Prompt in Vellum.
+
+ Parameters
+ ----------
+ exec_config : PromptExecConfig
+
+ prompt_variant_id : typing.Optional[str]
+ If specified, an existing Prompt Variant by the provided ID will be updated. Otherwise, a new Prompt Variant will be created and an ID generated.
+
+ prompt_variant_label : typing.Optional[str]
+ If provided, then the created/updated Prompt Variant will have this label.
+
+ prompt_sandbox_id : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PromptPushResponse
+
+
+ Examples
+ --------
+ from vellum import (
+ JinjaPromptBlock,
+ PromptExecConfig,
+ PromptParameters,
+ Vellum,
+ VellumVariable,
+ )
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.prompts.push(
+ exec_config=PromptExecConfig(
+ ml_model="ml_model",
+ input_variables=[
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ ],
+ parameters=PromptParameters(),
+ blocks=[
+ JinjaPromptBlock(
+ template="template",
+ ),
+ JinjaPromptBlock(
+ template="template",
+ ),
+ ],
+ ),
+ )
+ """
+ _response = self._raw_client.push(
+ exec_config=exec_config,
+ prompt_variant_id=prompt_variant_id,
+ prompt_variant_label=prompt_variant_label,
+ prompt_sandbox_id=prompt_sandbox_id,
+ request_options=request_options,
+ )
+ return _response.data
+
+
+class AsyncPromptsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawPromptsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawPromptsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawPromptsClient
+ """
+ return self._raw_client
+
+ async def pull(
+ self,
+ id: str,
+ *,
+ prompt_variant_id: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PromptExecConfig:
+ """
+ Used to pull the definition of a Prompt from Vellum.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the Prompt to pull from. Prompt Sandbox IDs are currently supported.
+
+ prompt_variant_id : typing.Optional[str]
+ The ID of the Prompt Variant within a Prompt Sandbox to pull. Must be included if providing the ID of a Prompt Sandbox.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PromptExecConfig
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.prompts.pull(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.pull(
+ id, prompt_variant_id=prompt_variant_id, request_options=request_options
+ )
+ return _response.data
+
+ async def push(
+ self,
+ *,
+ exec_config: PromptExecConfig,
+ prompt_variant_id: typing.Optional[str] = OMIT,
+ prompt_variant_label: typing.Optional[str] = OMIT,
+ prompt_sandbox_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PromptPushResponse:
+ """
+ Used to push updates to a Prompt in Vellum.
+
+ Parameters
+ ----------
+ exec_config : PromptExecConfig
+
+ prompt_variant_id : typing.Optional[str]
+ If specified, an existing Prompt Variant by the provided ID will be updated. Otherwise, a new Prompt Variant will be created and an ID generated.
+
+ prompt_variant_label : typing.Optional[str]
+ If provided, then the created/updated Prompt Variant will have this label.
+
+ prompt_sandbox_id : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PromptPushResponse
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import (
+ AsyncVellum,
+ JinjaPromptBlock,
+ PromptExecConfig,
+ PromptParameters,
+ VellumVariable,
+ )
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.prompts.push(
+ exec_config=PromptExecConfig(
+ ml_model="ml_model",
+ input_variables=[
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ VellumVariable(
+ id="x",
+ key="key",
+ type="STRING",
+ ),
+ ],
+ parameters=PromptParameters(),
+ blocks=[
+ JinjaPromptBlock(
+ template="template",
+ ),
+ JinjaPromptBlock(
+ template="template",
+ ),
+ ],
+ ),
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.push(
+ exec_config=exec_config,
+ prompt_variant_id=prompt_variant_id,
+ prompt_variant_label=prompt_variant_label,
+ prompt_sandbox_id=prompt_sandbox_id,
+ request_options=request_options,
+ )
+ return _response.data
diff --git a/src/vellum/resources/prompts/raw_client.py b/src/vellum/resources/prompts/raw_client.py
index a51bcbdab5..d7642128a3 100644
--- a/src/vellum/resources/prompts/raw_client.py
+++ b/src/vellum/resources/prompts/raw_client.py
@@ -1,3 +1,353 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.prompts.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...core.serialization import convert_and_respect_annotation_metadata
+from ...errors.bad_request_error import BadRequestError
+from ...errors.not_found_error import NotFoundError
+from ...types.prompt_exec_config import PromptExecConfig
+from ...types.prompt_push_response import PromptPushResponse
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawPromptsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def pull(
+ self,
+ id: str,
+ *,
+ prompt_variant_id: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PromptExecConfig]:
+ """
+ Used to pull the definition of a Prompt from Vellum.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the Prompt to pull from. Prompt Sandbox IDs are currently supported.
+
+ prompt_variant_id : typing.Optional[str]
+ The ID of the Prompt Variant within a Prompt Sandbox to pull. Must be included if providing the ID of a Prompt Sandbox.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PromptExecConfig]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/prompts/{jsonable_encoder(id)}/pull",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "prompt_variant_id": prompt_variant_id,
+ },
+ headers={
+ "Accept": "application/json",
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PromptExecConfig,
+ parse_obj_as(
+ type_=PromptExecConfig, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def push(
+ self,
+ *,
+ exec_config: PromptExecConfig,
+ prompt_variant_id: typing.Optional[str] = OMIT,
+ prompt_variant_label: typing.Optional[str] = OMIT,
+ prompt_sandbox_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PromptPushResponse]:
+ """
+ Used to push updates to a Prompt in Vellum.
+
+ Parameters
+ ----------
+ exec_config : PromptExecConfig
+
+ prompt_variant_id : typing.Optional[str]
+ If specified, an existing Prompt Variant by the provided ID will be updated. Otherwise, a new Prompt Variant will be created and an ID generated.
+
+ prompt_variant_label : typing.Optional[str]
+ If provided, then the created/updated Prompt Variant will have this label.
+
+ prompt_sandbox_id : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PromptPushResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/prompts/push",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "prompt_variant_id": prompt_variant_id,
+ "prompt_variant_label": prompt_variant_label,
+ "prompt_sandbox_id": prompt_sandbox_id,
+ "exec_config": convert_and_respect_annotation_metadata(
+ object_=exec_config, annotation=PromptExecConfig, direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PromptPushResponse,
+ parse_obj_as(
+ type_=PromptPushResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawPromptsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def pull(
+ self,
+ id: str,
+ *,
+ prompt_variant_id: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PromptExecConfig]:
+ """
+ Used to pull the definition of a Prompt from Vellum.
+
+ Parameters
+ ----------
+ id : str
+ The ID of the Prompt to pull from. Prompt Sandbox IDs are currently supported.
+
+ prompt_variant_id : typing.Optional[str]
+ The ID of the Prompt Variant within a Prompt Sandbox to pull. Must be included if providing the ID of a Prompt Sandbox.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PromptExecConfig]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/prompts/{jsonable_encoder(id)}/pull",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "prompt_variant_id": prompt_variant_id,
+ },
+ headers={
+ "Accept": "application/json",
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PromptExecConfig,
+ parse_obj_as(
+ type_=PromptExecConfig, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def push(
+ self,
+ *,
+ exec_config: PromptExecConfig,
+ prompt_variant_id: typing.Optional[str] = OMIT,
+ prompt_variant_label: typing.Optional[str] = OMIT,
+ prompt_sandbox_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PromptPushResponse]:
+ """
+ Used to push updates to a Prompt in Vellum.
+
+ Parameters
+ ----------
+ exec_config : PromptExecConfig
+
+ prompt_variant_id : typing.Optional[str]
+ If specified, an existing Prompt Variant by the provided ID will be updated. Otherwise, a new Prompt Variant will be created and an ID generated.
+
+ prompt_variant_label : typing.Optional[str]
+ If provided, then the created/updated Prompt Variant will have this label.
+
+ prompt_sandbox_id : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PromptPushResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/prompts/push",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "prompt_variant_id": prompt_variant_id,
+ "prompt_variant_label": prompt_variant_label,
+ "prompt_sandbox_id": prompt_sandbox_id,
+ "exec_config": convert_and_respect_annotation_metadata(
+ object_=exec_config, annotation=PromptExecConfig, direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PromptPushResponse,
+ parse_obj_as(
+ type_=PromptPushResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/sandboxes/__init__.py b/src/vellum/resources/sandboxes/__init__.py
index 5530a87682..5cde0202dc 100644
--- a/src/vellum/resources/sandboxes/__init__.py
+++ b/src/vellum/resources/sandboxes/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.sandboxes import *
diff --git a/src/vellum/resources/sandboxes/client.py b/src/vellum/resources/sandboxes/client.py
index 76e29206ad..2e52ecf104 100644
--- a/src/vellum/resources/sandboxes/client.py
+++ b/src/vellum/resources/sandboxes/client.py
@@ -1,3 +1,409 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.sandboxes.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.deployment_read import DeploymentRead
+from ...types.named_scenario_input_request import NamedScenarioInputRequest
+from ...types.sandbox_scenario import SandboxScenario
+from .raw_client import AsyncRawSandboxesClient, RawSandboxesClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class SandboxesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawSandboxesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawSandboxesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawSandboxesClient
+ """
+ return self._raw_client
+
+ def deploy_prompt(
+ self,
+ id: str,
+ prompt_variant_id: str,
+ *,
+ prompt_deployment_id: typing.Optional[str] = OMIT,
+ prompt_deployment_name: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
+ release_description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DeploymentRead:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ prompt_variant_id : str
+ An ID identifying the Prompt you'd like to deploy.
+
+ prompt_deployment_id : typing.Optional[str]
+ The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment.
+
+ prompt_deployment_name : typing.Optional[str]
+ The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
+
+ label : typing.Optional[str]
+ In the event that a new Prompt Deployment is created, this will be the label it's given.
+
+ release_tags : typing.Optional[typing.Sequence[str]]
+ Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
+
+ release_description : typing.Optional[str]
+ Optionally provide a description that details what's new in this Release.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.sandboxes.deploy_prompt(
+ id="id",
+ prompt_variant_id="prompt_variant_id",
+ )
+ """
+ _response = self._raw_client.deploy_prompt(
+ id,
+ prompt_variant_id,
+ prompt_deployment_id=prompt_deployment_id,
+ prompt_deployment_name=prompt_deployment_name,
+ label=label,
+ release_tags=release_tags,
+ release_description=release_description,
+ request_options=request_options,
+ )
+ return _response.data
+
+ def upsert_sandbox_scenario(
+ self,
+ id: str,
+ *,
+ inputs: typing.Sequence[NamedScenarioInputRequest],
+ label: typing.Optional[str] = OMIT,
+ scenario_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> SandboxScenario:
+ """
+ Upserts a new scenario for a sandbox, keying off of the optionally provided scenario id.
+
+ If an id is provided and has a match, the scenario will be updated. If no id is provided or no match
+ is found, a new scenario will be appended to the end.
+
+ Note that a full replacement of the scenario is performed, so any fields not provided will be removed
+ or overwritten with default values.
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ inputs : typing.Sequence[NamedScenarioInputRequest]
+ The inputs for the scenario
+
+ label : typing.Optional[str]
+
+ scenario_id : typing.Optional[str]
+ The id of the scenario to update. If none is provided, an id will be generated and a new scenario will be appended.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ SandboxScenario
+
+
+ Examples
+ --------
+ from vellum import NamedScenarioInputStringVariableValueRequest, Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.sandboxes.upsert_sandbox_scenario(
+ id="id",
+ inputs=[
+ NamedScenarioInputStringVariableValueRequest(
+ name="x",
+ ),
+ NamedScenarioInputStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ )
+ """
+ _response = self._raw_client.upsert_sandbox_scenario(
+ id, inputs=inputs, label=label, scenario_id=scenario_id, request_options=request_options
+ )
+ return _response.data
+
+ def delete_sandbox_scenario(
+ self, id: str, scenario_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Deletes an existing scenario from a sandbox, keying off of the provided scenario id.
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ scenario_id : str
+ An id identifying the scenario that you'd like to delete
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.sandboxes.delete_sandbox_scenario(
+ id="id",
+ scenario_id="scenario_id",
+ )
+ """
+ _response = self._raw_client.delete_sandbox_scenario(id, scenario_id, request_options=request_options)
+ return _response.data
+
+
+class AsyncSandboxesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawSandboxesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawSandboxesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawSandboxesClient
+ """
+ return self._raw_client
+
+ async def deploy_prompt(
+ self,
+ id: str,
+ prompt_variant_id: str,
+ *,
+ prompt_deployment_id: typing.Optional[str] = OMIT,
+ prompt_deployment_name: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
+ release_description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> DeploymentRead:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ prompt_variant_id : str
+ An ID identifying the Prompt you'd like to deploy.
+
+ prompt_deployment_id : typing.Optional[str]
+ The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment.
+
+ prompt_deployment_name : typing.Optional[str]
+ The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
+
+ label : typing.Optional[str]
+ In the event that a new Prompt Deployment is created, this will be the label it's given.
+
+ release_tags : typing.Optional[typing.Sequence[str]]
+ Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
+
+ release_description : typing.Optional[str]
+ Optionally provide a description that details what's new in this Release.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ DeploymentRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.sandboxes.deploy_prompt(
+ id="id",
+ prompt_variant_id="prompt_variant_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.deploy_prompt(
+ id,
+ prompt_variant_id,
+ prompt_deployment_id=prompt_deployment_id,
+ prompt_deployment_name=prompt_deployment_name,
+ label=label,
+ release_tags=release_tags,
+ release_description=release_description,
+ request_options=request_options,
+ )
+ return _response.data
+
+ async def upsert_sandbox_scenario(
+ self,
+ id: str,
+ *,
+ inputs: typing.Sequence[NamedScenarioInputRequest],
+ label: typing.Optional[str] = OMIT,
+ scenario_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> SandboxScenario:
+ """
+ Upserts a new scenario for a sandbox, keying off of the optionally provided scenario id.
+
+ If an id is provided and has a match, the scenario will be updated. If no id is provided or no match
+ is found, a new scenario will be appended to the end.
+
+ Note that a full replacement of the scenario is performed, so any fields not provided will be removed
+ or overwritten with default values.
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ inputs : typing.Sequence[NamedScenarioInputRequest]
+ The inputs for the scenario
+
+ label : typing.Optional[str]
+
+ scenario_id : typing.Optional[str]
+ The id of the scenario to update. If none is provided, an id will be generated and a new scenario will be appended.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ SandboxScenario
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum, NamedScenarioInputStringVariableValueRequest
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.sandboxes.upsert_sandbox_scenario(
+ id="id",
+ inputs=[
+ NamedScenarioInputStringVariableValueRequest(
+ name="x",
+ ),
+ NamedScenarioInputStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.upsert_sandbox_scenario(
+ id, inputs=inputs, label=label, scenario_id=scenario_id, request_options=request_options
+ )
+ return _response.data
+
+ async def delete_sandbox_scenario(
+ self, id: str, scenario_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Deletes an existing scenario from a sandbox, keying off of the provided scenario id.
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ scenario_id : str
+ An id identifying the scenario that you'd like to delete
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.sandboxes.delete_sandbox_scenario(
+ id="id",
+ scenario_id="scenario_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.delete_sandbox_scenario(id, scenario_id, request_options=request_options)
+ return _response.data
diff --git a/src/vellum/resources/sandboxes/raw_client.py b/src/vellum/resources/sandboxes/raw_client.py
index 8fdc4bb040..821d493c3c 100644
--- a/src/vellum/resources/sandboxes/raw_client.py
+++ b/src/vellum/resources/sandboxes/raw_client.py
@@ -1,3 +1,392 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.sandboxes.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...core.serialization import convert_and_respect_annotation_metadata
+from ...types.deployment_read import DeploymentRead
+from ...types.named_scenario_input_request import NamedScenarioInputRequest
+from ...types.sandbox_scenario import SandboxScenario
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawSandboxesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def deploy_prompt(
+ self,
+ id: str,
+ prompt_variant_id: str,
+ *,
+ prompt_deployment_id: typing.Optional[str] = OMIT,
+ prompt_deployment_name: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
+ release_description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[DeploymentRead]:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ prompt_variant_id : str
+ An ID identifying the Prompt you'd like to deploy.
+
+ prompt_deployment_id : typing.Optional[str]
+ The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment.
+
+ prompt_deployment_name : typing.Optional[str]
+ The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
+
+ label : typing.Optional[str]
+ In the event that a new Prompt Deployment is created, this will be the label it's given.
+
+ release_tags : typing.Optional[typing.Sequence[str]]
+ Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
+
+ release_description : typing.Optional[str]
+ Optionally provide a description that details what's new in this Release.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[DeploymentRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/sandboxes/{jsonable_encoder(id)}/prompts/{jsonable_encoder(prompt_variant_id)}/deploy",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "prompt_deployment_id": prompt_deployment_id,
+ "prompt_deployment_name": prompt_deployment_name,
+ "label": label,
+ "release_tags": release_tags,
+ "release_description": release_description,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentRead,
+ parse_obj_as(
+ type_=DeploymentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def upsert_sandbox_scenario(
+ self,
+ id: str,
+ *,
+ inputs: typing.Sequence[NamedScenarioInputRequest],
+ label: typing.Optional[str] = OMIT,
+ scenario_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[SandboxScenario]:
+ """
+ Upserts a new scenario for a sandbox, keying off of the optionally provided scenario id.
+
+ If an id is provided and has a match, the scenario will be updated. If no id is provided or no match
+ is found, a new scenario will be appended to the end.
+
+ Note that a full replacement of the scenario is performed, so any fields not provided will be removed
+ or overwritten with default values.
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ inputs : typing.Sequence[NamedScenarioInputRequest]
+ The inputs for the scenario
+
+ label : typing.Optional[str]
+
+ scenario_id : typing.Optional[str]
+ The id of the scenario to update. If none is provided, an id will be generated and a new scenario will be appended.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[SandboxScenario]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/sandboxes/{jsonable_encoder(id)}/scenarios",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "label": label,
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[NamedScenarioInputRequest], direction="write"
+ ),
+ "scenario_id": scenario_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ SandboxScenario,
+ parse_obj_as(
+ type_=SandboxScenario, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def delete_sandbox_scenario(
+ self, id: str, scenario_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[None]:
+ """
+ Deletes an existing scenario from a sandbox, keying off of the provided scenario id.
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ scenario_id : str
+ An id identifying the scenario that you'd like to delete
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/sandboxes/{jsonable_encoder(id)}/scenarios/{jsonable_encoder(scenario_id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawSandboxesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def deploy_prompt(
+ self,
+ id: str,
+ prompt_variant_id: str,
+ *,
+ prompt_deployment_id: typing.Optional[str] = OMIT,
+ prompt_deployment_name: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
+ release_description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[DeploymentRead]:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ prompt_variant_id : str
+ An ID identifying the Prompt you'd like to deploy.
+
+ prompt_deployment_id : typing.Optional[str]
+ The Vellum-generated ID of the Prompt Deployment you'd like to update. Cannot specify both this and prompt_deployment_name. Leave null to create a new Prompt Deployment.
+
+ prompt_deployment_name : typing.Optional[str]
+ The unique name of the Prompt Deployment you'd like to either create or update. Cannot specify both this and prompt_deployment_id. If provided and matches an existing Prompt Deployment, that Prompt Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
+
+ label : typing.Optional[str]
+ In the event that a new Prompt Deployment is created, this will be the label it's given.
+
+ release_tags : typing.Optional[typing.Sequence[str]]
+ Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
+
+ release_description : typing.Optional[str]
+ Optionally provide a description that details what's new in this Release.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[DeploymentRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/sandboxes/{jsonable_encoder(id)}/prompts/{jsonable_encoder(prompt_variant_id)}/deploy",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "prompt_deployment_id": prompt_deployment_id,
+ "prompt_deployment_name": prompt_deployment_name,
+ "label": label,
+ "release_tags": release_tags,
+ "release_description": release_description,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ DeploymentRead,
+ parse_obj_as(
+ type_=DeploymentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def upsert_sandbox_scenario(
+ self,
+ id: str,
+ *,
+ inputs: typing.Sequence[NamedScenarioInputRequest],
+ label: typing.Optional[str] = OMIT,
+ scenario_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[SandboxScenario]:
+ """
+ Upserts a new scenario for a sandbox, keying off of the optionally provided scenario id.
+
+ If an id is provided and has a match, the scenario will be updated. If no id is provided or no match
+ is found, a new scenario will be appended to the end.
+
+ Note that a full replacement of the scenario is performed, so any fields not provided will be removed
+ or overwritten with default values.
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ inputs : typing.Sequence[NamedScenarioInputRequest]
+ The inputs for the scenario
+
+ label : typing.Optional[str]
+
+ scenario_id : typing.Optional[str]
+ The id of the scenario to update. If none is provided, an id will be generated and a new scenario will be appended.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[SandboxScenario]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/sandboxes/{jsonable_encoder(id)}/scenarios",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "label": label,
+ "inputs": convert_and_respect_annotation_metadata(
+ object_=inputs, annotation=typing.Sequence[NamedScenarioInputRequest], direction="write"
+ ),
+ "scenario_id": scenario_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ SandboxScenario,
+ parse_obj_as(
+ type_=SandboxScenario, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def delete_sandbox_scenario(
+ self, id: str, scenario_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Deletes an existing scenario from a sandbox, keying off of the provided scenario id.
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this sandbox.
+
+ scenario_id : str
+ An id identifying the scenario that you'd like to delete
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/sandboxes/{jsonable_encoder(id)}/scenarios/{jsonable_encoder(scenario_id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/test_suite_runs/__init__.py b/src/vellum/resources/test_suite_runs/__init__.py
index 6cfe823d51..5cde0202dc 100644
--- a/src/vellum/resources/test_suite_runs/__init__.py
+++ b/src/vellum/resources/test_suite_runs/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.test_suite_runs import *
diff --git a/src/vellum/resources/test_suite_runs/client.py b/src/vellum/resources/test_suite_runs/client.py
index e206328675..e5de7935c5 100644
--- a/src/vellum/resources/test_suite_runs/client.py
+++ b/src/vellum/resources/test_suite_runs/client.py
@@ -1,3 +1,353 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.test_suite_runs.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.paginated_test_suite_run_execution_list import PaginatedTestSuiteRunExecutionList
+from ...types.test_suite_run_exec_config_request import TestSuiteRunExecConfigRequest
+from ...types.test_suite_run_read import TestSuiteRunRead
+from .raw_client import AsyncRawTestSuiteRunsClient, RawTestSuiteRunsClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class TestSuiteRunsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawTestSuiteRunsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawTestSuiteRunsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawTestSuiteRunsClient
+ """
+ return self._raw_client
+
+ def create(
+ self,
+ *,
+ exec_config: TestSuiteRunExecConfigRequest,
+ test_suite_id: typing.Optional[str] = OMIT,
+ test_suite_name: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> TestSuiteRunRead:
+ """
+ Trigger a Test Suite and create a new Test Suite Run
+
+ Parameters
+ ----------
+ exec_config : TestSuiteRunExecConfigRequest
+ Configuration that defines how the Test Suite should be run
+
+ test_suite_id : typing.Optional[str]
+ The ID of the Test Suite to run. Must provide either this or test_suite_id.
+
+ test_suite_name : typing.Optional[str]
+ The name of the Test Suite to run. Must provide either this or test_suite_id.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ TestSuiteRunRead
+
+
+ Examples
+ --------
+ from vellum import (
+ TestSuiteRunDeploymentReleaseTagExecConfigDataRequest,
+ TestSuiteRunDeploymentReleaseTagExecConfigRequest,
+ Vellum,
+ )
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.test_suite_runs.create(
+ exec_config=TestSuiteRunDeploymentReleaseTagExecConfigRequest(
+ data=TestSuiteRunDeploymentReleaseTagExecConfigDataRequest(
+ deployment_id="deployment_id",
+ ),
+ ),
+ )
+ """
+ _response = self._raw_client.create(
+ exec_config=exec_config,
+ test_suite_id=test_suite_id,
+ test_suite_name=test_suite_name,
+ request_options=request_options,
+ )
+ return _response.data
+
+ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> TestSuiteRunRead:
+ """
+ Retrieve a specific Test Suite Run by ID
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this test suite run.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ TestSuiteRunRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.test_suite_runs.retrieve(
+ id="id",
+ )
+ """
+ _response = self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ def list_executions(
+ self,
+ id: str,
+ *,
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedTestSuiteRunExecutionList:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this test suite run.
+
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ The response fields to expand for more information.
+ - 'metric_results.metric_label' expands the metric label for each metric result.
+ - 'metric_results.metric_definition' expands the metric definition for each metric result.
+ - 'metric_results.metric_definition.name' expands the metric definition name for each metric result.
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedTestSuiteRunExecutionList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.test_suite_runs.list_executions(
+ id="id",
+ )
+ """
+ _response = self._raw_client.list_executions(
+ id, expand=expand, limit=limit, offset=offset, request_options=request_options
+ )
+ return _response.data
+
+
+class AsyncTestSuiteRunsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawTestSuiteRunsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawTestSuiteRunsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawTestSuiteRunsClient
+ """
+ return self._raw_client
+
+ async def create(
+ self,
+ *,
+ exec_config: TestSuiteRunExecConfigRequest,
+ test_suite_id: typing.Optional[str] = OMIT,
+ test_suite_name: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> TestSuiteRunRead:
+ """
+ Trigger a Test Suite and create a new Test Suite Run
+
+ Parameters
+ ----------
+ exec_config : TestSuiteRunExecConfigRequest
+ Configuration that defines how the Test Suite should be run
+
+ test_suite_id : typing.Optional[str]
+ The ID of the Test Suite to run. Must provide either this or test_suite_id.
+
+ test_suite_name : typing.Optional[str]
+ The name of the Test Suite to run. Must provide either this or test_suite_id.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ TestSuiteRunRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import (
+ AsyncVellum,
+ TestSuiteRunDeploymentReleaseTagExecConfigDataRequest,
+ TestSuiteRunDeploymentReleaseTagExecConfigRequest,
+ )
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.test_suite_runs.create(
+ exec_config=TestSuiteRunDeploymentReleaseTagExecConfigRequest(
+ data=TestSuiteRunDeploymentReleaseTagExecConfigDataRequest(
+ deployment_id="deployment_id",
+ ),
+ ),
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.create(
+ exec_config=exec_config,
+ test_suite_id=test_suite_id,
+ test_suite_name=test_suite_name,
+ request_options=request_options,
+ )
+ return _response.data
+
+ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> TestSuiteRunRead:
+ """
+ Retrieve a specific Test Suite Run by ID
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this test suite run.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ TestSuiteRunRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.test_suite_runs.retrieve(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ async def list_executions(
+ self,
+ id: str,
+ *,
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedTestSuiteRunExecutionList:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this test suite run.
+
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ The response fields to expand for more information.
+ - 'metric_results.metric_label' expands the metric label for each metric result.
+ - 'metric_results.metric_definition' expands the metric definition for each metric result.
+ - 'metric_results.metric_definition.name' expands the metric definition name for each metric result.
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedTestSuiteRunExecutionList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.test_suite_runs.list_executions(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list_executions(
+ id, expand=expand, limit=limit, offset=offset, request_options=request_options
+ )
+ return _response.data
diff --git a/src/vellum/resources/test_suite_runs/raw_client.py b/src/vellum/resources/test_suite_runs/raw_client.py
index 12bd400272..a8f005b987 100644
--- a/src/vellum/resources/test_suite_runs/raw_client.py
+++ b/src/vellum/resources/test_suite_runs/raw_client.py
@@ -1,3 +1,354 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.test_suite_runs.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...core.serialization import convert_and_respect_annotation_metadata
+from ...types.paginated_test_suite_run_execution_list import PaginatedTestSuiteRunExecutionList
+from ...types.test_suite_run_exec_config_request import TestSuiteRunExecConfigRequest
+from ...types.test_suite_run_read import TestSuiteRunRead
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawTestSuiteRunsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def create(
+ self,
+ *,
+ exec_config: TestSuiteRunExecConfigRequest,
+ test_suite_id: typing.Optional[str] = OMIT,
+ test_suite_name: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[TestSuiteRunRead]:
+ """
+ Trigger a Test Suite and create a new Test Suite Run
+
+ Parameters
+ ----------
+ exec_config : TestSuiteRunExecConfigRequest
+ Configuration that defines how the Test Suite should be run
+
+ test_suite_id : typing.Optional[str]
+ The ID of the Test Suite to run. Must provide either this or test_suite_id.
+
+ test_suite_name : typing.Optional[str]
+ The name of the Test Suite to run. Must provide either this or test_suite_id.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[TestSuiteRunRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/test-suite-runs",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "test_suite_id": test_suite_id,
+ "test_suite_name": test_suite_name,
+ "exec_config": convert_and_respect_annotation_metadata(
+ object_=exec_config, annotation=TestSuiteRunExecConfigRequest, direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ TestSuiteRunRead,
+ parse_obj_as(
+ type_=TestSuiteRunRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[TestSuiteRunRead]:
+ """
+ Retrieve a specific Test Suite Run by ID
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this test suite run.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[TestSuiteRunRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/test-suite-runs/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ TestSuiteRunRead,
+ parse_obj_as(
+ type_=TestSuiteRunRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def list_executions(
+ self,
+ id: str,
+ *,
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedTestSuiteRunExecutionList]:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this test suite run.
+
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ The response fields to expand for more information.
+ - 'metric_results.metric_label' expands the metric label for each metric result.
+ - 'metric_results.metric_definition' expands the metric definition for each metric result.
+ - 'metric_results.metric_definition.name' expands the metric definition name for each metric result.
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedTestSuiteRunExecutionList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/test-suite-runs/{jsonable_encoder(id)}/executions",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "expand": expand,
+ "limit": limit,
+ "offset": offset,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedTestSuiteRunExecutionList,
+ parse_obj_as(
+ type_=PaginatedTestSuiteRunExecutionList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawTestSuiteRunsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def create(
+ self,
+ *,
+ exec_config: TestSuiteRunExecConfigRequest,
+ test_suite_id: typing.Optional[str] = OMIT,
+ test_suite_name: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[TestSuiteRunRead]:
+ """
+ Trigger a Test Suite and create a new Test Suite Run
+
+ Parameters
+ ----------
+ exec_config : TestSuiteRunExecConfigRequest
+ Configuration that defines how the Test Suite should be run
+
+ test_suite_id : typing.Optional[str]
+ The ID of the Test Suite to run. Must provide either this or test_suite_id.
+
+ test_suite_name : typing.Optional[str]
+ The name of the Test Suite to run. Must provide either this or test_suite_id.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[TestSuiteRunRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/test-suite-runs",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "test_suite_id": test_suite_id,
+ "test_suite_name": test_suite_name,
+ "exec_config": convert_and_respect_annotation_metadata(
+ object_=exec_config, annotation=TestSuiteRunExecConfigRequest, direction="write"
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ TestSuiteRunRead,
+ parse_obj_as(
+ type_=TestSuiteRunRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[TestSuiteRunRead]:
+ """
+ Retrieve a specific Test Suite Run by ID
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this test suite run.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[TestSuiteRunRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/test-suite-runs/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ TestSuiteRunRead,
+ parse_obj_as(
+ type_=TestSuiteRunRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def list_executions(
+ self,
+ id: str,
+ *,
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedTestSuiteRunExecutionList]:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this test suite run.
+
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
+ The response fields to expand for more information.
+ - 'metric_results.metric_label' expands the metric label for each metric result.
+ - 'metric_results.metric_definition' expands the metric definition for each metric result.
+ - 'metric_results.metric_definition.name' expands the metric definition name for each metric result.
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedTestSuiteRunExecutionList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/test-suite-runs/{jsonable_encoder(id)}/executions",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "expand": expand,
+ "limit": limit,
+ "offset": offset,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedTestSuiteRunExecutionList,
+ parse_obj_as(
+ type_=PaginatedTestSuiteRunExecutionList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/test_suites/__init__.py b/src/vellum/resources/test_suites/__init__.py
index 30001d390d..5cde0202dc 100644
--- a/src/vellum/resources/test_suites/__init__.py
+++ b/src/vellum/resources/test_suites/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.test_suites import *
diff --git a/src/vellum/resources/test_suites/client.py b/src/vellum/resources/test_suites/client.py
index 7545d1fcda..2b192b697d 100644
--- a/src/vellum/resources/test_suites/client.py
+++ b/src/vellum/resources/test_suites/client.py
@@ -1,3 +1,608 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.test_suites.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
+from ...types.paginated_test_suite_test_case_list import PaginatedTestSuiteTestCaseList
+from ...types.test_suite_test_case import TestSuiteTestCase
+from ...types.test_suite_test_case_bulk_operation_request import TestSuiteTestCaseBulkOperationRequest
+from ...types.test_suite_test_case_bulk_result import TestSuiteTestCaseBulkResult
+from .raw_client import AsyncRawTestSuitesClient, RawTestSuitesClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class TestSuitesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawTestSuitesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawTestSuitesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawTestSuitesClient
+ """
+ return self._raw_client
+
+ def list_test_suite_test_cases(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedTestSuiteTestCaseList:
+ """
+ List the Test Cases associated with a Test Suite
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedTestSuiteTestCaseList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.test_suites.list_test_suite_test_cases(
+ id="id",
+ )
+ """
+ _response = self._raw_client.list_test_suite_test_cases(
+ id, limit=limit, offset=offset, request_options=request_options
+ )
+ return _response.data
+
+ def upsert_test_suite_test_case(
+ self,
+ id_: str,
+ *,
+ input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
+ evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
+ id: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> TestSuiteTestCase:
+ """
+ Upserts a new test case for a test suite, keying off of the optionally provided test case id.
+
+ If an id is provided and has a match, the test case will be updated. If no id is provided or no match
+ is found, a new test case will be appended to the end.
+
+ Note that a full replacement of the test case is performed, so any fields not provided will be removed
+ or overwritten with default values.
+
+ Parameters
+ ----------
+ id_ : str
+ Either the Test Suites' ID or its unique name
+
+ input_values : typing.Sequence[NamedTestCaseVariableValueRequest]
+ Values for each of the Test Case's input variables
+
+ evaluation_values : typing.Sequence[NamedTestCaseVariableValueRequest]
+ Values for each of the Test Case's evaluation variables
+
+ id : typing.Optional[str]
+ The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
+
+ external_id : typing.Optional[str]
+ An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
+
+ label : typing.Optional[str]
+ A human-readable label used to convey the intention of this Test Case
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ TestSuiteTestCase
+
+
+ Examples
+ --------
+ from vellum import NamedTestCaseStringVariableValueRequest, Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.test_suites.upsert_test_suite_test_case(
+ id_="id",
+ input_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ evaluation_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ )
+ """
+ _response = self._raw_client.upsert_test_suite_test_case(
+ id_,
+ input_values=input_values,
+ evaluation_values=evaluation_values,
+ id=id,
+ external_id=external_id,
+ label=label,
+ request_options=request_options,
+ )
+ return _response.data
+
+ def test_suite_test_cases_bulk(
+ self,
+ id: str,
+ *,
+ request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]:
+ """
+ Created, replace, and delete Test Cases within the specified Test Suite in bulk
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ request : typing.Sequence[TestSuiteTestCaseBulkOperationRequest]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]
+
+
+ Examples
+ --------
+ from vellum import (
+ CreateTestSuiteTestCaseRequest,
+ NamedTestCaseStringVariableValueRequest,
+ TestSuiteTestCaseCreateBulkOperationRequest,
+ Vellum,
+ )
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ response = client.test_suites.test_suite_test_cases_bulk(
+ id="id",
+ request=[
+ TestSuiteTestCaseCreateBulkOperationRequest(
+ id="id",
+ data=CreateTestSuiteTestCaseRequest(
+ input_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ evaluation_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ ),
+ ),
+ TestSuiteTestCaseCreateBulkOperationRequest(
+ id="id",
+ data=CreateTestSuiteTestCaseRequest(
+ input_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ evaluation_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ ),
+ ),
+ ],
+ )
+ for chunk in response:
+ yield chunk
+ """
+ with self._raw_client.test_suite_test_cases_bulk(id, request=request, request_options=request_options) as r:
+ yield from r.data
+
+ def delete_test_suite_test_case(
+ self, id: str, test_case_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Deletes an existing test case for a test suite, keying off of the test case id.
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ test_case_id : str
+ An id identifying the test case that you'd like to delete
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.test_suites.delete_test_suite_test_case(
+ id="id",
+ test_case_id="test_case_id",
+ )
+ """
+ _response = self._raw_client.delete_test_suite_test_case(id, test_case_id, request_options=request_options)
+ return _response.data
+
+
+class AsyncTestSuitesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawTestSuitesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawTestSuitesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawTestSuitesClient
+ """
+ return self._raw_client
+
+ async def list_test_suite_test_cases(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedTestSuiteTestCaseList:
+ """
+ List the Test Cases associated with a Test Suite
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedTestSuiteTestCaseList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.test_suites.list_test_suite_test_cases(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list_test_suite_test_cases(
+ id, limit=limit, offset=offset, request_options=request_options
+ )
+ return _response.data
+
+ async def upsert_test_suite_test_case(
+ self,
+ id_: str,
+ *,
+ input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
+ evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
+ id: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> TestSuiteTestCase:
+ """
+ Upserts a new test case for a test suite, keying off of the optionally provided test case id.
+
+ If an id is provided and has a match, the test case will be updated. If no id is provided or no match
+ is found, a new test case will be appended to the end.
+
+ Note that a full replacement of the test case is performed, so any fields not provided will be removed
+ or overwritten with default values.
+
+ Parameters
+ ----------
+ id_ : str
+ Either the Test Suites' ID or its unique name
+
+ input_values : typing.Sequence[NamedTestCaseVariableValueRequest]
+ Values for each of the Test Case's input variables
+
+ evaluation_values : typing.Sequence[NamedTestCaseVariableValueRequest]
+ Values for each of the Test Case's evaluation variables
+
+ id : typing.Optional[str]
+ The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
+
+ external_id : typing.Optional[str]
+ An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
+
+ label : typing.Optional[str]
+ A human-readable label used to convey the intention of this Test Case
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ TestSuiteTestCase
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum, NamedTestCaseStringVariableValueRequest
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.test_suites.upsert_test_suite_test_case(
+ id_="id",
+ input_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ evaluation_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.upsert_test_suite_test_case(
+ id_,
+ input_values=input_values,
+ evaluation_values=evaluation_values,
+ id=id,
+ external_id=external_id,
+ label=label,
+ request_options=request_options,
+ )
+ return _response.data
+
+ async def test_suite_test_cases_bulk(
+ self,
+ id: str,
+ *,
+ request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]:
+ """
+ Created, replace, and delete Test Cases within the specified Test Suite in bulk
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ request : typing.Sequence[TestSuiteTestCaseBulkOperationRequest]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import (
+ AsyncVellum,
+ CreateTestSuiteTestCaseRequest,
+ NamedTestCaseStringVariableValueRequest,
+ TestSuiteTestCaseCreateBulkOperationRequest,
+ )
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ response = await client.test_suites.test_suite_test_cases_bulk(
+ id="id",
+ request=[
+ TestSuiteTestCaseCreateBulkOperationRequest(
+ id="id",
+ data=CreateTestSuiteTestCaseRequest(
+ input_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ evaluation_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ ),
+ ),
+ TestSuiteTestCaseCreateBulkOperationRequest(
+ id="id",
+ data=CreateTestSuiteTestCaseRequest(
+ input_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ evaluation_values=[
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ NamedTestCaseStringVariableValueRequest(
+ name="x",
+ ),
+ ],
+ ),
+ ),
+ ],
+ )
+ async for chunk in response:
+ yield chunk
+
+
+ asyncio.run(main())
+ """
+ async with self._raw_client.test_suite_test_cases_bulk(
+ id, request=request, request_options=request_options
+ ) as r:
+ async for _chunk in r.data:
+ yield _chunk
+
+ async def delete_test_suite_test_case(
+ self, id: str, test_case_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> None:
+ """
+ Deletes an existing test case for a test suite, keying off of the test case id.
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ test_case_id : str
+ An id identifying the test case that you'd like to delete
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ None
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.test_suites.delete_test_suite_test_case(
+ id="id",
+ test_case_id="test_case_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.delete_test_suite_test_case(
+ id, test_case_id, request_options=request_options
+ )
+ return _response.data
diff --git a/src/vellum/resources/test_suites/raw_client.py b/src/vellum/resources/test_suites/raw_client.py
index 73ce31047b..0aa3dcb5c1 100644
--- a/src/vellum/resources/test_suites/raw_client.py
+++ b/src/vellum/resources/test_suites/raw_client.py
@@ -1,3 +1,530 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.test_suites.raw_client import *
+import contextlib
+import json
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...core.serialization import convert_and_respect_annotation_metadata
+from ...types.named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
+from ...types.paginated_test_suite_test_case_list import PaginatedTestSuiteTestCaseList
+from ...types.test_suite_test_case import TestSuiteTestCase
+from ...types.test_suite_test_case_bulk_operation_request import TestSuiteTestCaseBulkOperationRequest
+from ...types.test_suite_test_case_bulk_result import TestSuiteTestCaseBulkResult
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawTestSuitesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def list_test_suite_test_cases(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedTestSuiteTestCaseList]:
+ """
+ List the Test Cases associated with a Test Suite
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedTestSuiteTestCaseList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/test-suites/{jsonable_encoder(id)}/test-cases",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedTestSuiteTestCaseList,
+ parse_obj_as(
+ type_=PaginatedTestSuiteTestCaseList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def upsert_test_suite_test_case(
+ self,
+ id_: str,
+ *,
+ input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
+ evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
+ id: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[TestSuiteTestCase]:
+ """
+ Upserts a new test case for a test suite, keying off of the optionally provided test case id.
+
+ If an id is provided and has a match, the test case will be updated. If no id is provided or no match
+ is found, a new test case will be appended to the end.
+
+ Note that a full replacement of the test case is performed, so any fields not provided will be removed
+ or overwritten with default values.
+
+ Parameters
+ ----------
+ id_ : str
+ Either the Test Suites' ID or its unique name
+
+ input_values : typing.Sequence[NamedTestCaseVariableValueRequest]
+ Values for each of the Test Case's input variables
+
+ evaluation_values : typing.Sequence[NamedTestCaseVariableValueRequest]
+ Values for each of the Test Case's evaluation variables
+
+ id : typing.Optional[str]
+ The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
+
+ external_id : typing.Optional[str]
+ An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
+
+ label : typing.Optional[str]
+ A human-readable label used to convey the intention of this Test Case
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[TestSuiteTestCase]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/test-suites/{jsonable_encoder(id_)}/test-cases",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "id": id,
+ "external_id": external_id,
+ "label": label,
+ "input_values": convert_and_respect_annotation_metadata(
+ object_=input_values,
+ annotation=typing.Sequence[NamedTestCaseVariableValueRequest],
+ direction="write",
+ ),
+ "evaluation_values": convert_and_respect_annotation_metadata(
+ object_=evaluation_values,
+ annotation=typing.Sequence[NamedTestCaseVariableValueRequest],
+ direction="write",
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ TestSuiteTestCase,
+ parse_obj_as(
+ type_=TestSuiteTestCase, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ @contextlib.contextmanager
+ def test_suite_test_cases_bulk(
+ self,
+ id: str,
+ *,
+ request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Iterator[HttpResponse[typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]]]:
+ """
+ Created, replace, and delete Test Cases within the specified Test Suite in bulk
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ request : typing.Sequence[TestSuiteTestCaseBulkOperationRequest]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.Iterator[HttpResponse[typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]]]
+
+ """
+ with self._client_wrapper.httpx_client.stream(
+ f"v1/test-suites/{jsonable_encoder(id)}/test-cases-bulk",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json=convert_and_respect_annotation_metadata(
+ object_=request, annotation=typing.Sequence[TestSuiteTestCaseBulkOperationRequest], direction="write"
+ ),
+ headers={
+ "content-type": "application/x-ndjson",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ ) as _response:
+
+ def _stream() -> HttpResponse[typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]]:
+ try:
+ if 200 <= _response.status_code < 300:
+
+ def _iter():
+ for _text in _response.iter_lines():
+ try:
+ if len(_text) == 0:
+ continue
+ yield typing.cast(
+ typing.List[TestSuiteTestCaseBulkResult],
+ parse_obj_as(
+ type_=typing.List[TestSuiteTestCaseBulkResult], # type: ignore
+ object_=json.loads(_text),
+ ),
+ )
+ except Exception:
+ pass
+ return
+
+ return HttpResponse(response=_response, data=_iter())
+ _response.read()
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield _stream()
+
+ def delete_test_suite_test_case(
+ self, id: str, test_case_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[None]:
+ """
+ Deletes an existing test case for a test suite, keying off of the test case id.
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ test_case_id : str
+ An id identifying the test case that you'd like to delete
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[None]
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/test-suites/{jsonable_encoder(id)}/test-cases/{jsonable_encoder(test_case_id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return HttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawTestSuitesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def list_test_suite_test_cases(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedTestSuiteTestCaseList]:
+ """
+ List the Test Cases associated with a Test Suite
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedTestSuiteTestCaseList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/test-suites/{jsonable_encoder(id)}/test-cases",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedTestSuiteTestCaseList,
+ parse_obj_as(
+ type_=PaginatedTestSuiteTestCaseList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def upsert_test_suite_test_case(
+ self,
+ id_: str,
+ *,
+ input_values: typing.Sequence[NamedTestCaseVariableValueRequest],
+ evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest],
+ id: typing.Optional[str] = OMIT,
+ external_id: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[TestSuiteTestCase]:
+ """
+ Upserts a new test case for a test suite, keying off of the optionally provided test case id.
+
+ If an id is provided and has a match, the test case will be updated. If no id is provided or no match
+ is found, a new test case will be appended to the end.
+
+ Note that a full replacement of the test case is performed, so any fields not provided will be removed
+ or overwritten with default values.
+
+ Parameters
+ ----------
+ id_ : str
+ Either the Test Suites' ID or its unique name
+
+ input_values : typing.Sequence[NamedTestCaseVariableValueRequest]
+ Values for each of the Test Case's input variables
+
+ evaluation_values : typing.Sequence[NamedTestCaseVariableValueRequest]
+ Values for each of the Test Case's evaluation variables
+
+ id : typing.Optional[str]
+ The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
+
+ external_id : typing.Optional[str]
+ An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
+
+ label : typing.Optional[str]
+ A human-readable label used to convey the intention of this Test Case
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[TestSuiteTestCase]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/test-suites/{jsonable_encoder(id_)}/test-cases",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "id": id,
+ "external_id": external_id,
+ "label": label,
+ "input_values": convert_and_respect_annotation_metadata(
+ object_=input_values,
+ annotation=typing.Sequence[NamedTestCaseVariableValueRequest],
+ direction="write",
+ ),
+ "evaluation_values": convert_and_respect_annotation_metadata(
+ object_=evaluation_values,
+ annotation=typing.Sequence[NamedTestCaseVariableValueRequest],
+ direction="write",
+ ),
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ TestSuiteTestCase,
+ parse_obj_as(
+ type_=TestSuiteTestCase, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ @contextlib.asynccontextmanager
+ async def test_suite_test_cases_bulk(
+ self,
+ id: str,
+ *,
+ request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest],
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]]]:
+ """
+ Created, replace, and delete Test Cases within the specified Test Suite in bulk
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ request : typing.Sequence[TestSuiteTestCaseBulkOperationRequest]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Yields
+ ------
+ typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]]]
+
+ """
+ async with self._client_wrapper.httpx_client.stream(
+ f"v1/test-suites/{jsonable_encoder(id)}/test-cases-bulk",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json=convert_and_respect_annotation_metadata(
+ object_=request, annotation=typing.Sequence[TestSuiteTestCaseBulkOperationRequest], direction="write"
+ ),
+ headers={
+ "content-type": "application/x-ndjson",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ ) as _response:
+
+ async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]]:
+ try:
+ if 200 <= _response.status_code < 300:
+
+ async def _iter():
+ async for _text in _response.aiter_lines():
+ try:
+ if len(_text) == 0:
+ continue
+ yield typing.cast(
+ typing.List[TestSuiteTestCaseBulkResult],
+ parse_obj_as(
+ type_=typing.List[TestSuiteTestCaseBulkResult], # type: ignore
+ object_=json.loads(_text),
+ ),
+ )
+ except Exception:
+ pass
+ return
+
+ return AsyncHttpResponse(response=_response, data=_iter())
+ await _response.aread()
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield await _stream()
+
+ async def delete_test_suite_test_case(
+ self, id: str, test_case_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[None]:
+ """
+ Deletes an existing test case for a test suite, keying off of the test case id.
+
+ Parameters
+ ----------
+ id : str
+ Either the Test Suites' ID or its unique name
+
+ test_case_id : str
+ An id identifying the test case that you'd like to delete
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[None]
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/test-suites/{jsonable_encoder(id)}/test-cases/{jsonable_encoder(test_case_id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="DELETE",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ return AsyncHttpResponse(response=_response, data=None)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/client/resources/ad_hoc/__init__.py b/src/vellum/resources/uploaded_files/__init__.py
similarity index 100%
rename from src/vellum/client/resources/ad_hoc/__init__.py
rename to src/vellum/resources/uploaded_files/__init__.py
diff --git a/src/vellum/resources/uploaded_files/client.py b/src/vellum/resources/uploaded_files/client.py
new file mode 100644
index 0000000000..a36a2d3aa9
--- /dev/null
+++ b/src/vellum/resources/uploaded_files/client.py
@@ -0,0 +1,158 @@
+# This file was auto-generated by Fern from our API Definition.
+
+import typing
+
+from ... import core
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.uploaded_file_read import UploadedFileRead
+from .raw_client import AsyncRawUploadedFilesClient, RawUploadedFilesClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class UploadedFilesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawUploadedFilesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawUploadedFilesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawUploadedFilesClient
+ """
+ return self._raw_client
+
+ def create(self, *, file: core.File, request_options: typing.Optional[RequestOptions] = None) -> UploadedFileRead:
+ """
+ Upload a file to be used in the Workspace
+
+ Parameters
+ ----------
+ file : core.File
+ See core.File for more documentation
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ UploadedFileRead
+
+ """
+ _response = self._raw_client.create(file=file, request_options=request_options)
+ return _response.data
+
+ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> UploadedFileRead:
+ """
+ Retrieve a previously uploaded file by its ID
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this uploaded file.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ UploadedFileRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.uploaded_files.retrieve(
+ id="id",
+ )
+ """
+ _response = self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+
+class AsyncUploadedFilesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawUploadedFilesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawUploadedFilesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawUploadedFilesClient
+ """
+ return self._raw_client
+
+ async def create(
+ self, *, file: core.File, request_options: typing.Optional[RequestOptions] = None
+ ) -> UploadedFileRead:
+ """
+ Upload a file to be used in the Workspace
+
+ Parameters
+ ----------
+ file : core.File
+ See core.File for more documentation
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ UploadedFileRead
+
+ """
+ _response = await self._raw_client.create(file=file, request_options=request_options)
+ return _response.data
+
+ async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> UploadedFileRead:
+ """
+ Retrieve a previously uploaded file by its ID
+
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this uploaded file.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ UploadedFileRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.uploaded_files.retrieve(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
diff --git a/src/vellum/client/resources/workspace_secrets/raw_client.py b/src/vellum/resources/uploaded_files/raw_client.py
similarity index 65%
rename from src/vellum/client/resources/workspace_secrets/raw_client.py
rename to src/vellum/resources/uploaded_files/raw_client.py
index c564ba3be1..4d5a94c636 100644
--- a/src/vellum/client/resources/workspace_secrets/raw_client.py
+++ b/src/vellum/resources/uploaded_files/raw_client.py
@@ -3,53 +3,60 @@
import typing
from json.decoder import JSONDecodeError
+from ... import core
from ...core.api_error import ApiError
from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
from ...core.http_response import AsyncHttpResponse, HttpResponse
from ...core.jsonable_encoder import jsonable_encoder
from ...core.pydantic_utilities import parse_obj_as
from ...core.request_options import RequestOptions
-from ...types.workspace_secret_read import WorkspaceSecretRead
+from ...types.uploaded_file_read import UploadedFileRead
# this is used as the default value for optional parameters
OMIT = typing.cast(typing.Any, ...)
-class RawWorkspaceSecretsClient:
+class RawUploadedFilesClient:
def __init__(self, *, client_wrapper: SyncClientWrapper):
self._client_wrapper = client_wrapper
- def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> HttpResponse[WorkspaceSecretRead]:
+ def create(
+ self, *, file: core.File, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[UploadedFileRead]:
"""
- Used to retrieve a Workspace Secret given its ID or name.
+ Upload a file to be used in the Workspace
Parameters
----------
- id : str
- Either the Workspace Secret's ID or its unique name
+ file : core.File
+ See core.File for more documentation
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
- HttpResponse[WorkspaceSecretRead]
+ HttpResponse[UploadedFileRead]
"""
_response = self._client_wrapper.httpx_client.request(
- f"v1/workspace-secrets/{jsonable_encoder(id)}",
+ "v1/uploaded-files",
base_url=self._client_wrapper.get_environment().default,
- method="GET",
+ method="POST",
+ data={},
+ files={
+ "file": file,
+ },
request_options=request_options,
+ omit=OMIT,
+ force_multipart=True,
)
try:
if 200 <= _response.status_code < 300:
_data = typing.cast(
- WorkspaceSecretRead,
+ UploadedFileRead,
parse_obj_as(
- type_=WorkspaceSecretRead, # type: ignore
+ type_=UploadedFileRead, # type: ignore
object_=_response.json(),
),
)
@@ -59,54 +66,37 @@ def retrieve(
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
- def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- value: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> HttpResponse[WorkspaceSecretRead]:
+ def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[UploadedFileRead]:
"""
- Used to update a Workspace Secret given its ID or name.
+ Retrieve a previously uploaded file by its ID
Parameters
----------
id : str
- Either the Workspace Secret's ID or its unique name
-
- label : typing.Optional[str]
-
- value : typing.Optional[str]
+ A UUID string identifying this uploaded file.
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
- HttpResponse[WorkspaceSecretRead]
+ HttpResponse[UploadedFileRead]
"""
_response = self._client_wrapper.httpx_client.request(
- f"v1/workspace-secrets/{jsonable_encoder(id)}",
+ f"v1/uploaded-files/{jsonable_encoder(id)}",
base_url=self._client_wrapper.get_environment().default,
- method="PATCH",
- json={
- "label": label,
- "value": value,
- },
- headers={
- "content-type": "application/json",
- },
+ method="GET",
request_options=request_options,
- omit=OMIT,
)
try:
if 200 <= _response.status_code < 300:
_data = typing.cast(
- WorkspaceSecretRead,
+ UploadedFileRead,
parse_obj_as(
- type_=WorkspaceSecretRead, # type: ignore
+ type_=UploadedFileRead, # type: ignore
object_=_response.json(),
),
)
@@ -117,41 +107,47 @@ def partial_update(
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
-class AsyncRawWorkspaceSecretsClient:
+class AsyncRawUploadedFilesClient:
def __init__(self, *, client_wrapper: AsyncClientWrapper):
self._client_wrapper = client_wrapper
- async def retrieve(
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
- ) -> AsyncHttpResponse[WorkspaceSecretRead]:
+ async def create(
+ self, *, file: core.File, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[UploadedFileRead]:
"""
- Used to retrieve a Workspace Secret given its ID or name.
+ Upload a file to be used in the Workspace
Parameters
----------
- id : str
- Either the Workspace Secret's ID or its unique name
+ file : core.File
+ See core.File for more documentation
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
- AsyncHttpResponse[WorkspaceSecretRead]
+ AsyncHttpResponse[UploadedFileRead]
"""
_response = await self._client_wrapper.httpx_client.request(
- f"v1/workspace-secrets/{jsonable_encoder(id)}",
+ "v1/uploaded-files",
base_url=self._client_wrapper.get_environment().default,
- method="GET",
+ method="POST",
+ data={},
+ files={
+ "file": file,
+ },
request_options=request_options,
+ omit=OMIT,
+ force_multipart=True,
)
try:
if 200 <= _response.status_code < 300:
_data = typing.cast(
- WorkspaceSecretRead,
+ UploadedFileRead,
parse_obj_as(
- type_=WorkspaceSecretRead, # type: ignore
+ type_=UploadedFileRead, # type: ignore
object_=_response.json(),
),
)
@@ -161,54 +157,37 @@ async def retrieve(
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
- async def partial_update(
- self,
- id: str,
- *,
- label: typing.Optional[str] = OMIT,
- value: typing.Optional[str] = OMIT,
- request_options: typing.Optional[RequestOptions] = None,
- ) -> AsyncHttpResponse[WorkspaceSecretRead]:
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[UploadedFileRead]:
"""
- Used to update a Workspace Secret given its ID or name.
+ Retrieve a previously uploaded file by its ID
Parameters
----------
id : str
- Either the Workspace Secret's ID or its unique name
-
- label : typing.Optional[str]
-
- value : typing.Optional[str]
+ A UUID string identifying this uploaded file.
request_options : typing.Optional[RequestOptions]
Request-specific configuration.
Returns
-------
- AsyncHttpResponse[WorkspaceSecretRead]
+ AsyncHttpResponse[UploadedFileRead]
"""
_response = await self._client_wrapper.httpx_client.request(
- f"v1/workspace-secrets/{jsonable_encoder(id)}",
+ f"v1/uploaded-files/{jsonable_encoder(id)}",
base_url=self._client_wrapper.get_environment().default,
- method="PATCH",
- json={
- "label": label,
- "value": value,
- },
- headers={
- "content-type": "application/json",
- },
+ method="GET",
request_options=request_options,
- omit=OMIT,
)
try:
if 200 <= _response.status_code < 300:
_data = typing.cast(
- WorkspaceSecretRead,
+ UploadedFileRead,
parse_obj_as(
- type_=WorkspaceSecretRead, # type: ignore
+ type_=UploadedFileRead, # type: ignore
object_=_response.json(),
),
)
diff --git a/src/vellum/resources/workflow_deployments/__init__.py b/src/vellum/resources/workflow_deployments/__init__.py
index 173d1ef128..add4aace9c 100644
--- a/src/vellum/resources/workflow_deployments/__init__.py
+++ b/src/vellum/resources/workflow_deployments/__init__.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_deployments import *
+# isort: skip_file
+
+from .types import ListWorkflowReleaseTagsRequestSource, WorkflowDeploymentsListRequestStatus
+
+__all__ = ["ListWorkflowReleaseTagsRequestSource", "WorkflowDeploymentsListRequestStatus"]
diff --git a/src/vellum/resources/workflow_deployments/client.py b/src/vellum/resources/workflow_deployments/client.py
index ab84a96063..bad910d507 100644
--- a/src/vellum/resources/workflow_deployments/client.py
+++ b/src/vellum/resources/workflow_deployments/client.py
@@ -1,3 +1,1013 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_deployments.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.paginated_slim_workflow_deployment_list import PaginatedSlimWorkflowDeploymentList
+from ...types.paginated_workflow_deployment_release_list import PaginatedWorkflowDeploymentReleaseList
+from ...types.paginated_workflow_release_tag_read_list import PaginatedWorkflowReleaseTagReadList
+from ...types.workflow_deployment_event_executions_response import WorkflowDeploymentEventExecutionsResponse
+from ...types.workflow_deployment_history_item import WorkflowDeploymentHistoryItem
+from ...types.workflow_deployment_read import WorkflowDeploymentRead
+from ...types.workflow_deployment_release import WorkflowDeploymentRelease
+from ...types.workflow_event_execution_read import WorkflowEventExecutionRead
+from ...types.workflow_release_tag_read import WorkflowReleaseTagRead
+from .raw_client import AsyncRawWorkflowDeploymentsClient, RawWorkflowDeploymentsClient
+from .types.list_workflow_release_tags_request_source import ListWorkflowReleaseTagsRequestSource
+from .types.workflow_deployments_list_request_status import WorkflowDeploymentsListRequestStatus
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class WorkflowDeploymentsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawWorkflowDeploymentsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawWorkflowDeploymentsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawWorkflowDeploymentsClient
+ """
+ return self._raw_client
+
+ def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ status: typing.Optional[WorkflowDeploymentsListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimWorkflowDeploymentList:
+ """
+ Used to list all Workflow Deployments.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ status : typing.Optional[WorkflowDeploymentsListRequestStatus]
+ status
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimWorkflowDeploymentList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_deployments.list()
+ """
+ _response = self._raw_client.list(
+ limit=limit, offset=offset, ordering=ordering, status=status, request_options=request_options
+ )
+ return _response.data
+
+ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> WorkflowDeploymentRead:
+ """
+ Used to retrieve a workflow deployment given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowDeploymentRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_deployments.retrieve(
+ id="id",
+ )
+ """
+ _response = self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ def list_workflow_deployment_event_executions(
+ self,
+ id: str,
+ *,
+ filters: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkflowDeploymentEventExecutionsResponse:
+ """
+ Parameters
+ ----------
+ id : str
+
+ filters : typing.Optional[str]
+
+ limit : typing.Optional[int]
+ Number of executions to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the executions.
+
+ ordering : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowDeploymentEventExecutionsResponse
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_deployments.list_workflow_deployment_event_executions(
+ id="id",
+ )
+ """
+ _response = self._raw_client.list_workflow_deployment_event_executions(
+ id, filters=filters, limit=limit, offset=offset, ordering=ordering, request_options=request_options
+ )
+ return _response.data
+
+ def workflow_deployment_event_execution(
+ self, execution_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowEventExecutionRead:
+ """
+ Parameters
+ ----------
+ execution_id : str
+
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowEventExecutionRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_deployments.workflow_deployment_event_execution(
+ execution_id="execution_id",
+ id="id",
+ )
+ """
+ _response = self._raw_client.workflow_deployment_event_execution(
+ execution_id, id, request_options=request_options
+ )
+ return _response.data
+
+ def workflow_deployment_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowDeploymentHistoryItem:
+ """
+ DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
+ `retrieve_workflow_deployment_release` endpoint instead.
+
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Workflow Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment History Item you'd like to retrieve.
+
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowDeploymentHistoryItem
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_deployments.workflow_deployment_history_item_retrieve(
+ history_id_or_release_tag="history_id_or_release_tag",
+ id="id",
+ )
+ """
+ _response = self._raw_client.workflow_deployment_history_item_retrieve(
+ history_id_or_release_tag, id, request_options=request_options
+ )
+ return _response.data
+
+ def list_workflow_release_tags(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ source: typing.Optional[ListWorkflowReleaseTagsRequestSource] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedWorkflowReleaseTagReadList:
+ """
+ List Release Tags associated with the specified Workflow Deployment
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ source : typing.Optional[ListWorkflowReleaseTagsRequestSource]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedWorkflowReleaseTagReadList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_deployments.list_workflow_release_tags(
+ id="id",
+ )
+ """
+ _response = self._raw_client.list_workflow_release_tags(
+ id, limit=limit, offset=offset, ordering=ordering, source=source, request_options=request_options
+ )
+ return _response.data
+
+ def retrieve_workflow_release_tag(
+ self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowReleaseTagRead:
+ """
+ Retrieve a Workflow Release Tag by tag name, associated with a specified Workflow Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Workflow Deployment that you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowReleaseTagRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_deployments.retrieve_workflow_release_tag(
+ id="id",
+ name="name",
+ )
+ """
+ _response = self._raw_client.retrieve_workflow_release_tag(id, name, request_options=request_options)
+ return _response.data
+
+ def update_workflow_release_tag(
+ self,
+ id: str,
+ name: str,
+ *,
+ history_item_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkflowReleaseTagRead:
+ """
+ Updates an existing Release Tag associated with the specified Workflow Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Workflow Deployment that you'd like to update.
+
+ history_item_id : typing.Optional[str]
+ The ID of the Workflow Deployment History Item to tag
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowReleaseTagRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_deployments.update_workflow_release_tag(
+ id="id",
+ name="name",
+ )
+ """
+ _response = self._raw_client.update_workflow_release_tag(
+ id, name, history_item_id=history_item_id, request_options=request_options
+ )
+ return _response.data
+
+ def list_workflow_deployment_releases(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedWorkflowDeploymentReleaseList:
+ """
+ List the Releases of the specified Workflow Deployment for the current Environment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedWorkflowDeploymentReleaseList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_deployments.list_workflow_deployment_releases(
+ id="id",
+ )
+ """
+ _response = self._raw_client.list_workflow_deployment_releases(
+ id, limit=limit, offset=offset, ordering=ordering, request_options=request_options
+ )
+ return _response.data
+
+ def retrieve_workflow_deployment_release(
+ self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowDeploymentRelease:
+ """
+ Retrieve a specific Workflow Deployment Release by either its UUID or the name of a Release Tag that points to it.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ release_id_or_release_tag : str
+ Either the UUID of Workflow Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment Release you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowDeploymentRelease
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_deployments.retrieve_workflow_deployment_release(
+ id="id",
+ release_id_or_release_tag="release_id_or_release_tag",
+ )
+ """
+ _response = self._raw_client.retrieve_workflow_deployment_release(
+ id, release_id_or_release_tag, request_options=request_options
+ )
+ return _response.data
+
+
+class AsyncWorkflowDeploymentsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawWorkflowDeploymentsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawWorkflowDeploymentsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawWorkflowDeploymentsClient
+ """
+ return self._raw_client
+
+ async def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ status: typing.Optional[WorkflowDeploymentsListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedSlimWorkflowDeploymentList:
+ """
+ Used to list all Workflow Deployments.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ status : typing.Optional[WorkflowDeploymentsListRequestStatus]
+ status
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedSlimWorkflowDeploymentList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_deployments.list()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list(
+ limit=limit, offset=offset, ordering=ordering, status=status, request_options=request_options
+ )
+ return _response.data
+
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowDeploymentRead:
+ """
+ Used to retrieve a workflow deployment given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowDeploymentRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_deployments.retrieve(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ async def list_workflow_deployment_event_executions(
+ self,
+ id: str,
+ *,
+ filters: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkflowDeploymentEventExecutionsResponse:
+ """
+ Parameters
+ ----------
+ id : str
+
+ filters : typing.Optional[str]
+
+ limit : typing.Optional[int]
+ Number of executions to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the executions.
+
+ ordering : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowDeploymentEventExecutionsResponse
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_deployments.list_workflow_deployment_event_executions(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list_workflow_deployment_event_executions(
+ id, filters=filters, limit=limit, offset=offset, ordering=ordering, request_options=request_options
+ )
+ return _response.data
+
+ async def workflow_deployment_event_execution(
+ self, execution_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowEventExecutionRead:
+ """
+ Parameters
+ ----------
+ execution_id : str
+
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowEventExecutionRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_deployments.workflow_deployment_event_execution(
+ execution_id="execution_id",
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.workflow_deployment_event_execution(
+ execution_id, id, request_options=request_options
+ )
+ return _response.data
+
+ async def workflow_deployment_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowDeploymentHistoryItem:
+ """
+ DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
+ `retrieve_workflow_deployment_release` endpoint instead.
+
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Workflow Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment History Item you'd like to retrieve.
+
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowDeploymentHistoryItem
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_deployments.workflow_deployment_history_item_retrieve(
+ history_id_or_release_tag="history_id_or_release_tag",
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.workflow_deployment_history_item_retrieve(
+ history_id_or_release_tag, id, request_options=request_options
+ )
+ return _response.data
+
+ async def list_workflow_release_tags(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ source: typing.Optional[ListWorkflowReleaseTagsRequestSource] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedWorkflowReleaseTagReadList:
+ """
+ List Release Tags associated with the specified Workflow Deployment
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ source : typing.Optional[ListWorkflowReleaseTagsRequestSource]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedWorkflowReleaseTagReadList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_deployments.list_workflow_release_tags(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list_workflow_release_tags(
+ id, limit=limit, offset=offset, ordering=ordering, source=source, request_options=request_options
+ )
+ return _response.data
+
+ async def retrieve_workflow_release_tag(
+ self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowReleaseTagRead:
+ """
+ Retrieve a Workflow Release Tag by tag name, associated with a specified Workflow Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Workflow Deployment that you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowReleaseTagRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_deployments.retrieve_workflow_release_tag(
+ id="id",
+ name="name",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve_workflow_release_tag(id, name, request_options=request_options)
+ return _response.data
+
+ async def update_workflow_release_tag(
+ self,
+ id: str,
+ name: str,
+ *,
+ history_item_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkflowReleaseTagRead:
+ """
+ Updates an existing Release Tag associated with the specified Workflow Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Workflow Deployment that you'd like to update.
+
+ history_item_id : typing.Optional[str]
+ The ID of the Workflow Deployment History Item to tag
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowReleaseTagRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_deployments.update_workflow_release_tag(
+ id="id",
+ name="name",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.update_workflow_release_tag(
+ id, name, history_item_id=history_item_id, request_options=request_options
+ )
+ return _response.data
+
+ async def list_workflow_deployment_releases(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedWorkflowDeploymentReleaseList:
+ """
+ List the Releases of the specified Workflow Deployment for the current Environment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedWorkflowDeploymentReleaseList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_deployments.list_workflow_deployment_releases(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list_workflow_deployment_releases(
+ id, limit=limit, offset=offset, ordering=ordering, request_options=request_options
+ )
+ return _response.data
+
+ async def retrieve_workflow_deployment_release(
+ self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowDeploymentRelease:
+ """
+ Retrieve a specific Workflow Deployment Release by either its UUID or the name of a Release Tag that points to it.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ release_id_or_release_tag : str
+ Either the UUID of Workflow Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment Release you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowDeploymentRelease
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_deployments.retrieve_workflow_deployment_release(
+ id="id",
+ release_id_or_release_tag="release_id_or_release_tag",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve_workflow_deployment_release(
+ id, release_id_or_release_tag, request_options=request_options
+ )
+ return _response.data
diff --git a/src/vellum/resources/workflow_deployments/raw_client.py b/src/vellum/resources/workflow_deployments/raw_client.py
index ede966d250..4220b49a56 100644
--- a/src/vellum/resources/workflow_deployments/raw_client.py
+++ b/src/vellum/resources/workflow_deployments/raw_client.py
@@ -1,3 +1,1059 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_deployments.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.paginated_slim_workflow_deployment_list import PaginatedSlimWorkflowDeploymentList
+from ...types.paginated_workflow_deployment_release_list import PaginatedWorkflowDeploymentReleaseList
+from ...types.paginated_workflow_release_tag_read_list import PaginatedWorkflowReleaseTagReadList
+from ...types.workflow_deployment_event_executions_response import WorkflowDeploymentEventExecutionsResponse
+from ...types.workflow_deployment_history_item import WorkflowDeploymentHistoryItem
+from ...types.workflow_deployment_read import WorkflowDeploymentRead
+from ...types.workflow_deployment_release import WorkflowDeploymentRelease
+from ...types.workflow_event_execution_read import WorkflowEventExecutionRead
+from ...types.workflow_release_tag_read import WorkflowReleaseTagRead
+from .types.list_workflow_release_tags_request_source import ListWorkflowReleaseTagsRequestSource
+from .types.workflow_deployments_list_request_status import WorkflowDeploymentsListRequestStatus
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawWorkflowDeploymentsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ status: typing.Optional[WorkflowDeploymentsListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedSlimWorkflowDeploymentList]:
+ """
+ Used to list all Workflow Deployments.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ status : typing.Optional[WorkflowDeploymentsListRequestStatus]
+ status
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedSlimWorkflowDeploymentList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/workflow-deployments",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "status": status,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimWorkflowDeploymentList,
+ parse_obj_as(
+ type_=PaginatedSlimWorkflowDeploymentList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[WorkflowDeploymentRead]:
+ """
+ Used to retrieve a workflow deployment given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowDeploymentRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowDeploymentRead,
+ parse_obj_as(
+ type_=WorkflowDeploymentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def list_workflow_deployment_event_executions(
+ self,
+ id: str,
+ *,
+ filters: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[WorkflowDeploymentEventExecutionsResponse]:
+ """
+ Parameters
+ ----------
+ id : str
+
+ filters : typing.Optional[str]
+
+ limit : typing.Optional[int]
+ Number of executions to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the executions.
+
+ ordering : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowDeploymentEventExecutionsResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/execution-events",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "filters": filters,
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowDeploymentEventExecutionsResponse,
+ parse_obj_as(
+ type_=WorkflowDeploymentEventExecutionsResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def workflow_deployment_event_execution(
+ self, execution_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[WorkflowEventExecutionRead]:
+ """
+ Parameters
+ ----------
+ execution_id : str
+
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowEventExecutionRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/execution-events/{jsonable_encoder(execution_id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowEventExecutionRead,
+ parse_obj_as(
+ type_=WorkflowEventExecutionRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def workflow_deployment_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[WorkflowDeploymentHistoryItem]:
+ """
+ DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
+ `retrieve_workflow_deployment_release` endpoint instead.
+
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Workflow Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment History Item you'd like to retrieve.
+
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowDeploymentHistoryItem]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowDeploymentHistoryItem,
+ parse_obj_as(
+ type_=WorkflowDeploymentHistoryItem, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def list_workflow_release_tags(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ source: typing.Optional[ListWorkflowReleaseTagsRequestSource] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedWorkflowReleaseTagReadList]:
+ """
+ List Release Tags associated with the specified Workflow Deployment
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ source : typing.Optional[ListWorkflowReleaseTagsRequestSource]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedWorkflowReleaseTagReadList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "source": source,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedWorkflowReleaseTagReadList,
+ parse_obj_as(
+ type_=PaginatedWorkflowReleaseTagReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve_workflow_release_tag(
+ self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[WorkflowReleaseTagRead]:
+ """
+ Retrieve a Workflow Release Tag by tag name, associated with a specified Workflow Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Workflow Deployment that you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowReleaseTagRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowReleaseTagRead,
+ parse_obj_as(
+ type_=WorkflowReleaseTagRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def update_workflow_release_tag(
+ self,
+ id: str,
+ name: str,
+ *,
+ history_item_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[WorkflowReleaseTagRead]:
+ """
+ Updates an existing Release Tag associated with the specified Workflow Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Workflow Deployment that you'd like to update.
+
+ history_item_id : typing.Optional[str]
+ The ID of the Workflow Deployment History Item to tag
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowReleaseTagRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PATCH",
+ json={
+ "history_item_id": history_item_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowReleaseTagRead,
+ parse_obj_as(
+ type_=WorkflowReleaseTagRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def list_workflow_deployment_releases(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedWorkflowDeploymentReleaseList]:
+ """
+ List the Releases of the specified Workflow Deployment for the current Environment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedWorkflowDeploymentReleaseList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/releases",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedWorkflowDeploymentReleaseList,
+ parse_obj_as(
+ type_=PaginatedWorkflowDeploymentReleaseList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def retrieve_workflow_deployment_release(
+ self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[WorkflowDeploymentRelease]:
+ """
+ Retrieve a specific Workflow Deployment Release by either its UUID or the name of a Release Tag that points to it.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ release_id_or_release_tag : str
+ Either the UUID of Workflow Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment Release you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowDeploymentRelease]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/releases/{jsonable_encoder(release_id_or_release_tag)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowDeploymentRelease,
+ parse_obj_as(
+ type_=WorkflowDeploymentRelease, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawWorkflowDeploymentsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def list(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ status: typing.Optional[WorkflowDeploymentsListRequestStatus] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedSlimWorkflowDeploymentList]:
+ """
+ Used to list all Workflow Deployments.
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ status : typing.Optional[WorkflowDeploymentsListRequestStatus]
+ status
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedSlimWorkflowDeploymentList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/workflow-deployments",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "status": status,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedSlimWorkflowDeploymentList,
+ parse_obj_as(
+ type_=PaginatedSlimWorkflowDeploymentList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[WorkflowDeploymentRead]:
+ """
+ Used to retrieve a workflow deployment given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowDeploymentRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowDeploymentRead,
+ parse_obj_as(
+ type_=WorkflowDeploymentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def list_workflow_deployment_event_executions(
+ self,
+ id: str,
+ *,
+ filters: typing.Optional[str] = None,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[WorkflowDeploymentEventExecutionsResponse]:
+ """
+ Parameters
+ ----------
+ id : str
+
+ filters : typing.Optional[str]
+
+ limit : typing.Optional[int]
+ Number of executions to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the executions.
+
+ ordering : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowDeploymentEventExecutionsResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/execution-events",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "filters": filters,
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowDeploymentEventExecutionsResponse,
+ parse_obj_as(
+ type_=WorkflowDeploymentEventExecutionsResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def workflow_deployment_event_execution(
+ self, execution_id: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[WorkflowEventExecutionRead]:
+ """
+ Parameters
+ ----------
+ execution_id : str
+
+ id : str
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowEventExecutionRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/execution-events/{jsonable_encoder(execution_id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowEventExecutionRead,
+ parse_obj_as(
+ type_=WorkflowEventExecutionRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def workflow_deployment_history_item_retrieve(
+ self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[WorkflowDeploymentHistoryItem]:
+ """
+ DEPRECATED: This endpoint is deprecated and will be removed in a future release. Please use the
+ `retrieve_workflow_deployment_release` endpoint instead.
+
+ Parameters
+ ----------
+ history_id_or_release_tag : str
+ Either the UUID of Workflow Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment History Item you'd like to retrieve.
+
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowDeploymentHistoryItem]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowDeploymentHistoryItem,
+ parse_obj_as(
+ type_=WorkflowDeploymentHistoryItem, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def list_workflow_release_tags(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ source: typing.Optional[ListWorkflowReleaseTagsRequestSource] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedWorkflowReleaseTagReadList]:
+ """
+ List Release Tags associated with the specified Workflow Deployment
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ source : typing.Optional[ListWorkflowReleaseTagsRequestSource]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedWorkflowReleaseTagReadList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "source": source,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedWorkflowReleaseTagReadList,
+ parse_obj_as(
+ type_=PaginatedWorkflowReleaseTagReadList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve_workflow_release_tag(
+ self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[WorkflowReleaseTagRead]:
+ """
+ Retrieve a Workflow Release Tag by tag name, associated with a specified Workflow Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Workflow Deployment that you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowReleaseTagRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowReleaseTagRead,
+ parse_obj_as(
+ type_=WorkflowReleaseTagRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def update_workflow_release_tag(
+ self,
+ id: str,
+ name: str,
+ *,
+ history_item_id: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[WorkflowReleaseTagRead]:
+ """
+ Updates an existing Release Tag associated with the specified Workflow Deployment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ name : str
+ The name of the Release Tag associated with this Workflow Deployment that you'd like to update.
+
+ history_item_id : typing.Optional[str]
+ The ID of the Workflow Deployment History Item to tag
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowReleaseTagRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags/{jsonable_encoder(name)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PATCH",
+ json={
+ "history_item_id": history_item_id,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowReleaseTagRead,
+ parse_obj_as(
+ type_=WorkflowReleaseTagRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def list_workflow_deployment_releases(
+ self,
+ id: str,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedWorkflowDeploymentReleaseList]:
+ """
+ List the Releases of the specified Workflow Deployment for the current Environment.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedWorkflowDeploymentReleaseList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/releases",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedWorkflowDeploymentReleaseList,
+ parse_obj_as(
+ type_=PaginatedWorkflowDeploymentReleaseList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def retrieve_workflow_deployment_release(
+ self, id: str, release_id_or_release_tag: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[WorkflowDeploymentRelease]:
+ """
+ Retrieve a specific Workflow Deployment Release by either its UUID or the name of a Release Tag that points to it.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workflow Deployment's ID or its unique name
+
+ release_id_or_release_tag : str
+ Either the UUID of Workflow Deployment Release you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment Release you'd like to retrieve.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowDeploymentRelease]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/releases/{jsonable_encoder(release_id_or_release_tag)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowDeploymentRelease,
+ parse_obj_as(
+ type_=WorkflowDeploymentRelease, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/workflow_deployments/types/__init__.py b/src/vellum/resources/workflow_deployments/types/__init__.py
index 09dcdfd448..5b5a7c44a1 100644
--- a/src/vellum/resources/workflow_deployments/types/__init__.py
+++ b/src/vellum/resources/workflow_deployments/types/__init__.py
@@ -1,3 +1,8 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_deployments.types import *
+# isort: skip_file
+
+from .list_workflow_release_tags_request_source import ListWorkflowReleaseTagsRequestSource
+from .workflow_deployments_list_request_status import WorkflowDeploymentsListRequestStatus
+
+__all__ = ["ListWorkflowReleaseTagsRequestSource", "WorkflowDeploymentsListRequestStatus"]
diff --git a/src/vellum/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py b/src/vellum/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py
index ff25d7fde7..81690cef0b 100644
--- a/src/vellum/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py
+++ b/src/vellum/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_deployments.types.list_workflow_release_tags_request_source import *
+import typing
+
+ListWorkflowReleaseTagsRequestSource = typing.Union[typing.Literal["SYSTEM", "USER"], typing.Any]
diff --git a/src/vellum/resources/workflow_deployments/types/workflow_deployments_list_request_status.py b/src/vellum/resources/workflow_deployments/types/workflow_deployments_list_request_status.py
index 7502dd352b..9b73d467fb 100644
--- a/src/vellum/resources/workflow_deployments/types/workflow_deployments_list_request_status.py
+++ b/src/vellum/resources/workflow_deployments/types/workflow_deployments_list_request_status.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_deployments.types.workflow_deployments_list_request_status import *
+import typing
+
+WorkflowDeploymentsListRequestStatus = typing.Union[typing.Literal["ACTIVE", "ARCHIVED"], typing.Any]
diff --git a/src/vellum/resources/workflow_executions/__init__.py b/src/vellum/resources/workflow_executions/__init__.py
index 5024dfd40b..5cde0202dc 100644
--- a/src/vellum/resources/workflow_executions/__init__.py
+++ b/src/vellum/resources/workflow_executions/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.workflow_executions import *
diff --git a/src/vellum/resources/workflow_executions/client.py b/src/vellum/resources/workflow_executions/client.py
index 59fa17053b..262838e1dc 100644
--- a/src/vellum/resources/workflow_executions/client.py
+++ b/src/vellum/resources/workflow_executions/client.py
@@ -1,3 +1,136 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_executions.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.workflow_execution_detail import WorkflowExecutionDetail
+from .raw_client import AsyncRawWorkflowExecutionsClient, RawWorkflowExecutionsClient
+
+
+class WorkflowExecutionsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawWorkflowExecutionsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawWorkflowExecutionsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawWorkflowExecutionsClient
+ """
+ return self._raw_client
+
+ def retrieve_workflow_execution_detail(
+ self,
+ execution_id: str,
+ *,
+ prev_span_id: typing.Optional[str] = None,
+ span_limit: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkflowExecutionDetail:
+ """
+ Parameters
+ ----------
+ execution_id : str
+
+ prev_span_id : typing.Optional[str]
+ Optional keyset cursor span_id to continue from (exclusive)
+
+ span_limit : typing.Optional[int]
+ Maximum number of spans to return (for lazy loading)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowExecutionDetail
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_executions.retrieve_workflow_execution_detail(
+ execution_id="execution_id",
+ )
+ """
+ _response = self._raw_client.retrieve_workflow_execution_detail(
+ execution_id, prev_span_id=prev_span_id, span_limit=span_limit, request_options=request_options
+ )
+ return _response.data
+
+
+class AsyncWorkflowExecutionsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawWorkflowExecutionsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawWorkflowExecutionsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawWorkflowExecutionsClient
+ """
+ return self._raw_client
+
+ async def retrieve_workflow_execution_detail(
+ self,
+ execution_id: str,
+ *,
+ prev_span_id: typing.Optional[str] = None,
+ span_limit: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkflowExecutionDetail:
+ """
+ Parameters
+ ----------
+ execution_id : str
+
+ prev_span_id : typing.Optional[str]
+ Optional keyset cursor span_id to continue from (exclusive)
+
+ span_limit : typing.Optional[int]
+ Maximum number of spans to return (for lazy loading)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowExecutionDetail
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_executions.retrieve_workflow_execution_detail(
+ execution_id="execution_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve_workflow_execution_detail(
+ execution_id, prev_span_id=prev_span_id, span_limit=span_limit, request_options=request_options
+ )
+ return _response.data
diff --git a/src/vellum/resources/workflow_executions/raw_client.py b/src/vellum/resources/workflow_executions/raw_client.py
index 093f40a520..a9686f3f2c 100644
--- a/src/vellum/resources/workflow_executions/raw_client.py
+++ b/src/vellum/resources/workflow_executions/raw_client.py
@@ -1,3 +1,173 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_executions.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...errors.misdirected_request_error import MisdirectedRequestError
+from ...errors.not_found_error import NotFoundError
+from ...types.update_active_workspace_response import UpdateActiveWorkspaceResponse
+from ...types.workflow_execution_detail import WorkflowExecutionDetail
+
+
+class RawWorkflowExecutionsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def retrieve_workflow_execution_detail(
+ self,
+ execution_id: str,
+ *,
+ prev_span_id: typing.Optional[str] = None,
+ span_limit: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[WorkflowExecutionDetail]:
+ """
+ Parameters
+ ----------
+ execution_id : str
+
+ prev_span_id : typing.Optional[str]
+ Optional keyset cursor span_id to continue from (exclusive)
+
+ span_limit : typing.Optional[int]
+ Maximum number of spans to return (for lazy loading)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowExecutionDetail]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-executions/{jsonable_encoder(execution_id)}/detail",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "prev_span_id": prev_span_id,
+ "span_limit": span_limit,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowExecutionDetail,
+ parse_obj_as(
+ type_=WorkflowExecutionDetail, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 421:
+ raise MisdirectedRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ UpdateActiveWorkspaceResponse,
+ parse_obj_as(
+ type_=UpdateActiveWorkspaceResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawWorkflowExecutionsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def retrieve_workflow_execution_detail(
+ self,
+ execution_id: str,
+ *,
+ prev_span_id: typing.Optional[str] = None,
+ span_limit: typing.Optional[int] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[WorkflowExecutionDetail]:
+ """
+ Parameters
+ ----------
+ execution_id : str
+
+ prev_span_id : typing.Optional[str]
+ Optional keyset cursor span_id to continue from (exclusive)
+
+ span_limit : typing.Optional[int]
+ Maximum number of spans to return (for lazy loading)
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowExecutionDetail]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-executions/{jsonable_encoder(execution_id)}/detail",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "prev_span_id": prev_span_id,
+ "span_limit": span_limit,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowExecutionDetail,
+ parse_obj_as(
+ type_=WorkflowExecutionDetail, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ if _response.status_code == 404:
+ raise NotFoundError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ if _response.status_code == 421:
+ raise MisdirectedRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ UpdateActiveWorkspaceResponse,
+ parse_obj_as(
+ type_=UpdateActiveWorkspaceResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/workflow_sandboxes/__init__.py b/src/vellum/resources/workflow_sandboxes/__init__.py
index 1ba42d4ec9..e0a5cb5b30 100644
--- a/src/vellum/resources/workflow_sandboxes/__init__.py
+++ b/src/vellum/resources/workflow_sandboxes/__init__.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_sandboxes import *
+# isort: skip_file
+
+from .types import ListWorkflowSandboxExamplesRequestTag
+
+__all__ = ["ListWorkflowSandboxExamplesRequestTag"]
diff --git a/src/vellum/resources/workflow_sandboxes/client.py b/src/vellum/resources/workflow_sandboxes/client.py
index 92bd9ccd38..57ef333431 100644
--- a/src/vellum/resources/workflow_sandboxes/client.py
+++ b/src/vellum/resources/workflow_sandboxes/client.py
@@ -1,3 +1,283 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_sandboxes.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.paginated_workflow_sandbox_example_list import PaginatedWorkflowSandboxExampleList
+from ...types.workflow_deployment_read import WorkflowDeploymentRead
+from .raw_client import AsyncRawWorkflowSandboxesClient, RawWorkflowSandboxesClient
+from .types.list_workflow_sandbox_examples_request_tag import ListWorkflowSandboxExamplesRequestTag
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class WorkflowSandboxesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawWorkflowSandboxesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawWorkflowSandboxesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawWorkflowSandboxesClient
+ """
+ return self._raw_client
+
+ def deploy_workflow(
+ self,
+ id: str,
+ *,
+ workflow_deployment_id: typing.Optional[str] = OMIT,
+ workflow_deployment_name: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
+ release_description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkflowDeploymentRead:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this workflow sandbox.
+
+ workflow_deployment_id : typing.Optional[str]
+ The Vellum-generated ID of the Workflow Deployment you'd like to update. Cannot specify both this and workflow_deployment_name. Leave null to create a new Workflow Deployment.
+
+ workflow_deployment_name : typing.Optional[str]
+ The unique name of the Workflow Deployment you'd like to either create or update. Cannot specify both this and workflow_deployment_id. If provided and matches an existing Workflow Deployment, that Workflow Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
+
+ label : typing.Optional[str]
+ In the event that a new Workflow Deployment is created, this will be the label it's given.
+
+ release_tags : typing.Optional[typing.Sequence[str]]
+ Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
+
+ release_description : typing.Optional[str]
+ Optionally provide a description that details what's new in this Release.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowDeploymentRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_sandboxes.deploy_workflow(
+ id="id",
+ )
+ """
+ _response = self._raw_client.deploy_workflow(
+ id,
+ workflow_deployment_id=workflow_deployment_id,
+ workflow_deployment_name=workflow_deployment_name,
+ label=label,
+ release_tags=release_tags,
+ release_description=release_description,
+ request_options=request_options,
+ )
+ return _response.data
+
+ def list_workflow_sandbox_examples(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ tag: typing.Optional[ListWorkflowSandboxExamplesRequestTag] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedWorkflowSandboxExampleList:
+ """
+ List Workflow Sandbox examples that were previously cloned into the User's Workspace
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ tag : typing.Optional[ListWorkflowSandboxExamplesRequestTag]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedWorkflowSandboxExampleList
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflow_sandboxes.list_workflow_sandbox_examples()
+ """
+ _response = self._raw_client.list_workflow_sandbox_examples(
+ limit=limit, offset=offset, ordering=ordering, tag=tag, request_options=request_options
+ )
+ return _response.data
+
+
+class AsyncWorkflowSandboxesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawWorkflowSandboxesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawWorkflowSandboxesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawWorkflowSandboxesClient
+ """
+ return self._raw_client
+
+ async def deploy_workflow(
+ self,
+ id: str,
+ *,
+ workflow_deployment_id: typing.Optional[str] = OMIT,
+ workflow_deployment_name: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
+ release_description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkflowDeploymentRead:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this workflow sandbox.
+
+ workflow_deployment_id : typing.Optional[str]
+ The Vellum-generated ID of the Workflow Deployment you'd like to update. Cannot specify both this and workflow_deployment_name. Leave null to create a new Workflow Deployment.
+
+ workflow_deployment_name : typing.Optional[str]
+ The unique name of the Workflow Deployment you'd like to either create or update. Cannot specify both this and workflow_deployment_id. If provided and matches an existing Workflow Deployment, that Workflow Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
+
+ label : typing.Optional[str]
+ In the event that a new Workflow Deployment is created, this will be the label it's given.
+
+ release_tags : typing.Optional[typing.Sequence[str]]
+ Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
+
+ release_description : typing.Optional[str]
+ Optionally provide a description that details what's new in this Release.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowDeploymentRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_sandboxes.deploy_workflow(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.deploy_workflow(
+ id,
+ workflow_deployment_id=workflow_deployment_id,
+ workflow_deployment_name=workflow_deployment_name,
+ label=label,
+ release_tags=release_tags,
+ release_description=release_description,
+ request_options=request_options,
+ )
+ return _response.data
+
+ async def list_workflow_sandbox_examples(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ tag: typing.Optional[ListWorkflowSandboxExamplesRequestTag] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> PaginatedWorkflowSandboxExampleList:
+ """
+ List Workflow Sandbox examples that were previously cloned into the User's Workspace
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ tag : typing.Optional[ListWorkflowSandboxExamplesRequestTag]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ PaginatedWorkflowSandboxExampleList
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflow_sandboxes.list_workflow_sandbox_examples()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.list_workflow_sandbox_examples(
+ limit=limit, offset=offset, ordering=ordering, tag=tag, request_options=request_options
+ )
+ return _response.data
diff --git a/src/vellum/resources/workflow_sandboxes/raw_client.py b/src/vellum/resources/workflow_sandboxes/raw_client.py
index 7d8d5eca76..acc3d6bf4d 100644
--- a/src/vellum/resources/workflow_sandboxes/raw_client.py
+++ b/src/vellum/resources/workflow_sandboxes/raw_client.py
@@ -1,3 +1,291 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_sandboxes.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.paginated_workflow_sandbox_example_list import PaginatedWorkflowSandboxExampleList
+from ...types.workflow_deployment_read import WorkflowDeploymentRead
+from .types.list_workflow_sandbox_examples_request_tag import ListWorkflowSandboxExamplesRequestTag
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawWorkflowSandboxesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def deploy_workflow(
+ self,
+ id: str,
+ *,
+ workflow_deployment_id: typing.Optional[str] = OMIT,
+ workflow_deployment_name: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
+ release_description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[WorkflowDeploymentRead]:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this workflow sandbox.
+
+ workflow_deployment_id : typing.Optional[str]
+ The Vellum-generated ID of the Workflow Deployment you'd like to update. Cannot specify both this and workflow_deployment_name. Leave null to create a new Workflow Deployment.
+
+ workflow_deployment_name : typing.Optional[str]
+ The unique name of the Workflow Deployment you'd like to either create or update. Cannot specify both this and workflow_deployment_id. If provided and matches an existing Workflow Deployment, that Workflow Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
+
+ label : typing.Optional[str]
+ In the event that a new Workflow Deployment is created, this will be the label it's given.
+
+ release_tags : typing.Optional[typing.Sequence[str]]
+ Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
+
+ release_description : typing.Optional[str]
+ Optionally provide a description that details what's new in this Release.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowDeploymentRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflow-sandboxes/{jsonable_encoder(id)}/deploy",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "workflow_deployment_id": workflow_deployment_id,
+ "workflow_deployment_name": workflow_deployment_name,
+ "label": label,
+ "release_tags": release_tags,
+ "release_description": release_description,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowDeploymentRead,
+ parse_obj_as(
+ type_=WorkflowDeploymentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def list_workflow_sandbox_examples(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ tag: typing.Optional[ListWorkflowSandboxExamplesRequestTag] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[PaginatedWorkflowSandboxExampleList]:
+ """
+ List Workflow Sandbox examples that were previously cloned into the User's Workspace
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ tag : typing.Optional[ListWorkflowSandboxExamplesRequestTag]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[PaginatedWorkflowSandboxExampleList]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/workflow-sandboxes/examples",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "tag": tag,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedWorkflowSandboxExampleList,
+ parse_obj_as(
+ type_=PaginatedWorkflowSandboxExampleList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawWorkflowSandboxesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def deploy_workflow(
+ self,
+ id: str,
+ *,
+ workflow_deployment_id: typing.Optional[str] = OMIT,
+ workflow_deployment_name: typing.Optional[str] = OMIT,
+ label: typing.Optional[str] = OMIT,
+ release_tags: typing.Optional[typing.Sequence[str]] = OMIT,
+ release_description: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[WorkflowDeploymentRead]:
+ """
+ Parameters
+ ----------
+ id : str
+ A UUID string identifying this workflow sandbox.
+
+ workflow_deployment_id : typing.Optional[str]
+ The Vellum-generated ID of the Workflow Deployment you'd like to update. Cannot specify both this and workflow_deployment_name. Leave null to create a new Workflow Deployment.
+
+ workflow_deployment_name : typing.Optional[str]
+ The unique name of the Workflow Deployment you'd like to either create or update. Cannot specify both this and workflow_deployment_id. If provided and matches an existing Workflow Deployment, that Workflow Deployment will be updated. Otherwise, a new Prompt Deployment will be created.
+
+ label : typing.Optional[str]
+ In the event that a new Workflow Deployment is created, this will be the label it's given.
+
+ release_tags : typing.Optional[typing.Sequence[str]]
+ Optionally provide the release tags that you'd like to be associated with the latest release of the created/updated Prompt Deployment.
+
+ release_description : typing.Optional[str]
+ Optionally provide a description that details what's new in this Release.
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowDeploymentRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflow-sandboxes/{jsonable_encoder(id)}/deploy",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "workflow_deployment_id": workflow_deployment_id,
+ "workflow_deployment_name": workflow_deployment_name,
+ "label": label,
+ "release_tags": release_tags,
+ "release_description": release_description,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowDeploymentRead,
+ parse_obj_as(
+ type_=WorkflowDeploymentRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def list_workflow_sandbox_examples(
+ self,
+ *,
+ limit: typing.Optional[int] = None,
+ offset: typing.Optional[int] = None,
+ ordering: typing.Optional[str] = None,
+ tag: typing.Optional[ListWorkflowSandboxExamplesRequestTag] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[PaginatedWorkflowSandboxExampleList]:
+ """
+ List Workflow Sandbox examples that were previously cloned into the User's Workspace
+
+ Parameters
+ ----------
+ limit : typing.Optional[int]
+ Number of results to return per page.
+
+ offset : typing.Optional[int]
+ The initial index from which to return the results.
+
+ ordering : typing.Optional[str]
+ Which field to use when ordering the results.
+
+ tag : typing.Optional[ListWorkflowSandboxExamplesRequestTag]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[PaginatedWorkflowSandboxExampleList]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/workflow-sandboxes/examples",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ params={
+ "limit": limit,
+ "offset": offset,
+ "ordering": ordering,
+ "tag": tag,
+ },
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ PaginatedWorkflowSandboxExampleList,
+ parse_obj_as(
+ type_=PaginatedWorkflowSandboxExampleList, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/workflow_sandboxes/types/__init__.py b/src/vellum/resources/workflow_sandboxes/types/__init__.py
index 06641a8b30..a122e5789d 100644
--- a/src/vellum/resources/workflow_sandboxes/types/__init__.py
+++ b/src/vellum/resources/workflow_sandboxes/types/__init__.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_sandboxes.types import *
+# isort: skip_file
+
+from .list_workflow_sandbox_examples_request_tag import ListWorkflowSandboxExamplesRequestTag
+
+__all__ = ["ListWorkflowSandboxExamplesRequestTag"]
diff --git a/src/vellum/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py b/src/vellum/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py
index 3af86f096d..bfbd1109c8 100644
--- a/src/vellum/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py
+++ b/src/vellum/resources/workflow_sandboxes/types/list_workflow_sandbox_examples_request_tag.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflow_sandboxes.types.list_workflow_sandbox_examples_request_tag import *
+import typing
+
+ListWorkflowSandboxExamplesRequestTag = typing.Union[typing.Literal["ONBOARDING", "TEMPLATES"], typing.Any]
diff --git a/src/vellum/resources/workflows/__init__.py b/src/vellum/resources/workflows/__init__.py
index 378ef7a7d2..5cde0202dc 100644
--- a/src/vellum/resources/workflows/__init__.py
+++ b/src/vellum/resources/workflows/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.workflows import *
diff --git a/src/vellum/resources/workflows/client.py b/src/vellum/resources/workflows/client.py
index 104397c600..d3d2defd66 100644
--- a/src/vellum/resources/workflows/client.py
+++ b/src/vellum/resources/workflows/client.py
@@ -1,3 +1,435 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflows.client import *
+import typing
+
+from ... import core
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.dataset_row_push_request import DatasetRowPushRequest
+from ...types.workflow_push_deployment_config_request import WorkflowPushDeploymentConfigRequest
+from ...types.workflow_push_exec_config import WorkflowPushExecConfig
+from ...types.workflow_push_response import WorkflowPushResponse
+from ...types.workflow_resolved_state import WorkflowResolvedState
+from .raw_client import AsyncRawWorkflowsClient, RawWorkflowsClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class WorkflowsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawWorkflowsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawWorkflowsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawWorkflowsClient
+ """
+ return self._raw_client
+
+ def pull(
+ self,
+ id: str,
+ *,
+ exclude_code: typing.Optional[bool] = None,
+ exclude_display: typing.Optional[bool] = None,
+ include_json: typing.Optional[bool] = None,
+ include_sandbox: typing.Optional[bool] = None,
+ release_tag: typing.Optional[str] = None,
+ strict: typing.Optional[bool] = None,
+ version: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Iterator[bytes]:
+ """
+ Parameters
+ ----------
+ id : str
+ The ID of the Workflow to pull from
+
+ exclude_code : typing.Optional[bool]
+
+ exclude_display : typing.Optional[bool]
+
+ include_json : typing.Optional[bool]
+
+ include_sandbox : typing.Optional[bool]
+
+ release_tag : typing.Optional[str]
+ Release tag to use when pulling from deployment (implies deployment-only lookup)
+
+ strict : typing.Optional[bool]
+
+ version : typing.Optional[str]
+ Semantic version range to validate against the Workflow SDK version (e.g., '>=1.0.0,<1.2.3')
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
+
+ Returns
+ -------
+ typing.Iterator[bytes]
+
+ """
+ with self._raw_client.pull(
+ id,
+ exclude_code=exclude_code,
+ exclude_display=exclude_display,
+ include_json=include_json,
+ include_sandbox=include_sandbox,
+ release_tag=release_tag,
+ strict=strict,
+ version=version,
+ request_options=request_options,
+ ) as r:
+ yield from r.data
+
+ def retrieve_state(
+ self, span_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowResolvedState:
+ """
+ Retrieve the current state of a workflow execution.
+
+ **Note:** Uses a base url of `https://predict.vellum.ai`.
+
+ Parameters
+ ----------
+ span_id : str
+ The span ID of the workflow execution to retrieve state for
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowResolvedState
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflows.retrieve_state(
+ span_id="span_id",
+ )
+ """
+ _response = self._raw_client.retrieve_state(span_id, request_options=request_options)
+ return _response.data
+
+ def push(
+ self,
+ *,
+ exec_config: WorkflowPushExecConfig,
+ workflow_sandbox_id: typing.Optional[str] = OMIT,
+ deployment_config: typing.Optional[WorkflowPushDeploymentConfigRequest] = OMIT,
+ artifact: typing.Optional[core.File] = OMIT,
+ dataset: typing.Optional[typing.List[DatasetRowPushRequest]] = OMIT,
+ dry_run: typing.Optional[bool] = OMIT,
+ strict: typing.Optional[bool] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkflowPushResponse:
+ """
+ Parameters
+ ----------
+ exec_config : WorkflowPushExecConfig
+ The execution configuration of the workflow.
+
+ workflow_sandbox_id : typing.Optional[str]
+
+ deployment_config : typing.Optional[WorkflowPushDeploymentConfigRequest]
+
+ artifact : typing.Optional[core.File]
+ See core.File for more documentation
+
+ dataset : typing.Optional[typing.List[DatasetRowPushRequest]]
+ List of dataset rows with inputs for scenarios.
+
+ dry_run : typing.Optional[bool]
+
+ strict : typing.Optional[bool]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowPushResponse
+
+ """
+ _response = self._raw_client.push(
+ exec_config=exec_config,
+ workflow_sandbox_id=workflow_sandbox_id,
+ deployment_config=deployment_config,
+ artifact=artifact,
+ dataset=dataset,
+ dry_run=dry_run,
+ strict=strict,
+ request_options=request_options,
+ )
+ return _response.data
+
+ def serialize_workflow_files(
+ self,
+ *,
+ files: typing.Dict[str, typing.Optional[typing.Any]],
+ module: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Dict[str, typing.Optional[typing.Any]]:
+ """
+ Serialize files
+
+ Parameters
+ ----------
+ files : typing.Dict[str, typing.Optional[typing.Any]]
+
+ module : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ typing.Dict[str, typing.Optional[typing.Any]]
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workflows.serialize_workflow_files(
+ files={"files": {"key": "value"}},
+ )
+ """
+ _response = self._raw_client.serialize_workflow_files(
+ files=files, module=module, request_options=request_options
+ )
+ return _response.data
+
+
+class AsyncWorkflowsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawWorkflowsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawWorkflowsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawWorkflowsClient
+ """
+ return self._raw_client
+
+ async def pull(
+ self,
+ id: str,
+ *,
+ exclude_code: typing.Optional[bool] = None,
+ exclude_display: typing.Optional[bool] = None,
+ include_json: typing.Optional[bool] = None,
+ include_sandbox: typing.Optional[bool] = None,
+ release_tag: typing.Optional[str] = None,
+ strict: typing.Optional[bool] = None,
+ version: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.AsyncIterator[bytes]:
+ """
+ Parameters
+ ----------
+ id : str
+ The ID of the Workflow to pull from
+
+ exclude_code : typing.Optional[bool]
+
+ exclude_display : typing.Optional[bool]
+
+ include_json : typing.Optional[bool]
+
+ include_sandbox : typing.Optional[bool]
+
+ release_tag : typing.Optional[str]
+ Release tag to use when pulling from deployment (implies deployment-only lookup)
+
+ strict : typing.Optional[bool]
+
+ version : typing.Optional[str]
+ Semantic version range to validate against the Workflow SDK version (e.g., '>=1.0.0,<1.2.3')
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
+
+ Returns
+ -------
+ typing.AsyncIterator[bytes]
+
+ """
+ async with self._raw_client.pull(
+ id,
+ exclude_code=exclude_code,
+ exclude_display=exclude_display,
+ include_json=include_json,
+ include_sandbox=include_sandbox,
+ release_tag=release_tag,
+ strict=strict,
+ version=version,
+ request_options=request_options,
+ ) as r:
+ async for _chunk in r.data:
+ yield _chunk
+
+ async def retrieve_state(
+ self, span_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkflowResolvedState:
+ """
+ Retrieve the current state of a workflow execution.
+
+ **Note:** Uses a base url of `https://predict.vellum.ai`.
+
+ Parameters
+ ----------
+ span_id : str
+ The span ID of the workflow execution to retrieve state for
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowResolvedState
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflows.retrieve_state(
+ span_id="span_id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve_state(span_id, request_options=request_options)
+ return _response.data
+
+ async def push(
+ self,
+ *,
+ exec_config: WorkflowPushExecConfig,
+ workflow_sandbox_id: typing.Optional[str] = OMIT,
+ deployment_config: typing.Optional[WorkflowPushDeploymentConfigRequest] = OMIT,
+ artifact: typing.Optional[core.File] = OMIT,
+ dataset: typing.Optional[typing.List[DatasetRowPushRequest]] = OMIT,
+ dry_run: typing.Optional[bool] = OMIT,
+ strict: typing.Optional[bool] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkflowPushResponse:
+ """
+ Parameters
+ ----------
+ exec_config : WorkflowPushExecConfig
+ The execution configuration of the workflow.
+
+ workflow_sandbox_id : typing.Optional[str]
+
+ deployment_config : typing.Optional[WorkflowPushDeploymentConfigRequest]
+
+ artifact : typing.Optional[core.File]
+ See core.File for more documentation
+
+ dataset : typing.Optional[typing.List[DatasetRowPushRequest]]
+ List of dataset rows with inputs for scenarios.
+
+ dry_run : typing.Optional[bool]
+
+ strict : typing.Optional[bool]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkflowPushResponse
+
+ """
+ _response = await self._raw_client.push(
+ exec_config=exec_config,
+ workflow_sandbox_id=workflow_sandbox_id,
+ deployment_config=deployment_config,
+ artifact=artifact,
+ dataset=dataset,
+ dry_run=dry_run,
+ strict=strict,
+ request_options=request_options,
+ )
+ return _response.data
+
+ async def serialize_workflow_files(
+ self,
+ *,
+ files: typing.Dict[str, typing.Optional[typing.Any]],
+ module: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Dict[str, typing.Optional[typing.Any]]:
+ """
+ Serialize files
+
+ Parameters
+ ----------
+ files : typing.Dict[str, typing.Optional[typing.Any]]
+
+ module : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ typing.Dict[str, typing.Optional[typing.Any]]
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workflows.serialize_workflow_files(
+ files={"files": {"key": "value"}},
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.serialize_workflow_files(
+ files=files, module=module, request_options=request_options
+ )
+ return _response.data
diff --git a/src/vellum/resources/workflows/raw_client.py b/src/vellum/resources/workflows/raw_client.py
index 2b136eab9e..44925fe893 100644
--- a/src/vellum/resources/workflows/raw_client.py
+++ b/src/vellum/resources/workflows/raw_client.py
@@ -1,3 +1,547 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workflows.raw_client import *
+import contextlib
+import typing
+from json.decoder import JSONDecodeError
+
+from ... import core
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...errors.bad_request_error import BadRequestError
+from ...types.dataset_row_push_request import DatasetRowPushRequest
+from ...types.workflow_push_deployment_config_request import WorkflowPushDeploymentConfigRequest
+from ...types.workflow_push_exec_config import WorkflowPushExecConfig
+from ...types.workflow_push_response import WorkflowPushResponse
+from ...types.workflow_resolved_state import WorkflowResolvedState
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawWorkflowsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ @contextlib.contextmanager
+ def pull(
+ self,
+ id: str,
+ *,
+ exclude_code: typing.Optional[bool] = None,
+ exclude_display: typing.Optional[bool] = None,
+ include_json: typing.Optional[bool] = None,
+ include_sandbox: typing.Optional[bool] = None,
+ release_tag: typing.Optional[str] = None,
+ strict: typing.Optional[bool] = None,
+ version: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.Iterator[HttpResponse[typing.Iterator[bytes]]]:
+ """
+ Parameters
+ ----------
+ id : str
+ The ID of the Workflow to pull from
+
+ exclude_code : typing.Optional[bool]
+
+ exclude_display : typing.Optional[bool]
+
+ include_json : typing.Optional[bool]
+
+ include_sandbox : typing.Optional[bool]
+
+ release_tag : typing.Optional[str]
+ Release tag to use when pulling from deployment (implies deployment-only lookup)
+
+ strict : typing.Optional[bool]
+
+ version : typing.Optional[str]
+ Semantic version range to validate against the Workflow SDK version (e.g., '>=1.0.0,<1.2.3')
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
+
+ Returns
+ -------
+ typing.Iterator[HttpResponse[typing.Iterator[bytes]]]
+
+ """
+ with self._client_wrapper.httpx_client.stream(
+ f"v1/workflows/{jsonable_encoder(id)}/pull",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="GET",
+ params={
+ "exclude_code": exclude_code,
+ "exclude_display": exclude_display,
+ "include_json": include_json,
+ "include_sandbox": include_sandbox,
+ "release_tag": release_tag,
+ "strict": strict,
+ "version": version,
+ },
+ request_options=request_options,
+ ) as _response:
+
+ def _stream() -> HttpResponse[typing.Iterator[bytes]]:
+ try:
+ if 200 <= _response.status_code < 300:
+ _chunk_size = request_options.get("chunk_size", None) if request_options is not None else None
+ return HttpResponse(
+ response=_response, data=(_chunk for _chunk in _response.iter_bytes(chunk_size=_chunk_size))
+ )
+ _response.read()
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield _stream()
+
+ def retrieve_state(
+ self, span_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[WorkflowResolvedState]:
+ """
+ Retrieve the current state of a workflow execution.
+
+ **Note:** Uses a base url of `https://predict.vellum.ai`.
+
+ Parameters
+ ----------
+ span_id : str
+ The span ID of the workflow execution to retrieve state for
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowResolvedState]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workflows/{jsonable_encoder(span_id)}/state",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowResolvedState,
+ parse_obj_as(
+ type_=WorkflowResolvedState, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def push(
+ self,
+ *,
+ exec_config: WorkflowPushExecConfig,
+ workflow_sandbox_id: typing.Optional[str] = OMIT,
+ deployment_config: typing.Optional[WorkflowPushDeploymentConfigRequest] = OMIT,
+ artifact: typing.Optional[core.File] = OMIT,
+ dataset: typing.Optional[typing.List[DatasetRowPushRequest]] = OMIT,
+ dry_run: typing.Optional[bool] = OMIT,
+ strict: typing.Optional[bool] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[WorkflowPushResponse]:
+ """
+ Parameters
+ ----------
+ exec_config : WorkflowPushExecConfig
+ The execution configuration of the workflow.
+
+ workflow_sandbox_id : typing.Optional[str]
+
+ deployment_config : typing.Optional[WorkflowPushDeploymentConfigRequest]
+
+ artifact : typing.Optional[core.File]
+ See core.File for more documentation
+
+ dataset : typing.Optional[typing.List[DatasetRowPushRequest]]
+ List of dataset rows with inputs for scenarios.
+
+ dry_run : typing.Optional[bool]
+
+ strict : typing.Optional[bool]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkflowPushResponse]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/workflows/push",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ data={
+ "exec_config": exec_config,
+ "workflow_sandbox_id": workflow_sandbox_id,
+ "deployment_config": deployment_config,
+ "dataset": dataset,
+ "dry_run": dry_run,
+ "strict": strict,
+ },
+ files={
+ **({"artifact": artifact} if artifact is not None else {}),
+ },
+ request_options=request_options,
+ omit=OMIT,
+ force_multipart=True,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowPushResponse,
+ parse_obj_as(
+ type_=WorkflowPushResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def serialize_workflow_files(
+ self,
+ *,
+ files: typing.Dict[str, typing.Optional[typing.Any]],
+ module: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]:
+ """
+ Serialize files
+
+ Parameters
+ ----------
+ files : typing.Dict[str, typing.Optional[typing.Any]]
+
+ module : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/workflows/serialize",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "files": files,
+ "module": module,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ typing.Dict[str, typing.Optional[typing.Any]],
+ parse_obj_as(
+ type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawWorkflowsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ @contextlib.asynccontextmanager
+ async def pull(
+ self,
+ id: str,
+ *,
+ exclude_code: typing.Optional[bool] = None,
+ exclude_display: typing.Optional[bool] = None,
+ include_json: typing.Optional[bool] = None,
+ include_sandbox: typing.Optional[bool] = None,
+ release_tag: typing.Optional[str] = None,
+ strict: typing.Optional[bool] = None,
+ version: typing.Optional[str] = None,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[bytes]]]:
+ """
+ Parameters
+ ----------
+ id : str
+ The ID of the Workflow to pull from
+
+ exclude_code : typing.Optional[bool]
+
+ exclude_display : typing.Optional[bool]
+
+ include_json : typing.Optional[bool]
+
+ include_sandbox : typing.Optional[bool]
+
+ release_tag : typing.Optional[str]
+ Release tag to use when pulling from deployment (implies deployment-only lookup)
+
+ strict : typing.Optional[bool]
+
+ version : typing.Optional[str]
+ Semantic version range to validate against the Workflow SDK version (e.g., '>=1.0.0,<1.2.3')
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration. You can pass in configuration such as `chunk_size`, and more to customize the request and response.
+
+ Returns
+ -------
+ typing.AsyncIterator[AsyncHttpResponse[typing.AsyncIterator[bytes]]]
+
+ """
+ async with self._client_wrapper.httpx_client.stream(
+ f"v1/workflows/{jsonable_encoder(id)}/pull",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="GET",
+ params={
+ "exclude_code": exclude_code,
+ "exclude_display": exclude_display,
+ "include_json": include_json,
+ "include_sandbox": include_sandbox,
+ "release_tag": release_tag,
+ "strict": strict,
+ "version": version,
+ },
+ request_options=request_options,
+ ) as _response:
+
+ async def _stream() -> AsyncHttpResponse[typing.AsyncIterator[bytes]]:
+ try:
+ if 200 <= _response.status_code < 300:
+ _chunk_size = request_options.get("chunk_size", None) if request_options is not None else None
+ return AsyncHttpResponse(
+ response=_response,
+ data=(_chunk async for _chunk in _response.aiter_bytes(chunk_size=_chunk_size)),
+ )
+ await _response.aread()
+ if _response.status_code == 400:
+ raise BadRequestError(
+ headers=dict(_response.headers),
+ body=typing.cast(
+ typing.Optional[typing.Any],
+ parse_obj_as(
+ type_=typing.Optional[typing.Any], # type: ignore
+ object_=_response.json(),
+ ),
+ ),
+ )
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.text
+ )
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ yield await _stream()
+
+ async def retrieve_state(
+ self, span_id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[WorkflowResolvedState]:
+ """
+ Retrieve the current state of a workflow execution.
+
+ **Note:** Uses a base url of `https://predict.vellum.ai`.
+
+ Parameters
+ ----------
+ span_id : str
+ The span ID of the workflow execution to retrieve state for
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowResolvedState]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workflows/{jsonable_encoder(span_id)}/state",
+ base_url=self._client_wrapper.get_environment().predict,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowResolvedState,
+ parse_obj_as(
+ type_=WorkflowResolvedState, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def push(
+ self,
+ *,
+ exec_config: WorkflowPushExecConfig,
+ workflow_sandbox_id: typing.Optional[str] = OMIT,
+ deployment_config: typing.Optional[WorkflowPushDeploymentConfigRequest] = OMIT,
+ artifact: typing.Optional[core.File] = OMIT,
+ dataset: typing.Optional[typing.List[DatasetRowPushRequest]] = OMIT,
+ dry_run: typing.Optional[bool] = OMIT,
+ strict: typing.Optional[bool] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[WorkflowPushResponse]:
+ """
+ Parameters
+ ----------
+ exec_config : WorkflowPushExecConfig
+ The execution configuration of the workflow.
+
+ workflow_sandbox_id : typing.Optional[str]
+
+ deployment_config : typing.Optional[WorkflowPushDeploymentConfigRequest]
+
+ artifact : typing.Optional[core.File]
+ See core.File for more documentation
+
+ dataset : typing.Optional[typing.List[DatasetRowPushRequest]]
+ List of dataset rows with inputs for scenarios.
+
+ dry_run : typing.Optional[bool]
+
+ strict : typing.Optional[bool]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkflowPushResponse]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/workflows/push",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ data={
+ "exec_config": exec_config,
+ "workflow_sandbox_id": workflow_sandbox_id,
+ "deployment_config": deployment_config,
+ "dataset": dataset,
+ "dry_run": dry_run,
+ "strict": strict,
+ },
+ files={
+ **({"artifact": artifact} if artifact is not None else {}),
+ },
+ request_options=request_options,
+ omit=OMIT,
+ force_multipart=True,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkflowPushResponse,
+ parse_obj_as(
+ type_=WorkflowPushResponse, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def serialize_workflow_files(
+ self,
+ *,
+ files: typing.Dict[str, typing.Optional[typing.Any]],
+ module: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]:
+ """
+ Serialize files
+
+ Parameters
+ ----------
+ files : typing.Dict[str, typing.Optional[typing.Any]]
+
+ module : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/workflows/serialize",
+ base_url=self._client_wrapper.get_environment().default,
+ method="POST",
+ json={
+ "files": files,
+ "module": module,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ typing.Dict[str, typing.Optional[typing.Any]],
+ parse_obj_as(
+ type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/workspace_secrets/__init__.py b/src/vellum/resources/workspace_secrets/__init__.py
index 371fd218b7..5cde0202dc 100644
--- a/src/vellum/resources/workspace_secrets/__init__.py
+++ b/src/vellum/resources/workspace_secrets/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.workspace_secrets import *
diff --git a/src/vellum/resources/workspace_secrets/client.py b/src/vellum/resources/workspace_secrets/client.py
index b56b88fdf6..20b78d947b 100644
--- a/src/vellum/resources/workspace_secrets/client.py
+++ b/src/vellum/resources/workspace_secrets/client.py
@@ -1,3 +1,211 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workspace_secrets.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.workspace_secret_read import WorkspaceSecretRead
+from .raw_client import AsyncRawWorkspaceSecretsClient, RawWorkspaceSecretsClient
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class WorkspaceSecretsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawWorkspaceSecretsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawWorkspaceSecretsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawWorkspaceSecretsClient
+ """
+ return self._raw_client
+
+ def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> WorkspaceSecretRead:
+ """
+ Used to retrieve a Workspace Secret given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workspace Secret's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkspaceSecretRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workspace_secrets.retrieve(
+ id="id",
+ )
+ """
+ _response = self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ value: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkspaceSecretRead:
+ """
+ Used to update a Workspace Secret given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workspace Secret's ID or its unique name
+
+ label : typing.Optional[str]
+
+ value : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkspaceSecretRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workspace_secrets.partial_update(
+ id="id",
+ )
+ """
+ _response = self._raw_client.partial_update(id, label=label, value=value, request_options=request_options)
+ return _response.data
+
+
+class AsyncWorkspaceSecretsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawWorkspaceSecretsClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawWorkspaceSecretsClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawWorkspaceSecretsClient
+ """
+ return self._raw_client
+
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> WorkspaceSecretRead:
+ """
+ Used to retrieve a Workspace Secret given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workspace Secret's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkspaceSecretRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workspace_secrets.retrieve(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.retrieve(id, request_options=request_options)
+ return _response.data
+
+ async def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ value: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> WorkspaceSecretRead:
+ """
+ Used to update a Workspace Secret given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workspace Secret's ID or its unique name
+
+ label : typing.Optional[str]
+
+ value : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkspaceSecretRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workspace_secrets.partial_update(
+ id="id",
+ )
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.partial_update(id, label=label, value=value, request_options=request_options)
+ return _response.data
diff --git a/src/vellum/resources/workspace_secrets/raw_client.py b/src/vellum/resources/workspace_secrets/raw_client.py
index eeebb06fa0..c564ba3be1 100644
--- a/src/vellum/resources/workspace_secrets/raw_client.py
+++ b/src/vellum/resources/workspace_secrets/raw_client.py
@@ -1,3 +1,219 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workspace_secrets.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.jsonable_encoder import jsonable_encoder
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.workspace_secret_read import WorkspaceSecretRead
+
+# this is used as the default value for optional parameters
+OMIT = typing.cast(typing.Any, ...)
+
+
+class RawWorkspaceSecretsClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[WorkspaceSecretRead]:
+ """
+ Used to retrieve a Workspace Secret given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workspace Secret's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkspaceSecretRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workspace-secrets/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkspaceSecretRead,
+ parse_obj_as(
+ type_=WorkspaceSecretRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ value: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> HttpResponse[WorkspaceSecretRead]:
+ """
+ Used to update a Workspace Secret given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workspace Secret's ID or its unique name
+
+ label : typing.Optional[str]
+
+ value : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkspaceSecretRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ f"v1/workspace-secrets/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PATCH",
+ json={
+ "label": label,
+ "value": value,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkspaceSecretRead,
+ parse_obj_as(
+ type_=WorkspaceSecretRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawWorkspaceSecretsClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def retrieve(
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[WorkspaceSecretRead]:
+ """
+ Used to retrieve a Workspace Secret given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workspace Secret's ID or its unique name
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkspaceSecretRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workspace-secrets/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkspaceSecretRead,
+ parse_obj_as(
+ type_=WorkspaceSecretRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+ async def partial_update(
+ self,
+ id: str,
+ *,
+ label: typing.Optional[str] = OMIT,
+ value: typing.Optional[str] = OMIT,
+ request_options: typing.Optional[RequestOptions] = None,
+ ) -> AsyncHttpResponse[WorkspaceSecretRead]:
+ """
+ Used to update a Workspace Secret given its ID or name.
+
+ Parameters
+ ----------
+ id : str
+ Either the Workspace Secret's ID or its unique name
+
+ label : typing.Optional[str]
+
+ value : typing.Optional[str]
+
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkspaceSecretRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ f"v1/workspace-secrets/{jsonable_encoder(id)}",
+ base_url=self._client_wrapper.get_environment().default,
+ method="PATCH",
+ json={
+ "label": label,
+ "value": value,
+ },
+ headers={
+ "content-type": "application/json",
+ },
+ request_options=request_options,
+ omit=OMIT,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkspaceSecretRead,
+ parse_obj_as(
+ type_=WorkspaceSecretRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/resources/workspaces/__init__.py b/src/vellum/resources/workspaces/__init__.py
index 3bbc682bd8..5cde0202dc 100644
--- a/src/vellum/resources/workspaces/__init__.py
+++ b/src/vellum/resources/workspaces/__init__.py
@@ -1,3 +1,4 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
+
+# isort: skip_file
-from vellum.client.resources.workspaces import *
diff --git a/src/vellum/resources/workspaces/client.py b/src/vellum/resources/workspaces/client.py
index 6c152a511a..e96152b937 100644
--- a/src/vellum/resources/workspaces/client.py
+++ b/src/vellum/resources/workspaces/client.py
@@ -1,3 +1,102 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workspaces.client import *
+import typing
+
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.request_options import RequestOptions
+from ...types.workspace_read import WorkspaceRead
+from .raw_client import AsyncRawWorkspacesClient, RawWorkspacesClient
+
+
+class WorkspacesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._raw_client = RawWorkspacesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> RawWorkspacesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ RawWorkspacesClient
+ """
+ return self._raw_client
+
+ def workspace_identity(self, *, request_options: typing.Optional[RequestOptions] = None) -> WorkspaceRead:
+ """
+ Retrieves information about the active Workspace
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkspaceRead
+
+
+ Examples
+ --------
+ from vellum import Vellum
+
+ client = Vellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+ client.workspaces.workspace_identity()
+ """
+ _response = self._raw_client.workspace_identity(request_options=request_options)
+ return _response.data
+
+
+class AsyncWorkspacesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._raw_client = AsyncRawWorkspacesClient(client_wrapper=client_wrapper)
+
+ @property
+ def with_raw_response(self) -> AsyncRawWorkspacesClient:
+ """
+ Retrieves a raw implementation of this client that returns raw responses.
+
+ Returns
+ -------
+ AsyncRawWorkspacesClient
+ """
+ return self._raw_client
+
+ async def workspace_identity(self, *, request_options: typing.Optional[RequestOptions] = None) -> WorkspaceRead:
+ """
+ Retrieves information about the active Workspace
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ WorkspaceRead
+
+
+ Examples
+ --------
+ import asyncio
+
+ from vellum import AsyncVellum
+
+ client = AsyncVellum(
+ api_version="YOUR_API_VERSION",
+ api_key="YOUR_API_KEY",
+ )
+
+
+ async def main() -> None:
+ await client.workspaces.workspace_identity()
+
+
+ asyncio.run(main())
+ """
+ _response = await self._raw_client.workspace_identity(request_options=request_options)
+ return _response.data
diff --git a/src/vellum/resources/workspaces/raw_client.py b/src/vellum/resources/workspaces/raw_client.py
index 97b2cc69bd..417c02d3d1 100644
--- a/src/vellum/resources/workspaces/raw_client.py
+++ b/src/vellum/resources/workspaces/raw_client.py
@@ -1,3 +1,95 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.resources.workspaces.raw_client import *
+import typing
+from json.decoder import JSONDecodeError
+
+from ...core.api_error import ApiError
+from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
+from ...core.http_response import AsyncHttpResponse, HttpResponse
+from ...core.pydantic_utilities import parse_obj_as
+from ...core.request_options import RequestOptions
+from ...types.workspace_read import WorkspaceRead
+
+
+class RawWorkspacesClient:
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ def workspace_identity(
+ self, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> HttpResponse[WorkspaceRead]:
+ """
+ Retrieves information about the active Workspace
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ HttpResponse[WorkspaceRead]
+
+ """
+ _response = self._client_wrapper.httpx_client.request(
+ "v1/workspaces/identity",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkspaceRead,
+ parse_obj_as(
+ type_=WorkspaceRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return HttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
+
+
+class AsyncRawWorkspacesClient:
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
+ self._client_wrapper = client_wrapper
+
+ async def workspace_identity(
+ self, *, request_options: typing.Optional[RequestOptions] = None
+ ) -> AsyncHttpResponse[WorkspaceRead]:
+ """
+ Retrieves information about the active Workspace
+
+ Parameters
+ ----------
+ request_options : typing.Optional[RequestOptions]
+ Request-specific configuration.
+
+ Returns
+ -------
+ AsyncHttpResponse[WorkspaceRead]
+
+ """
+ _response = await self._client_wrapper.httpx_client.request(
+ "v1/workspaces/identity",
+ base_url=self._client_wrapper.get_environment().default,
+ method="GET",
+ request_options=request_options,
+ )
+ try:
+ if 200 <= _response.status_code < 300:
+ _data = typing.cast(
+ WorkspaceRead,
+ parse_obj_as(
+ type_=WorkspaceRead, # type: ignore
+ object_=_response.json(),
+ ),
+ )
+ return AsyncHttpResponse(response=_response, data=_data)
+ _response_json = _response.json()
+ except JSONDecodeError:
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
diff --git a/src/vellum/types/__init__.py b/src/vellum/types/__init__.py
index d17e497dfc..65f48cfc92 100644
--- a/src/vellum/types/__init__.py
+++ b/src/vellum/types/__init__.py
@@ -1,3 +1,1447 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types import *
+# isort: skip_file
+
+from .ad_hoc_execute_prompt_event import AdHocExecutePromptEvent
+from .ad_hoc_expand_meta import AdHocExpandMeta
+from .ad_hoc_fulfilled_prompt_execution_meta import AdHocFulfilledPromptExecutionMeta
+from .ad_hoc_initiated_prompt_execution_meta import AdHocInitiatedPromptExecutionMeta
+from .ad_hoc_rejected_prompt_execution_meta import AdHocRejectedPromptExecutionMeta
+from .ad_hoc_streaming_prompt_execution_meta import AdHocStreamingPromptExecutionMeta
+from .add_openai_api_key_enum import AddOpenaiApiKeyEnum
+from .api_actor_type_enum import ApiActorTypeEnum
+from .api_node_result import ApiNodeResult
+from .api_node_result_data import ApiNodeResultData
+from .api_request_parent_context import ApiRequestParentContext
+from .api_version_enum import ApiVersionEnum
+from .array_chat_message_content import ArrayChatMessageContent
+from .array_chat_message_content_item import ArrayChatMessageContentItem
+from .array_chat_message_content_item_request import ArrayChatMessageContentItemRequest
+from .array_chat_message_content_request import ArrayChatMessageContentRequest
+from .array_input import ArrayInput
+from .array_vellum_value import ArrayVellumValue
+from .array_vellum_value_request import ArrayVellumValueRequest
+from .audio_chat_message_content import AudioChatMessageContent
+from .audio_chat_message_content_request import AudioChatMessageContentRequest
+from .audio_input import AudioInput
+from .audio_input_request import AudioInputRequest
+from .audio_prompt_block import AudioPromptBlock
+from .audio_vellum_value import AudioVellumValue
+from .audio_vellum_value_request import AudioVellumValueRequest
+from .auth_type_enum import AuthTypeEnum
+from .base_output import BaseOutput
+from .basic_vectorizer_intfloat_multilingual_e_5_large import BasicVectorizerIntfloatMultilingualE5Large
+from .basic_vectorizer_intfloat_multilingual_e_5_large_request import BasicVectorizerIntfloatMultilingualE5LargeRequest
+from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1 import (
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1,
+)
+from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request import (
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request,
+)
+from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1 import (
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1,
+)
+from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request import (
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
+)
+from .build_status_enum import BuildStatusEnum
+from .chat_history_input import ChatHistoryInput
+from .chat_history_input_request import ChatHistoryInputRequest
+from .chat_history_vellum_value import ChatHistoryVellumValue
+from .chat_history_vellum_value_request import ChatHistoryVellumValueRequest
+from .chat_message import ChatMessage
+from .chat_message_content import ChatMessageContent
+from .chat_message_content_request import ChatMessageContentRequest
+from .chat_message_prompt_block import ChatMessagePromptBlock
+from .chat_message_request import ChatMessageRequest
+from .chat_message_role import ChatMessageRole
+from .code_execution_node_array_result import CodeExecutionNodeArrayResult
+from .code_execution_node_chat_history_result import CodeExecutionNodeChatHistoryResult
+from .code_execution_node_error_result import CodeExecutionNodeErrorResult
+from .code_execution_node_function_call_result import CodeExecutionNodeFunctionCallResult
+from .code_execution_node_json_result import CodeExecutionNodeJsonResult
+from .code_execution_node_number_result import CodeExecutionNodeNumberResult
+from .code_execution_node_result import CodeExecutionNodeResult
+from .code_execution_node_result_data import CodeExecutionNodeResultData
+from .code_execution_node_result_output import CodeExecutionNodeResultOutput
+from .code_execution_node_search_results_result import CodeExecutionNodeSearchResultsResult
+from .code_execution_node_string_result import CodeExecutionNodeStringResult
+from .code_execution_package import CodeExecutionPackage
+from .code_execution_runtime import CodeExecutionRuntime
+from .code_executor_input import CodeExecutorInput
+from .code_executor_response import CodeExecutorResponse
+from .code_executor_secret_input import CodeExecutorSecretInput
+from .code_resource_definition import CodeResourceDefinition
+from .compile_prompt_deployment_expand_meta_request import CompilePromptDeploymentExpandMetaRequest
+from .compile_prompt_meta import CompilePromptMeta
+from .components_schemas_composio_execute_tool_request import ComponentsSchemasComposioExecuteToolRequest
+from .components_schemas_composio_execute_tool_response import ComponentsSchemasComposioExecuteToolResponse
+from .components_schemas_composio_integration_exec_config import ComponentsSchemasComposioIntegrationExecConfig
+from .components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
+from .components_schemas_pdf_search_result_meta_source import ComponentsSchemasPdfSearchResultMetaSource
+from .components_schemas_pdf_search_result_meta_source_request import ComponentsSchemasPdfSearchResultMetaSourceRequest
+from .components_schemas_prompt_version_build_config_sandbox import ComponentsSchemasPromptVersionBuildConfigSandbox
+from .components_schemas_slim_composio_tool_definition import ComponentsSchemasSlimComposioToolDefinition
+from .composio_execute_tool_request import ComposioExecuteToolRequest
+from .composio_execute_tool_response import ComposioExecuteToolResponse
+from .composio_integration_exec_config import ComposioIntegrationExecConfig
+from .composio_tool_definition import ComposioToolDefinition
+from .condition_combinator import ConditionCombinator
+from .conditional_node_result import ConditionalNodeResult
+from .conditional_node_result_data import ConditionalNodeResultData
+from .container_image_build_config import ContainerImageBuildConfig
+from .container_image_container_image_tag import ContainerImageContainerImageTag
+from .container_image_read import ContainerImageRead
+from .create_test_suite_test_case_request import CreateTestSuiteTestCaseRequest
+from .create_workflow_event_request import CreateWorkflowEventRequest
+from .dataset_row_push_request import DatasetRowPushRequest
+from .delimiter_chunker_config import DelimiterChunkerConfig
+from .delimiter_chunker_config_request import DelimiterChunkerConfigRequest
+from .delimiter_chunking import DelimiterChunking
+from .delimiter_chunking_request import DelimiterChunkingRequest
+from .deployment_history_item import DeploymentHistoryItem
+from .deployment_provider_payload_response import DeploymentProviderPayloadResponse
+from .deployment_provider_payload_response_payload import DeploymentProviderPayloadResponsePayload
+from .deployment_read import DeploymentRead
+from .deployment_release_tag_deployment_history_item import DeploymentReleaseTagDeploymentHistoryItem
+from .deployment_release_tag_read import DeploymentReleaseTagRead
+from .deprecated_prompt_request_input import DeprecatedPromptRequestInput
+from .docker_service_token import DockerServiceToken
+from .document_chat_message_content import DocumentChatMessageContent
+from .document_chat_message_content_request import DocumentChatMessageContentRequest
+from .document_document_to_document_index import DocumentDocumentToDocumentIndex
+from .document_index_chunking import DocumentIndexChunking
+from .document_index_chunking_request import DocumentIndexChunkingRequest
+from .document_index_indexing_config import DocumentIndexIndexingConfig
+from .document_index_indexing_config_request import DocumentIndexIndexingConfigRequest
+from .document_index_read import DocumentIndexRead
+from .document_input import DocumentInput
+from .document_input_request import DocumentInputRequest
+from .document_processing_state import DocumentProcessingState
+from .document_prompt_block import DocumentPromptBlock
+from .document_read import DocumentRead
+from .document_status import DocumentStatus
+from .document_vellum_value import DocumentVellumValue
+from .document_vellum_value_request import DocumentVellumValueRequest
+from .enriched_normalized_completion import EnrichedNormalizedCompletion
+from .entity_status import EntityStatus
+from .entity_visibility import EntityVisibility
+from .environment_display_config import EnvironmentDisplayConfig
+from .environment_enum import EnvironmentEnum
+from .environment_read import EnvironmentRead
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .ephemeral_prompt_cache_config_type_enum import EphemeralPromptCacheConfigTypeEnum
+from .error_detail_response import ErrorDetailResponse
+from .error_input import ErrorInput
+from .error_vellum_value import ErrorVellumValue
+from .error_vellum_value_request import ErrorVellumValueRequest
+from .event_create_response import EventCreateResponse
+from .execute_api_request_bearer_token import ExecuteApiRequestBearerToken
+from .execute_api_request_body import ExecuteApiRequestBody
+from .execute_api_request_headers_value import ExecuteApiRequestHeadersValue
+from .execute_api_response import ExecuteApiResponse
+from .execute_api_response_json import ExecuteApiResponseJson
+from .execute_prompt_event import ExecutePromptEvent
+from .execute_prompt_response import ExecutePromptResponse
+from .execute_workflow_response import ExecuteWorkflowResponse
+from .execute_workflow_workflow_result_event import ExecuteWorkflowWorkflowResultEvent
+from .execution_array_vellum_value import ExecutionArrayVellumValue
+from .execution_audio_vellum_value import ExecutionAudioVellumValue
+from .execution_chat_history_vellum_value import ExecutionChatHistoryVellumValue
+from .execution_document_vellum_value import ExecutionDocumentVellumValue
+from .execution_error_vellum_value import ExecutionErrorVellumValue
+from .execution_function_call_vellum_value import ExecutionFunctionCallVellumValue
+from .execution_image_vellum_value import ExecutionImageVellumValue
+from .execution_json_vellum_value import ExecutionJsonVellumValue
+from .execution_number_vellum_value import ExecutionNumberVellumValue
+from .execution_search_results_vellum_value import ExecutionSearchResultsVellumValue
+from .execution_string_vellum_value import ExecutionStringVellumValue
+from .execution_thinking_vellum_value import ExecutionThinkingVellumValue
+from .execution_vellum_value import ExecutionVellumValue
+from .execution_video_vellum_value import ExecutionVideoVellumValue
+from .external_input_descriptor import ExternalInputDescriptor
+from .external_parent_context import ExternalParentContext
+from .external_test_case_execution import ExternalTestCaseExecution
+from .external_test_case_execution_request import ExternalTestCaseExecutionRequest
+from .fast_embed_vectorizer_baai_bge_small_en_v_15 import FastEmbedVectorizerBaaiBgeSmallEnV15
+from .fast_embed_vectorizer_baai_bge_small_en_v_15_request import FastEmbedVectorizerBaaiBgeSmallEnV15Request
+from .finish_reason_enum import FinishReasonEnum
+from .folder_entity import FolderEntity
+from .folder_entity_dataset import FolderEntityDataset
+from .folder_entity_dataset_data import FolderEntityDatasetData
+from .folder_entity_document_index import FolderEntityDocumentIndex
+from .folder_entity_document_index_data import FolderEntityDocumentIndexData
+from .folder_entity_folder import FolderEntityFolder
+from .folder_entity_folder_data import FolderEntityFolderData
+from .folder_entity_prompt_sandbox import FolderEntityPromptSandbox
+from .folder_entity_prompt_sandbox_data import FolderEntityPromptSandboxData
+from .folder_entity_test_suite import FolderEntityTestSuite
+from .folder_entity_test_suite_data import FolderEntityTestSuiteData
+from .folder_entity_workflow_sandbox import FolderEntityWorkflowSandbox
+from .folder_entity_workflow_sandbox_data import FolderEntityWorkflowSandboxData
+from .fulfilled_ad_hoc_execute_prompt_event import FulfilledAdHocExecutePromptEvent
+from .fulfilled_execute_prompt_event import FulfilledExecutePromptEvent
+from .fulfilled_execute_prompt_response import FulfilledExecutePromptResponse
+from .fulfilled_execute_workflow_workflow_result_event import FulfilledExecuteWorkflowWorkflowResultEvent
+from .fulfilled_prompt_execution_meta import FulfilledPromptExecutionMeta
+from .fulfilled_workflow_node_result_event import FulfilledWorkflowNodeResultEvent
+from .function_call import FunctionCall
+from .function_call_chat_message_content import FunctionCallChatMessageContent
+from .function_call_chat_message_content_request import FunctionCallChatMessageContentRequest
+from .function_call_chat_message_content_value import FunctionCallChatMessageContentValue
+from .function_call_chat_message_content_value_request import FunctionCallChatMessageContentValueRequest
+from .function_call_input import FunctionCallInput
+from .function_call_prompt_block import FunctionCallPromptBlock
+from .function_call_request import FunctionCallRequest
+from .function_call_vellum_value import FunctionCallVellumValue
+from .function_call_vellum_value_request import FunctionCallVellumValueRequest
+from .function_definition import FunctionDefinition
+from .generate_options_request import GenerateOptionsRequest
+from .generate_request import GenerateRequest
+from .generate_response import GenerateResponse
+from .generate_result import GenerateResult
+from .generate_result_data import GenerateResultData
+from .generate_result_error import GenerateResultError
+from .generate_stream_response import GenerateStreamResponse
+from .generate_stream_result import GenerateStreamResult
+from .generate_stream_result_data import GenerateStreamResultData
+from .google_vertex_ai_vectorizer_config import GoogleVertexAiVectorizerConfig
+from .google_vertex_ai_vectorizer_config_request import GoogleVertexAiVectorizerConfigRequest
+from .google_vertex_ai_vectorizer_gemini_embedding_001 import GoogleVertexAiVectorizerGeminiEmbedding001
+from .google_vertex_ai_vectorizer_gemini_embedding_001_request import GoogleVertexAiVectorizerGeminiEmbedding001Request
+from .google_vertex_ai_vectorizer_text_embedding_004 import GoogleVertexAiVectorizerTextEmbedding004
+from .google_vertex_ai_vectorizer_text_embedding_004_request import GoogleVertexAiVectorizerTextEmbedding004Request
+from .google_vertex_ai_vectorizer_text_multilingual_embedding_002 import (
+ GoogleVertexAiVectorizerTextMultilingualEmbedding002,
+)
+from .google_vertex_ai_vectorizer_text_multilingual_embedding_002_request import (
+ GoogleVertexAiVectorizerTextMultilingualEmbedding002Request,
+)
+from .hkunlp_instructor_xl_vectorizer import HkunlpInstructorXlVectorizer
+from .hkunlp_instructor_xl_vectorizer_request import HkunlpInstructorXlVectorizerRequest
+from .image_chat_message_content import ImageChatMessageContent
+from .image_chat_message_content_request import ImageChatMessageContentRequest
+from .image_input import ImageInput
+from .image_input_request import ImageInputRequest
+from .image_prompt_block import ImagePromptBlock
+from .image_vellum_value import ImageVellumValue
+from .image_vellum_value_request import ImageVellumValueRequest
+from .indexing_config_vectorizer import IndexingConfigVectorizer
+from .indexing_config_vectorizer_request import IndexingConfigVectorizerRequest
+from .indexing_state_enum import IndexingStateEnum
+from .initiated_ad_hoc_execute_prompt_event import InitiatedAdHocExecutePromptEvent
+from .initiated_execute_prompt_event import InitiatedExecutePromptEvent
+from .initiated_prompt_execution_meta import InitiatedPromptExecutionMeta
+from .initiated_workflow_node_result_event import InitiatedWorkflowNodeResultEvent
+from .instructor_vectorizer_config import InstructorVectorizerConfig
+from .instructor_vectorizer_config_request import InstructorVectorizerConfigRequest
+from .integration import Integration
+from .integration_auth_config_integration import IntegrationAuthConfigIntegration
+from .integration_auth_config_integration_credential import IntegrationAuthConfigIntegrationCredential
+from .integration_credential_access_type import IntegrationCredentialAccessType
+from .integration_name import IntegrationName
+from .integration_provider import IntegrationProvider
+from .integration_read import IntegrationRead
+from .integration_trigger_context import IntegrationTriggerContext
+from .invoked_port import InvokedPort
+from .iteration_state_enum import IterationStateEnum
+from .jinja_prompt_block import JinjaPromptBlock
+from .json_input import JsonInput
+from .json_input_request import JsonInputRequest
+from .json_vellum_value import JsonVellumValue
+from .json_vellum_value_request import JsonVellumValueRequest
+from .logical_operator import LogicalOperator
+from .logprobs_enum import LogprobsEnum
+from .map_node_result import MapNodeResult
+from .map_node_result_data import MapNodeResultData
+from .merge_node_result import MergeNodeResult
+from .merge_node_result_data import MergeNodeResultData
+from .metadata_filter_config_request import MetadataFilterConfigRequest
+from .metadata_filter_rule_combinator import MetadataFilterRuleCombinator
+from .metadata_filter_rule_request import MetadataFilterRuleRequest
+from .metadata_filters_request import MetadataFiltersRequest
+from .method_enum import MethodEnum
+from .metric_definition_execution import MetricDefinitionExecution
+from .metric_definition_history_item import MetricDefinitionHistoryItem
+from .metric_definition_input import MetricDefinitionInput
+from .metric_node_result import MetricNodeResult
+from .ml_model_read import MlModelRead
+from .ml_model_usage import MlModelUsage
+from .ml_model_usage_wrapper import MlModelUsageWrapper
+from .named_scenario_input_audio_variable_value_request import NamedScenarioInputAudioVariableValueRequest
+from .named_scenario_input_chat_history_variable_value_request import NamedScenarioInputChatHistoryVariableValueRequest
+from .named_scenario_input_document_variable_value_request import NamedScenarioInputDocumentVariableValueRequest
+from .named_scenario_input_image_variable_value_request import NamedScenarioInputImageVariableValueRequest
+from .named_scenario_input_json_variable_value_request import NamedScenarioInputJsonVariableValueRequest
+from .named_scenario_input_request import NamedScenarioInputRequest
+from .named_scenario_input_string_variable_value_request import NamedScenarioInputStringVariableValueRequest
+from .named_scenario_input_video_variable_value_request import NamedScenarioInputVideoVariableValueRequest
+from .named_test_case_array_variable_value import NamedTestCaseArrayVariableValue
+from .named_test_case_array_variable_value_request import NamedTestCaseArrayVariableValueRequest
+from .named_test_case_audio_variable_value import NamedTestCaseAudioVariableValue
+from .named_test_case_audio_variable_value_request import NamedTestCaseAudioVariableValueRequest
+from .named_test_case_chat_history_variable_value import NamedTestCaseChatHistoryVariableValue
+from .named_test_case_chat_history_variable_value_request import NamedTestCaseChatHistoryVariableValueRequest
+from .named_test_case_document_variable_value import NamedTestCaseDocumentVariableValue
+from .named_test_case_document_variable_value_request import NamedTestCaseDocumentVariableValueRequest
+from .named_test_case_error_variable_value import NamedTestCaseErrorVariableValue
+from .named_test_case_error_variable_value_request import NamedTestCaseErrorVariableValueRequest
+from .named_test_case_function_call_variable_value import NamedTestCaseFunctionCallVariableValue
+from .named_test_case_function_call_variable_value_request import NamedTestCaseFunctionCallVariableValueRequest
+from .named_test_case_image_variable_value import NamedTestCaseImageVariableValue
+from .named_test_case_image_variable_value_request import NamedTestCaseImageVariableValueRequest
+from .named_test_case_json_variable_value import NamedTestCaseJsonVariableValue
+from .named_test_case_json_variable_value_request import NamedTestCaseJsonVariableValueRequest
+from .named_test_case_number_variable_value import NamedTestCaseNumberVariableValue
+from .named_test_case_number_variable_value_request import NamedTestCaseNumberVariableValueRequest
+from .named_test_case_search_results_variable_value import NamedTestCaseSearchResultsVariableValue
+from .named_test_case_search_results_variable_value_request import NamedTestCaseSearchResultsVariableValueRequest
+from .named_test_case_string_variable_value import NamedTestCaseStringVariableValue
+from .named_test_case_string_variable_value_request import NamedTestCaseStringVariableValueRequest
+from .named_test_case_variable_value import NamedTestCaseVariableValue
+from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
+from .named_test_case_video_variable_value import NamedTestCaseVideoVariableValue
+from .named_test_case_video_variable_value_request import NamedTestCaseVideoVariableValueRequest
+from .new_member_join_behavior_enum import NewMemberJoinBehaviorEnum
+from .node_execution_fulfilled_body import NodeExecutionFulfilledBody
+from .node_execution_fulfilled_event import NodeExecutionFulfilledEvent
+from .node_execution_initiated_body import NodeExecutionInitiatedBody
+from .node_execution_initiated_event import NodeExecutionInitiatedEvent
+from .node_execution_paused_body import NodeExecutionPausedBody
+from .node_execution_paused_event import NodeExecutionPausedEvent
+from .node_execution_rejected_body import NodeExecutionRejectedBody
+from .node_execution_rejected_event import NodeExecutionRejectedEvent
+from .node_execution_resumed_body import NodeExecutionResumedBody
+from .node_execution_resumed_event import NodeExecutionResumedEvent
+from .node_execution_span import NodeExecutionSpan
+from .node_execution_span_attributes import NodeExecutionSpanAttributes
+from .node_execution_streaming_body import NodeExecutionStreamingBody
+from .node_execution_streaming_event import NodeExecutionStreamingEvent
+from .node_input_compiled_array_value import NodeInputCompiledArrayValue
+from .node_input_compiled_audio_value import NodeInputCompiledAudioValue
+from .node_input_compiled_chat_history_value import NodeInputCompiledChatHistoryValue
+from .node_input_compiled_document_value import NodeInputCompiledDocumentValue
+from .node_input_compiled_error_value import NodeInputCompiledErrorValue
+from .node_input_compiled_function_call_value import NodeInputCompiledFunctionCallValue
+from .node_input_compiled_image_value import NodeInputCompiledImageValue
+from .node_input_compiled_json_value import NodeInputCompiledJsonValue
+from .node_input_compiled_number_value import NodeInputCompiledNumberValue
+from .node_input_compiled_search_results_value import NodeInputCompiledSearchResultsValue
+from .node_input_compiled_secret_value import NodeInputCompiledSecretValue
+from .node_input_compiled_string_value import NodeInputCompiledStringValue
+from .node_input_compiled_video_value import NodeInputCompiledVideoValue
+from .node_input_variable_compiled_value import NodeInputVariableCompiledValue
+from .node_output_compiled_array_value import NodeOutputCompiledArrayValue
+from .node_output_compiled_chat_history_value import NodeOutputCompiledChatHistoryValue
+from .node_output_compiled_error_value import NodeOutputCompiledErrorValue
+from .node_output_compiled_function_call_value import NodeOutputCompiledFunctionCallValue
+from .node_output_compiled_json_value import NodeOutputCompiledJsonValue
+from .node_output_compiled_number_value import NodeOutputCompiledNumberValue
+from .node_output_compiled_search_results_value import NodeOutputCompiledSearchResultsValue
+from .node_output_compiled_string_value import NodeOutputCompiledStringValue
+from .node_output_compiled_thinking_value import NodeOutputCompiledThinkingValue
+from .node_output_compiled_value import NodeOutputCompiledValue
+from .node_parent_context import NodeParentContext
+from .normalized_log_probs import NormalizedLogProbs
+from .normalized_token_log_probs import NormalizedTokenLogProbs
+from .number_input import NumberInput
+from .number_vellum_value import NumberVellumValue
+from .number_vellum_value_request import NumberVellumValueRequest
+from .open_ai_vectorizer_config import OpenAiVectorizerConfig
+from .open_ai_vectorizer_config_request import OpenAiVectorizerConfigRequest
+from .open_ai_vectorizer_text_embedding_3_large import OpenAiVectorizerTextEmbedding3Large
+from .open_ai_vectorizer_text_embedding_3_large_request import OpenAiVectorizerTextEmbedding3LargeRequest
+from .open_ai_vectorizer_text_embedding_3_small import OpenAiVectorizerTextEmbedding3Small
+from .open_ai_vectorizer_text_embedding_3_small_request import OpenAiVectorizerTextEmbedding3SmallRequest
+from .open_ai_vectorizer_text_embedding_ada_002 import OpenAiVectorizerTextEmbeddingAda002
+from .open_ai_vectorizer_text_embedding_ada_002_request import OpenAiVectorizerTextEmbeddingAda002Request
+from .organization_read import OrganizationRead
+from .paginated_container_image_read_list import PaginatedContainerImageReadList
+from .paginated_deployment_release_tag_read_list import PaginatedDeploymentReleaseTagReadList
+from .paginated_document_index_read_list import PaginatedDocumentIndexReadList
+from .paginated_folder_entity_list import PaginatedFolderEntityList
+from .paginated_slim_deployment_read_list import PaginatedSlimDeploymentReadList
+from .paginated_slim_document_list import PaginatedSlimDocumentList
+from .paginated_slim_integration_auth_config_read_list import PaginatedSlimIntegrationAuthConfigReadList
+from .paginated_slim_integration_read_list import PaginatedSlimIntegrationReadList
+from .paginated_slim_tool_definition_list import PaginatedSlimToolDefinitionList
+from .paginated_slim_workflow_deployment_list import PaginatedSlimWorkflowDeploymentList
+from .paginated_test_suite_run_execution_list import PaginatedTestSuiteRunExecutionList
+from .paginated_test_suite_test_case_list import PaginatedTestSuiteTestCaseList
+from .paginated_workflow_deployment_release_list import PaginatedWorkflowDeploymentReleaseList
+from .paginated_workflow_release_tag_read_list import PaginatedWorkflowReleaseTagReadList
+from .paginated_workflow_sandbox_example_list import PaginatedWorkflowSandboxExampleList
+from .parent_context import ParentContext
+from .pdf_search_result_meta_source import PdfSearchResultMetaSource
+from .pdf_search_result_meta_source_request import PdfSearchResultMetaSourceRequest
+from .plain_text_prompt_block import PlainTextPromptBlock
+from .price import Price
+from .private_vectorizer import PrivateVectorizer
+from .private_vectorizer_request import PrivateVectorizerRequest
+from .processing_failure_reason_enum import ProcessingFailureReasonEnum
+from .prompt_block import PromptBlock
+from .prompt_block_state import PromptBlockState
+from .prompt_deployment_expand_meta_request import PromptDeploymentExpandMetaRequest
+from .prompt_deployment_input_request import PromptDeploymentInputRequest
+from .prompt_deployment_parent_context import PromptDeploymentParentContext
+from .prompt_deployment_release import PromptDeploymentRelease
+from .prompt_deployment_release_prompt_deployment import PromptDeploymentReleasePromptDeployment
+from .prompt_deployment_release_prompt_version import PromptDeploymentReleasePromptVersion
+from .prompt_exec_config import PromptExecConfig
+from .prompt_execution_meta import PromptExecutionMeta
+from .prompt_node_execution_meta import PromptNodeExecutionMeta
+from .prompt_node_result import PromptNodeResult
+from .prompt_node_result_data import PromptNodeResultData
+from .prompt_output import PromptOutput
+from .prompt_parameters import PromptParameters
+from .prompt_push_response import PromptPushResponse
+from .prompt_request_audio_input import PromptRequestAudioInput
+from .prompt_request_chat_history_input import PromptRequestChatHistoryInput
+from .prompt_request_document_input import PromptRequestDocumentInput
+from .prompt_request_image_input import PromptRequestImageInput
+from .prompt_request_input import PromptRequestInput
+from .prompt_request_json_input import PromptRequestJsonInput
+from .prompt_request_string_input import PromptRequestStringInput
+from .prompt_request_video_input import PromptRequestVideoInput
+from .prompt_settings import PromptSettings
+from .prompt_version_build_config_sandbox import PromptVersionBuildConfigSandbox
+from .raw_prompt_execution_overrides_request import RawPromptExecutionOverridesRequest
+from .reducto_chunker_config import ReductoChunkerConfig
+from .reducto_chunker_config_request import ReductoChunkerConfigRequest
+from .reducto_chunking import ReductoChunking
+from .reducto_chunking_request import ReductoChunkingRequest
+from .rejected_ad_hoc_execute_prompt_event import RejectedAdHocExecutePromptEvent
+from .rejected_execute_prompt_event import RejectedExecutePromptEvent
+from .rejected_execute_prompt_response import RejectedExecutePromptResponse
+from .rejected_execute_workflow_workflow_result_event import RejectedExecuteWorkflowWorkflowResultEvent
+from .rejected_prompt_execution_meta import RejectedPromptExecutionMeta
+from .rejected_workflow_node_result_event import RejectedWorkflowNodeResultEvent
+from .release_created_by import ReleaseCreatedBy
+from .release_environment import ReleaseEnvironment
+from .release_release_tag import ReleaseReleaseTag
+from .release_review_reviewer import ReleaseReviewReviewer
+from .release_review_state import ReleaseReviewState
+from .release_tag_release import ReleaseTagRelease
+from .release_tag_source import ReleaseTagSource
+from .replace_test_suite_test_case_request import ReplaceTestSuiteTestCaseRequest
+from .rich_text_child_block import RichTextChildBlock
+from .rich_text_prompt_block import RichTextPromptBlock
+from .sandbox_scenario import SandboxScenario
+from .scenario_input import ScenarioInput
+from .scenario_input_audio_variable_value import ScenarioInputAudioVariableValue
+from .scenario_input_chat_history_variable_value import ScenarioInputChatHistoryVariableValue
+from .scenario_input_document_variable_value import ScenarioInputDocumentVariableValue
+from .scenario_input_image_variable_value import ScenarioInputImageVariableValue
+from .scenario_input_json_variable_value import ScenarioInputJsonVariableValue
+from .scenario_input_string_variable_value import ScenarioInputStringVariableValue
+from .scenario_input_video_variable_value import ScenarioInputVideoVariableValue
+from .scheduled_trigger_context import ScheduledTriggerContext
+from .search_filters_request import SearchFiltersRequest
+from .search_node_result import SearchNodeResult
+from .search_node_result_data import SearchNodeResultData
+from .search_request_options_request import SearchRequestOptionsRequest
+from .search_response import SearchResponse
+from .search_result import SearchResult
+from .search_result_document import SearchResultDocument
+from .search_result_document_request import SearchResultDocumentRequest
+from .search_result_merging_request import SearchResultMergingRequest
+from .search_result_meta import SearchResultMeta
+from .search_result_meta_request import SearchResultMetaRequest
+from .search_result_request import SearchResultRequest
+from .search_results_input import SearchResultsInput
+from .search_results_vellum_value import SearchResultsVellumValue
+from .search_results_vellum_value_request import SearchResultsVellumValueRequest
+from .search_weights_request import SearchWeightsRequest
+from .secret_type_enum import SecretTypeEnum
+from .sentence_chunker_config import SentenceChunkerConfig
+from .sentence_chunker_config_request import SentenceChunkerConfigRequest
+from .sentence_chunking import SentenceChunking
+from .sentence_chunking_request import SentenceChunkingRequest
+from .slim_composio_tool_definition import SlimComposioToolDefinition
+from .slim_deployment_read import SlimDeploymentRead
+from .slim_document import SlimDocument
+from .slim_document_document_to_document_index import SlimDocumentDocumentToDocumentIndex
+from .slim_integration_auth_config_read import SlimIntegrationAuthConfigRead
+from .slim_integration_read import SlimIntegrationRead
+from .slim_release_review import SlimReleaseReview
+from .slim_workflow_deployment import SlimWorkflowDeployment
+from .slim_workflow_execution_read import SlimWorkflowExecutionRead
+from .span_link import SpanLink
+from .span_link_type_enum import SpanLinkTypeEnum
+from .streaming_ad_hoc_execute_prompt_event import StreamingAdHocExecutePromptEvent
+from .streaming_execute_prompt_event import StreamingExecutePromptEvent
+from .streaming_prompt_execution_meta import StreamingPromptExecutionMeta
+from .streaming_workflow_node_result_event import StreamingWorkflowNodeResultEvent
+from .string_chat_message_content import StringChatMessageContent
+from .string_chat_message_content_request import StringChatMessageContentRequest
+from .string_input import StringInput
+from .string_input_request import StringInputRequest
+from .string_vellum_value import StringVellumValue
+from .string_vellum_value_request import StringVellumValueRequest
+from .submit_completion_actual_request import SubmitCompletionActualRequest
+from .submit_workflow_execution_actual_request import SubmitWorkflowExecutionActualRequest
+from .subworkflow_node_result import SubworkflowNodeResult
+from .subworkflow_node_result_data import SubworkflowNodeResultData
+from .templating_node_array_result import TemplatingNodeArrayResult
+from .templating_node_chat_history_result import TemplatingNodeChatHistoryResult
+from .templating_node_error_result import TemplatingNodeErrorResult
+from .templating_node_function_call_result import TemplatingNodeFunctionCallResult
+from .templating_node_json_result import TemplatingNodeJsonResult
+from .templating_node_number_result import TemplatingNodeNumberResult
+from .templating_node_result import TemplatingNodeResult
+from .templating_node_result_data import TemplatingNodeResultData
+from .templating_node_result_output import TemplatingNodeResultOutput
+from .templating_node_search_results_result import TemplatingNodeSearchResultsResult
+from .templating_node_string_result import TemplatingNodeStringResult
+from .terminal_node_array_result import TerminalNodeArrayResult
+from .terminal_node_chat_history_result import TerminalNodeChatHistoryResult
+from .terminal_node_error_result import TerminalNodeErrorResult
+from .terminal_node_function_call_result import TerminalNodeFunctionCallResult
+from .terminal_node_json_result import TerminalNodeJsonResult
+from .terminal_node_number_result import TerminalNodeNumberResult
+from .terminal_node_result import TerminalNodeResult
+from .terminal_node_result_data import TerminalNodeResultData
+from .terminal_node_result_output import TerminalNodeResultOutput
+from .terminal_node_search_results_result import TerminalNodeSearchResultsResult
+from .terminal_node_string_result import TerminalNodeStringResult
+from .test_case_array_variable_value import TestCaseArrayVariableValue
+from .test_case_audio_variable_value import TestCaseAudioVariableValue
+from .test_case_chat_history_variable_value import TestCaseChatHistoryVariableValue
+from .test_case_document_variable_value import TestCaseDocumentVariableValue
+from .test_case_error_variable_value import TestCaseErrorVariableValue
+from .test_case_function_call_variable_value import TestCaseFunctionCallVariableValue
+from .test_case_image_variable_value import TestCaseImageVariableValue
+from .test_case_json_variable_value import TestCaseJsonVariableValue
+from .test_case_number_variable_value import TestCaseNumberVariableValue
+from .test_case_search_results_variable_value import TestCaseSearchResultsVariableValue
+from .test_case_string_variable_value import TestCaseStringVariableValue
+from .test_case_variable_value import TestCaseVariableValue
+from .test_case_video_variable_value import TestCaseVideoVariableValue
+from .test_suite_run_deployment_release_tag_exec_config import TestSuiteRunDeploymentReleaseTagExecConfig
+from .test_suite_run_deployment_release_tag_exec_config_data import TestSuiteRunDeploymentReleaseTagExecConfigData
+from .test_suite_run_deployment_release_tag_exec_config_data_request import (
+ TestSuiteRunDeploymentReleaseTagExecConfigDataRequest,
+)
+from .test_suite_run_deployment_release_tag_exec_config_request import TestSuiteRunDeploymentReleaseTagExecConfigRequest
+from .test_suite_run_exec_config import TestSuiteRunExecConfig
+from .test_suite_run_exec_config_request import TestSuiteRunExecConfigRequest
+from .test_suite_run_execution import TestSuiteRunExecution
+from .test_suite_run_execution_array_output import TestSuiteRunExecutionArrayOutput
+from .test_suite_run_execution_chat_history_output import TestSuiteRunExecutionChatHistoryOutput
+from .test_suite_run_execution_error_output import TestSuiteRunExecutionErrorOutput
+from .test_suite_run_execution_function_call_output import TestSuiteRunExecutionFunctionCallOutput
+from .test_suite_run_execution_json_output import TestSuiteRunExecutionJsonOutput
+from .test_suite_run_execution_metric_definition import TestSuiteRunExecutionMetricDefinition
+from .test_suite_run_execution_metric_result import TestSuiteRunExecutionMetricResult
+from .test_suite_run_execution_number_output import TestSuiteRunExecutionNumberOutput
+from .test_suite_run_execution_output import TestSuiteRunExecutionOutput
+from .test_suite_run_execution_search_results_output import TestSuiteRunExecutionSearchResultsOutput
+from .test_suite_run_execution_string_output import TestSuiteRunExecutionStringOutput
+from .test_suite_run_external_exec_config import TestSuiteRunExternalExecConfig
+from .test_suite_run_external_exec_config_data import TestSuiteRunExternalExecConfigData
+from .test_suite_run_external_exec_config_data_request import TestSuiteRunExternalExecConfigDataRequest
+from .test_suite_run_external_exec_config_request import TestSuiteRunExternalExecConfigRequest
+from .test_suite_run_metric_array_output import TestSuiteRunMetricArrayOutput
+from .test_suite_run_metric_error_output import TestSuiteRunMetricErrorOutput
+from .test_suite_run_metric_json_output import TestSuiteRunMetricJsonOutput
+from .test_suite_run_metric_number_output import TestSuiteRunMetricNumberOutput
+from .test_suite_run_metric_output import TestSuiteRunMetricOutput
+from .test_suite_run_metric_string_output import TestSuiteRunMetricStringOutput
+from .test_suite_run_progress import TestSuiteRunProgress
+from .test_suite_run_prompt_sandbox_exec_config_data_request import TestSuiteRunPromptSandboxExecConfigDataRequest
+from .test_suite_run_prompt_sandbox_exec_config_request import TestSuiteRunPromptSandboxExecConfigRequest
+from .test_suite_run_prompt_sandbox_history_item_exec_config import TestSuiteRunPromptSandboxHistoryItemExecConfig
+from .test_suite_run_prompt_sandbox_history_item_exec_config_data import (
+ TestSuiteRunPromptSandboxHistoryItemExecConfigData,
+)
+from .test_suite_run_prompt_sandbox_history_item_exec_config_data_request import (
+ TestSuiteRunPromptSandboxHistoryItemExecConfigDataRequest,
+)
+from .test_suite_run_prompt_sandbox_history_item_exec_config_request import (
+ TestSuiteRunPromptSandboxHistoryItemExecConfigRequest,
+)
+from .test_suite_run_read import TestSuiteRunRead
+from .test_suite_run_state import TestSuiteRunState
+from .test_suite_run_test_suite import TestSuiteRunTestSuite
+from .test_suite_run_workflow_release_tag_exec_config import TestSuiteRunWorkflowReleaseTagExecConfig
+from .test_suite_run_workflow_release_tag_exec_config_data import TestSuiteRunWorkflowReleaseTagExecConfigData
+from .test_suite_run_workflow_release_tag_exec_config_data_request import (
+ TestSuiteRunWorkflowReleaseTagExecConfigDataRequest,
+)
+from .test_suite_run_workflow_release_tag_exec_config_request import TestSuiteRunWorkflowReleaseTagExecConfigRequest
+from .test_suite_run_workflow_sandbox_exec_config_data_request import TestSuiteRunWorkflowSandboxExecConfigDataRequest
+from .test_suite_run_workflow_sandbox_exec_config_request import TestSuiteRunWorkflowSandboxExecConfigRequest
+from .test_suite_run_workflow_sandbox_history_item_exec_config import TestSuiteRunWorkflowSandboxHistoryItemExecConfig
+from .test_suite_run_workflow_sandbox_history_item_exec_config_data import (
+ TestSuiteRunWorkflowSandboxHistoryItemExecConfigData,
+)
+from .test_suite_run_workflow_sandbox_history_item_exec_config_data_request import (
+ TestSuiteRunWorkflowSandboxHistoryItemExecConfigDataRequest,
+)
+from .test_suite_run_workflow_sandbox_history_item_exec_config_request import (
+ TestSuiteRunWorkflowSandboxHistoryItemExecConfigRequest,
+)
+from .test_suite_test_case import TestSuiteTestCase
+from .test_suite_test_case_bulk_operation_request import TestSuiteTestCaseBulkOperationRequest
+from .test_suite_test_case_bulk_result import TestSuiteTestCaseBulkResult
+from .test_suite_test_case_create_bulk_operation_request import TestSuiteTestCaseCreateBulkOperationRequest
+from .test_suite_test_case_created_bulk_result import TestSuiteTestCaseCreatedBulkResult
+from .test_suite_test_case_created_bulk_result_data import TestSuiteTestCaseCreatedBulkResultData
+from .test_suite_test_case_delete_bulk_operation_data_request import TestSuiteTestCaseDeleteBulkOperationDataRequest
+from .test_suite_test_case_delete_bulk_operation_request import TestSuiteTestCaseDeleteBulkOperationRequest
+from .test_suite_test_case_deleted_bulk_result import TestSuiteTestCaseDeletedBulkResult
+from .test_suite_test_case_deleted_bulk_result_data import TestSuiteTestCaseDeletedBulkResultData
+from .test_suite_test_case_rejected_bulk_result import TestSuiteTestCaseRejectedBulkResult
+from .test_suite_test_case_replace_bulk_operation_request import TestSuiteTestCaseReplaceBulkOperationRequest
+from .test_suite_test_case_replaced_bulk_result import TestSuiteTestCaseReplacedBulkResult
+from .test_suite_test_case_replaced_bulk_result_data import TestSuiteTestCaseReplacedBulkResultData
+from .test_suite_test_case_upsert_bulk_operation_request import TestSuiteTestCaseUpsertBulkOperationRequest
+from .thinking_vellum_value import ThinkingVellumValue
+from .thinking_vellum_value_request import ThinkingVellumValueRequest
+from .token_overlapping_window_chunker_config import TokenOverlappingWindowChunkerConfig
+from .token_overlapping_window_chunker_config_request import TokenOverlappingWindowChunkerConfigRequest
+from .token_overlapping_window_chunking import TokenOverlappingWindowChunking
+from .token_overlapping_window_chunking_request import TokenOverlappingWindowChunkingRequest
+from .unit_enum import UnitEnum
+from .update_active_workspace_response import UpdateActiveWorkspaceResponse
+from .upload_document_response import UploadDocumentResponse
+from .uploaded_file_read import UploadedFileRead
+from .upsert_test_suite_test_case_request import UpsertTestSuiteTestCaseRequest
+from .variable_prompt_block import VariablePromptBlock
+from .vellum_audio import VellumAudio
+from .vellum_audio_request import VellumAudioRequest
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+from .vellum_document import VellumDocument
+from .vellum_document_request import VellumDocumentRequest
+from .vellum_error import VellumError
+from .vellum_error_code_enum import VellumErrorCodeEnum
+from .vellum_error_request import VellumErrorRequest
+from .vellum_image import VellumImage
+from .vellum_image_request import VellumImageRequest
+from .vellum_node_execution_event import VellumNodeExecutionEvent
+from .vellum_sdk_error import VellumSdkError
+from .vellum_sdk_error_code_enum import VellumSdkErrorCodeEnum
+from .vellum_secret import VellumSecret
+from .vellum_span import VellumSpan
+from .vellum_value import VellumValue
+from .vellum_value_logical_condition_group_request import VellumValueLogicalConditionGroupRequest
+from .vellum_value_logical_condition_request import VellumValueLogicalConditionRequest
+from .vellum_value_logical_expression_request import VellumValueLogicalExpressionRequest
+from .vellum_value_request import VellumValueRequest
+from .vellum_variable import VellumVariable
+from .vellum_variable_extensions import VellumVariableExtensions
+from .vellum_variable_type import VellumVariableType
+from .vellum_video import VellumVideo
+from .vellum_video_request import VellumVideoRequest
+from .vellum_workflow_execution_event import VellumWorkflowExecutionEvent
+from .video_chat_message_content import VideoChatMessageContent
+from .video_chat_message_content_request import VideoChatMessageContentRequest
+from .video_input import VideoInput
+from .video_input_request import VideoInputRequest
+from .video_prompt_block import VideoPromptBlock
+from .video_vellum_value import VideoVellumValue
+from .video_vellum_value_request import VideoVellumValueRequest
+from .workflow_deployment_display_data import WorkflowDeploymentDisplayData
+from .workflow_deployment_event_executions_response import WorkflowDeploymentEventExecutionsResponse
+from .workflow_deployment_history_item import WorkflowDeploymentHistoryItem
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
+from .workflow_deployment_read import WorkflowDeploymentRead
+from .workflow_deployment_release import WorkflowDeploymentRelease
+from .workflow_deployment_release_workflow_deployment import WorkflowDeploymentReleaseWorkflowDeployment
+from .workflow_deployment_release_workflow_version import WorkflowDeploymentReleaseWorkflowVersion
+from .workflow_display_icon import WorkflowDisplayIcon
+from .workflow_error import WorkflowError
+from .workflow_event import WorkflowEvent
+from .workflow_event_error import WorkflowEventError
+from .workflow_event_execution_read import WorkflowEventExecutionRead
+from .workflow_execution_actual import WorkflowExecutionActual
+from .workflow_execution_actual_chat_history_request import WorkflowExecutionActualChatHistoryRequest
+from .workflow_execution_actual_json_request import WorkflowExecutionActualJsonRequest
+from .workflow_execution_actual_string_request import WorkflowExecutionActualStringRequest
+from .workflow_execution_detail import WorkflowExecutionDetail
+from .workflow_execution_event_error_code import WorkflowExecutionEventErrorCode
+from .workflow_execution_event_type import WorkflowExecutionEventType
+from .workflow_execution_fulfilled_body import WorkflowExecutionFulfilledBody
+from .workflow_execution_fulfilled_event import WorkflowExecutionFulfilledEvent
+from .workflow_execution_initiated_body import WorkflowExecutionInitiatedBody
+from .workflow_execution_initiated_event import WorkflowExecutionInitiatedEvent
+from .workflow_execution_node_result_event import WorkflowExecutionNodeResultEvent
+from .workflow_execution_paused_body import WorkflowExecutionPausedBody
+from .workflow_execution_paused_event import WorkflowExecutionPausedEvent
+from .workflow_execution_rejected_body import WorkflowExecutionRejectedBody
+from .workflow_execution_rejected_event import WorkflowExecutionRejectedEvent
+from .workflow_execution_resumed_body import WorkflowExecutionResumedBody
+from .workflow_execution_resumed_event import WorkflowExecutionResumedEvent
+from .workflow_execution_snapshotted_body import WorkflowExecutionSnapshottedBody
+from .workflow_execution_snapshotted_event import WorkflowExecutionSnapshottedEvent
+from .workflow_execution_span import WorkflowExecutionSpan
+from .workflow_execution_span_attributes import WorkflowExecutionSpanAttributes
+from .workflow_execution_streaming_body import WorkflowExecutionStreamingBody
+from .workflow_execution_streaming_event import WorkflowExecutionStreamingEvent
+from .workflow_execution_usage_calculation_error import WorkflowExecutionUsageCalculationError
+from .workflow_execution_usage_calculation_error_code_enum import WorkflowExecutionUsageCalculationErrorCodeEnum
+from .workflow_execution_usage_calculation_fulfilled_body import WorkflowExecutionUsageCalculationFulfilledBody
+from .workflow_execution_usage_result import WorkflowExecutionUsageResult
+from .workflow_execution_view_online_eval_metric_result import WorkflowExecutionViewOnlineEvalMetricResult
+from .workflow_execution_workflow_result_event import WorkflowExecutionWorkflowResultEvent
+from .workflow_expand_meta_request import WorkflowExpandMetaRequest
+from .workflow_initialization_error import WorkflowInitializationError
+from .workflow_input import WorkflowInput
+from .workflow_node_result_data import WorkflowNodeResultData
+from .workflow_node_result_event import WorkflowNodeResultEvent
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+from .workflow_output import WorkflowOutput
+from .workflow_output_array import WorkflowOutputArray
+from .workflow_output_audio import WorkflowOutputAudio
+from .workflow_output_chat_history import WorkflowOutputChatHistory
+from .workflow_output_document import WorkflowOutputDocument
+from .workflow_output_error import WorkflowOutputError
+from .workflow_output_function_call import WorkflowOutputFunctionCall
+from .workflow_output_image import WorkflowOutputImage
+from .workflow_output_json import WorkflowOutputJson
+from .workflow_output_number import WorkflowOutputNumber
+from .workflow_output_search_results import WorkflowOutputSearchResults
+from .workflow_output_string import WorkflowOutputString
+from .workflow_output_video import WorkflowOutputVideo
+from .workflow_parent_context import WorkflowParentContext
+from .workflow_push_deployment_config_request import WorkflowPushDeploymentConfigRequest
+from .workflow_push_exec_config import WorkflowPushExecConfig
+from .workflow_push_response import WorkflowPushResponse
+from .workflow_release_tag_read import WorkflowReleaseTagRead
+from .workflow_release_tag_workflow_deployment_history_item import WorkflowReleaseTagWorkflowDeploymentHistoryItem
+from .workflow_request_audio_input_request import WorkflowRequestAudioInputRequest
+from .workflow_request_chat_history_input_request import WorkflowRequestChatHistoryInputRequest
+from .workflow_request_document_input_request import WorkflowRequestDocumentInputRequest
+from .workflow_request_image_input_request import WorkflowRequestImageInputRequest
+from .workflow_request_input_request import WorkflowRequestInputRequest
+from .workflow_request_json_input_request import WorkflowRequestJsonInputRequest
+from .workflow_request_number_input_request import WorkflowRequestNumberInputRequest
+from .workflow_request_string_input_request import WorkflowRequestStringInputRequest
+from .workflow_request_video_input_request import WorkflowRequestVideoInputRequest
+from .workflow_resolved_state import WorkflowResolvedState
+from .workflow_result_event import WorkflowResultEvent
+from .workflow_result_event_output_data import WorkflowResultEventOutputData
+from .workflow_result_event_output_data_array import WorkflowResultEventOutputDataArray
+from .workflow_result_event_output_data_chat_history import WorkflowResultEventOutputDataChatHistory
+from .workflow_result_event_output_data_error import WorkflowResultEventOutputDataError
+from .workflow_result_event_output_data_function_call import WorkflowResultEventOutputDataFunctionCall
+from .workflow_result_event_output_data_json import WorkflowResultEventOutputDataJson
+from .workflow_result_event_output_data_number import WorkflowResultEventOutputDataNumber
+from .workflow_result_event_output_data_search_results import WorkflowResultEventOutputDataSearchResults
+from .workflow_result_event_output_data_string import WorkflowResultEventOutputDataString
+from .workflow_sandbox_display_data import WorkflowSandboxDisplayData
+from .workflow_sandbox_example import WorkflowSandboxExample
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
+from .workflow_stream_event import WorkflowStreamEvent
+from .workspace_display_config import WorkspaceDisplayConfig
+from .workspace_read import WorkspaceRead
+from .workspace_secret_read import WorkspaceSecretRead
+
+__all__ = [
+ "AdHocExecutePromptEvent",
+ "AdHocExpandMeta",
+ "AdHocFulfilledPromptExecutionMeta",
+ "AdHocInitiatedPromptExecutionMeta",
+ "AdHocRejectedPromptExecutionMeta",
+ "AdHocStreamingPromptExecutionMeta",
+ "AddOpenaiApiKeyEnum",
+ "ApiActorTypeEnum",
+ "ApiNodeResult",
+ "ApiNodeResultData",
+ "ApiRequestParentContext",
+ "ApiVersionEnum",
+ "ArrayChatMessageContent",
+ "ArrayChatMessageContentItem",
+ "ArrayChatMessageContentItemRequest",
+ "ArrayChatMessageContentRequest",
+ "ArrayInput",
+ "ArrayVellumValue",
+ "ArrayVellumValueRequest",
+ "AudioChatMessageContent",
+ "AudioChatMessageContentRequest",
+ "AudioInput",
+ "AudioInputRequest",
+ "AudioPromptBlock",
+ "AudioVellumValue",
+ "AudioVellumValueRequest",
+ "AuthTypeEnum",
+ "BaseOutput",
+ "BasicVectorizerIntfloatMultilingualE5Large",
+ "BasicVectorizerIntfloatMultilingualE5LargeRequest",
+ "BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1",
+ "BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request",
+ "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1",
+ "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request",
+ "BuildStatusEnum",
+ "ChatHistoryInput",
+ "ChatHistoryInputRequest",
+ "ChatHistoryVellumValue",
+ "ChatHistoryVellumValueRequest",
+ "ChatMessage",
+ "ChatMessageContent",
+ "ChatMessageContentRequest",
+ "ChatMessagePromptBlock",
+ "ChatMessageRequest",
+ "ChatMessageRole",
+ "CodeExecutionNodeArrayResult",
+ "CodeExecutionNodeChatHistoryResult",
+ "CodeExecutionNodeErrorResult",
+ "CodeExecutionNodeFunctionCallResult",
+ "CodeExecutionNodeJsonResult",
+ "CodeExecutionNodeNumberResult",
+ "CodeExecutionNodeResult",
+ "CodeExecutionNodeResultData",
+ "CodeExecutionNodeResultOutput",
+ "CodeExecutionNodeSearchResultsResult",
+ "CodeExecutionNodeStringResult",
+ "CodeExecutionPackage",
+ "CodeExecutionRuntime",
+ "CodeExecutorInput",
+ "CodeExecutorResponse",
+ "CodeExecutorSecretInput",
+ "CodeResourceDefinition",
+ "CompilePromptDeploymentExpandMetaRequest",
+ "CompilePromptMeta",
+ "ComponentsSchemasComposioExecuteToolRequest",
+ "ComponentsSchemasComposioExecuteToolResponse",
+ "ComponentsSchemasComposioIntegrationExecConfig",
+ "ComponentsSchemasComposioToolDefinition",
+ "ComponentsSchemasPdfSearchResultMetaSource",
+ "ComponentsSchemasPdfSearchResultMetaSourceRequest",
+ "ComponentsSchemasPromptVersionBuildConfigSandbox",
+ "ComponentsSchemasSlimComposioToolDefinition",
+ "ComposioExecuteToolRequest",
+ "ComposioExecuteToolResponse",
+ "ComposioIntegrationExecConfig",
+ "ComposioToolDefinition",
+ "ConditionCombinator",
+ "ConditionalNodeResult",
+ "ConditionalNodeResultData",
+ "ContainerImageBuildConfig",
+ "ContainerImageContainerImageTag",
+ "ContainerImageRead",
+ "CreateTestSuiteTestCaseRequest",
+ "CreateWorkflowEventRequest",
+ "DatasetRowPushRequest",
+ "DelimiterChunkerConfig",
+ "DelimiterChunkerConfigRequest",
+ "DelimiterChunking",
+ "DelimiterChunkingRequest",
+ "DeploymentHistoryItem",
+ "DeploymentProviderPayloadResponse",
+ "DeploymentProviderPayloadResponsePayload",
+ "DeploymentRead",
+ "DeploymentReleaseTagDeploymentHistoryItem",
+ "DeploymentReleaseTagRead",
+ "DeprecatedPromptRequestInput",
+ "DockerServiceToken",
+ "DocumentChatMessageContent",
+ "DocumentChatMessageContentRequest",
+ "DocumentDocumentToDocumentIndex",
+ "DocumentIndexChunking",
+ "DocumentIndexChunkingRequest",
+ "DocumentIndexIndexingConfig",
+ "DocumentIndexIndexingConfigRequest",
+ "DocumentIndexRead",
+ "DocumentInput",
+ "DocumentInputRequest",
+ "DocumentProcessingState",
+ "DocumentPromptBlock",
+ "DocumentRead",
+ "DocumentStatus",
+ "DocumentVellumValue",
+ "DocumentVellumValueRequest",
+ "EnrichedNormalizedCompletion",
+ "EntityStatus",
+ "EntityVisibility",
+ "EnvironmentDisplayConfig",
+ "EnvironmentEnum",
+ "EnvironmentRead",
+ "EphemeralPromptCacheConfig",
+ "EphemeralPromptCacheConfigTypeEnum",
+ "ErrorDetailResponse",
+ "ErrorInput",
+ "ErrorVellumValue",
+ "ErrorVellumValueRequest",
+ "EventCreateResponse",
+ "ExecuteApiRequestBearerToken",
+ "ExecuteApiRequestBody",
+ "ExecuteApiRequestHeadersValue",
+ "ExecuteApiResponse",
+ "ExecuteApiResponseJson",
+ "ExecutePromptEvent",
+ "ExecutePromptResponse",
+ "ExecuteWorkflowResponse",
+ "ExecuteWorkflowWorkflowResultEvent",
+ "ExecutionArrayVellumValue",
+ "ExecutionAudioVellumValue",
+ "ExecutionChatHistoryVellumValue",
+ "ExecutionDocumentVellumValue",
+ "ExecutionErrorVellumValue",
+ "ExecutionFunctionCallVellumValue",
+ "ExecutionImageVellumValue",
+ "ExecutionJsonVellumValue",
+ "ExecutionNumberVellumValue",
+ "ExecutionSearchResultsVellumValue",
+ "ExecutionStringVellumValue",
+ "ExecutionThinkingVellumValue",
+ "ExecutionVellumValue",
+ "ExecutionVideoVellumValue",
+ "ExternalInputDescriptor",
+ "ExternalParentContext",
+ "ExternalTestCaseExecution",
+ "ExternalTestCaseExecutionRequest",
+ "FastEmbedVectorizerBaaiBgeSmallEnV15",
+ "FastEmbedVectorizerBaaiBgeSmallEnV15Request",
+ "FinishReasonEnum",
+ "FolderEntity",
+ "FolderEntityDataset",
+ "FolderEntityDatasetData",
+ "FolderEntityDocumentIndex",
+ "FolderEntityDocumentIndexData",
+ "FolderEntityFolder",
+ "FolderEntityFolderData",
+ "FolderEntityPromptSandbox",
+ "FolderEntityPromptSandboxData",
+ "FolderEntityTestSuite",
+ "FolderEntityTestSuiteData",
+ "FolderEntityWorkflowSandbox",
+ "FolderEntityWorkflowSandboxData",
+ "FulfilledAdHocExecutePromptEvent",
+ "FulfilledExecutePromptEvent",
+ "FulfilledExecutePromptResponse",
+ "FulfilledExecuteWorkflowWorkflowResultEvent",
+ "FulfilledPromptExecutionMeta",
+ "FulfilledWorkflowNodeResultEvent",
+ "FunctionCall",
+ "FunctionCallChatMessageContent",
+ "FunctionCallChatMessageContentRequest",
+ "FunctionCallChatMessageContentValue",
+ "FunctionCallChatMessageContentValueRequest",
+ "FunctionCallInput",
+ "FunctionCallPromptBlock",
+ "FunctionCallRequest",
+ "FunctionCallVellumValue",
+ "FunctionCallVellumValueRequest",
+ "FunctionDefinition",
+ "GenerateOptionsRequest",
+ "GenerateRequest",
+ "GenerateResponse",
+ "GenerateResult",
+ "GenerateResultData",
+ "GenerateResultError",
+ "GenerateStreamResponse",
+ "GenerateStreamResult",
+ "GenerateStreamResultData",
+ "GoogleVertexAiVectorizerConfig",
+ "GoogleVertexAiVectorizerConfigRequest",
+ "GoogleVertexAiVectorizerGeminiEmbedding001",
+ "GoogleVertexAiVectorizerGeminiEmbedding001Request",
+ "GoogleVertexAiVectorizerTextEmbedding004",
+ "GoogleVertexAiVectorizerTextEmbedding004Request",
+ "GoogleVertexAiVectorizerTextMultilingualEmbedding002",
+ "GoogleVertexAiVectorizerTextMultilingualEmbedding002Request",
+ "HkunlpInstructorXlVectorizer",
+ "HkunlpInstructorXlVectorizerRequest",
+ "ImageChatMessageContent",
+ "ImageChatMessageContentRequest",
+ "ImageInput",
+ "ImageInputRequest",
+ "ImagePromptBlock",
+ "ImageVellumValue",
+ "ImageVellumValueRequest",
+ "IndexingConfigVectorizer",
+ "IndexingConfigVectorizerRequest",
+ "IndexingStateEnum",
+ "InitiatedAdHocExecutePromptEvent",
+ "InitiatedExecutePromptEvent",
+ "InitiatedPromptExecutionMeta",
+ "InitiatedWorkflowNodeResultEvent",
+ "InstructorVectorizerConfig",
+ "InstructorVectorizerConfigRequest",
+ "Integration",
+ "IntegrationAuthConfigIntegration",
+ "IntegrationAuthConfigIntegrationCredential",
+ "IntegrationCredentialAccessType",
+ "IntegrationName",
+ "IntegrationProvider",
+ "IntegrationRead",
+ "IntegrationTriggerContext",
+ "InvokedPort",
+ "IterationStateEnum",
+ "JinjaPromptBlock",
+ "JsonInput",
+ "JsonInputRequest",
+ "JsonVellumValue",
+ "JsonVellumValueRequest",
+ "LogicalOperator",
+ "LogprobsEnum",
+ "MapNodeResult",
+ "MapNodeResultData",
+ "MergeNodeResult",
+ "MergeNodeResultData",
+ "MetadataFilterConfigRequest",
+ "MetadataFilterRuleCombinator",
+ "MetadataFilterRuleRequest",
+ "MetadataFiltersRequest",
+ "MethodEnum",
+ "MetricDefinitionExecution",
+ "MetricDefinitionHistoryItem",
+ "MetricDefinitionInput",
+ "MetricNodeResult",
+ "MlModelRead",
+ "MlModelUsage",
+ "MlModelUsageWrapper",
+ "NamedScenarioInputAudioVariableValueRequest",
+ "NamedScenarioInputChatHistoryVariableValueRequest",
+ "NamedScenarioInputDocumentVariableValueRequest",
+ "NamedScenarioInputImageVariableValueRequest",
+ "NamedScenarioInputJsonVariableValueRequest",
+ "NamedScenarioInputRequest",
+ "NamedScenarioInputStringVariableValueRequest",
+ "NamedScenarioInputVideoVariableValueRequest",
+ "NamedTestCaseArrayVariableValue",
+ "NamedTestCaseArrayVariableValueRequest",
+ "NamedTestCaseAudioVariableValue",
+ "NamedTestCaseAudioVariableValueRequest",
+ "NamedTestCaseChatHistoryVariableValue",
+ "NamedTestCaseChatHistoryVariableValueRequest",
+ "NamedTestCaseDocumentVariableValue",
+ "NamedTestCaseDocumentVariableValueRequest",
+ "NamedTestCaseErrorVariableValue",
+ "NamedTestCaseErrorVariableValueRequest",
+ "NamedTestCaseFunctionCallVariableValue",
+ "NamedTestCaseFunctionCallVariableValueRequest",
+ "NamedTestCaseImageVariableValue",
+ "NamedTestCaseImageVariableValueRequest",
+ "NamedTestCaseJsonVariableValue",
+ "NamedTestCaseJsonVariableValueRequest",
+ "NamedTestCaseNumberVariableValue",
+ "NamedTestCaseNumberVariableValueRequest",
+ "NamedTestCaseSearchResultsVariableValue",
+ "NamedTestCaseSearchResultsVariableValueRequest",
+ "NamedTestCaseStringVariableValue",
+ "NamedTestCaseStringVariableValueRequest",
+ "NamedTestCaseVariableValue",
+ "NamedTestCaseVariableValueRequest",
+ "NamedTestCaseVideoVariableValue",
+ "NamedTestCaseVideoVariableValueRequest",
+ "NewMemberJoinBehaviorEnum",
+ "NodeExecutionFulfilledBody",
+ "NodeExecutionFulfilledEvent",
+ "NodeExecutionInitiatedBody",
+ "NodeExecutionInitiatedEvent",
+ "NodeExecutionPausedBody",
+ "NodeExecutionPausedEvent",
+ "NodeExecutionRejectedBody",
+ "NodeExecutionRejectedEvent",
+ "NodeExecutionResumedBody",
+ "NodeExecutionResumedEvent",
+ "NodeExecutionSpan",
+ "NodeExecutionSpanAttributes",
+ "NodeExecutionStreamingBody",
+ "NodeExecutionStreamingEvent",
+ "NodeInputCompiledArrayValue",
+ "NodeInputCompiledAudioValue",
+ "NodeInputCompiledChatHistoryValue",
+ "NodeInputCompiledDocumentValue",
+ "NodeInputCompiledErrorValue",
+ "NodeInputCompiledFunctionCallValue",
+ "NodeInputCompiledImageValue",
+ "NodeInputCompiledJsonValue",
+ "NodeInputCompiledNumberValue",
+ "NodeInputCompiledSearchResultsValue",
+ "NodeInputCompiledSecretValue",
+ "NodeInputCompiledStringValue",
+ "NodeInputCompiledVideoValue",
+ "NodeInputVariableCompiledValue",
+ "NodeOutputCompiledArrayValue",
+ "NodeOutputCompiledChatHistoryValue",
+ "NodeOutputCompiledErrorValue",
+ "NodeOutputCompiledFunctionCallValue",
+ "NodeOutputCompiledJsonValue",
+ "NodeOutputCompiledNumberValue",
+ "NodeOutputCompiledSearchResultsValue",
+ "NodeOutputCompiledStringValue",
+ "NodeOutputCompiledThinkingValue",
+ "NodeOutputCompiledValue",
+ "NodeParentContext",
+ "NormalizedLogProbs",
+ "NormalizedTokenLogProbs",
+ "NumberInput",
+ "NumberVellumValue",
+ "NumberVellumValueRequest",
+ "OpenAiVectorizerConfig",
+ "OpenAiVectorizerConfigRequest",
+ "OpenAiVectorizerTextEmbedding3Large",
+ "OpenAiVectorizerTextEmbedding3LargeRequest",
+ "OpenAiVectorizerTextEmbedding3Small",
+ "OpenAiVectorizerTextEmbedding3SmallRequest",
+ "OpenAiVectorizerTextEmbeddingAda002",
+ "OpenAiVectorizerTextEmbeddingAda002Request",
+ "OrganizationRead",
+ "PaginatedContainerImageReadList",
+ "PaginatedDeploymentReleaseTagReadList",
+ "PaginatedDocumentIndexReadList",
+ "PaginatedFolderEntityList",
+ "PaginatedSlimDeploymentReadList",
+ "PaginatedSlimDocumentList",
+ "PaginatedSlimIntegrationAuthConfigReadList",
+ "PaginatedSlimIntegrationReadList",
+ "PaginatedSlimToolDefinitionList",
+ "PaginatedSlimWorkflowDeploymentList",
+ "PaginatedTestSuiteRunExecutionList",
+ "PaginatedTestSuiteTestCaseList",
+ "PaginatedWorkflowDeploymentReleaseList",
+ "PaginatedWorkflowReleaseTagReadList",
+ "PaginatedWorkflowSandboxExampleList",
+ "ParentContext",
+ "PdfSearchResultMetaSource",
+ "PdfSearchResultMetaSourceRequest",
+ "PlainTextPromptBlock",
+ "Price",
+ "PrivateVectorizer",
+ "PrivateVectorizerRequest",
+ "ProcessingFailureReasonEnum",
+ "PromptBlock",
+ "PromptBlockState",
+ "PromptDeploymentExpandMetaRequest",
+ "PromptDeploymentInputRequest",
+ "PromptDeploymentParentContext",
+ "PromptDeploymentRelease",
+ "PromptDeploymentReleasePromptDeployment",
+ "PromptDeploymentReleasePromptVersion",
+ "PromptExecConfig",
+ "PromptExecutionMeta",
+ "PromptNodeExecutionMeta",
+ "PromptNodeResult",
+ "PromptNodeResultData",
+ "PromptOutput",
+ "PromptParameters",
+ "PromptPushResponse",
+ "PromptRequestAudioInput",
+ "PromptRequestChatHistoryInput",
+ "PromptRequestDocumentInput",
+ "PromptRequestImageInput",
+ "PromptRequestInput",
+ "PromptRequestJsonInput",
+ "PromptRequestStringInput",
+ "PromptRequestVideoInput",
+ "PromptSettings",
+ "PromptVersionBuildConfigSandbox",
+ "RawPromptExecutionOverridesRequest",
+ "ReductoChunkerConfig",
+ "ReductoChunkerConfigRequest",
+ "ReductoChunking",
+ "ReductoChunkingRequest",
+ "RejectedAdHocExecutePromptEvent",
+ "RejectedExecutePromptEvent",
+ "RejectedExecutePromptResponse",
+ "RejectedExecuteWorkflowWorkflowResultEvent",
+ "RejectedPromptExecutionMeta",
+ "RejectedWorkflowNodeResultEvent",
+ "ReleaseCreatedBy",
+ "ReleaseEnvironment",
+ "ReleaseReleaseTag",
+ "ReleaseReviewReviewer",
+ "ReleaseReviewState",
+ "ReleaseTagRelease",
+ "ReleaseTagSource",
+ "ReplaceTestSuiteTestCaseRequest",
+ "RichTextChildBlock",
+ "RichTextPromptBlock",
+ "SandboxScenario",
+ "ScenarioInput",
+ "ScenarioInputAudioVariableValue",
+ "ScenarioInputChatHistoryVariableValue",
+ "ScenarioInputDocumentVariableValue",
+ "ScenarioInputImageVariableValue",
+ "ScenarioInputJsonVariableValue",
+ "ScenarioInputStringVariableValue",
+ "ScenarioInputVideoVariableValue",
+ "ScheduledTriggerContext",
+ "SearchFiltersRequest",
+ "SearchNodeResult",
+ "SearchNodeResultData",
+ "SearchRequestOptionsRequest",
+ "SearchResponse",
+ "SearchResult",
+ "SearchResultDocument",
+ "SearchResultDocumentRequest",
+ "SearchResultMergingRequest",
+ "SearchResultMeta",
+ "SearchResultMetaRequest",
+ "SearchResultRequest",
+ "SearchResultsInput",
+ "SearchResultsVellumValue",
+ "SearchResultsVellumValueRequest",
+ "SearchWeightsRequest",
+ "SecretTypeEnum",
+ "SentenceChunkerConfig",
+ "SentenceChunkerConfigRequest",
+ "SentenceChunking",
+ "SentenceChunkingRequest",
+ "SlimComposioToolDefinition",
+ "SlimDeploymentRead",
+ "SlimDocument",
+ "SlimDocumentDocumentToDocumentIndex",
+ "SlimIntegrationAuthConfigRead",
+ "SlimIntegrationRead",
+ "SlimReleaseReview",
+ "SlimWorkflowDeployment",
+ "SlimWorkflowExecutionRead",
+ "SpanLink",
+ "SpanLinkTypeEnum",
+ "StreamingAdHocExecutePromptEvent",
+ "StreamingExecutePromptEvent",
+ "StreamingPromptExecutionMeta",
+ "StreamingWorkflowNodeResultEvent",
+ "StringChatMessageContent",
+ "StringChatMessageContentRequest",
+ "StringInput",
+ "StringInputRequest",
+ "StringVellumValue",
+ "StringVellumValueRequest",
+ "SubmitCompletionActualRequest",
+ "SubmitWorkflowExecutionActualRequest",
+ "SubworkflowNodeResult",
+ "SubworkflowNodeResultData",
+ "TemplatingNodeArrayResult",
+ "TemplatingNodeChatHistoryResult",
+ "TemplatingNodeErrorResult",
+ "TemplatingNodeFunctionCallResult",
+ "TemplatingNodeJsonResult",
+ "TemplatingNodeNumberResult",
+ "TemplatingNodeResult",
+ "TemplatingNodeResultData",
+ "TemplatingNodeResultOutput",
+ "TemplatingNodeSearchResultsResult",
+ "TemplatingNodeStringResult",
+ "TerminalNodeArrayResult",
+ "TerminalNodeChatHistoryResult",
+ "TerminalNodeErrorResult",
+ "TerminalNodeFunctionCallResult",
+ "TerminalNodeJsonResult",
+ "TerminalNodeNumberResult",
+ "TerminalNodeResult",
+ "TerminalNodeResultData",
+ "TerminalNodeResultOutput",
+ "TerminalNodeSearchResultsResult",
+ "TerminalNodeStringResult",
+ "TestCaseArrayVariableValue",
+ "TestCaseAudioVariableValue",
+ "TestCaseChatHistoryVariableValue",
+ "TestCaseDocumentVariableValue",
+ "TestCaseErrorVariableValue",
+ "TestCaseFunctionCallVariableValue",
+ "TestCaseImageVariableValue",
+ "TestCaseJsonVariableValue",
+ "TestCaseNumberVariableValue",
+ "TestCaseSearchResultsVariableValue",
+ "TestCaseStringVariableValue",
+ "TestCaseVariableValue",
+ "TestCaseVideoVariableValue",
+ "TestSuiteRunDeploymentReleaseTagExecConfig",
+ "TestSuiteRunDeploymentReleaseTagExecConfigData",
+ "TestSuiteRunDeploymentReleaseTagExecConfigDataRequest",
+ "TestSuiteRunDeploymentReleaseTagExecConfigRequest",
+ "TestSuiteRunExecConfig",
+ "TestSuiteRunExecConfigRequest",
+ "TestSuiteRunExecution",
+ "TestSuiteRunExecutionArrayOutput",
+ "TestSuiteRunExecutionChatHistoryOutput",
+ "TestSuiteRunExecutionErrorOutput",
+ "TestSuiteRunExecutionFunctionCallOutput",
+ "TestSuiteRunExecutionJsonOutput",
+ "TestSuiteRunExecutionMetricDefinition",
+ "TestSuiteRunExecutionMetricResult",
+ "TestSuiteRunExecutionNumberOutput",
+ "TestSuiteRunExecutionOutput",
+ "TestSuiteRunExecutionSearchResultsOutput",
+ "TestSuiteRunExecutionStringOutput",
+ "TestSuiteRunExternalExecConfig",
+ "TestSuiteRunExternalExecConfigData",
+ "TestSuiteRunExternalExecConfigDataRequest",
+ "TestSuiteRunExternalExecConfigRequest",
+ "TestSuiteRunMetricArrayOutput",
+ "TestSuiteRunMetricErrorOutput",
+ "TestSuiteRunMetricJsonOutput",
+ "TestSuiteRunMetricNumberOutput",
+ "TestSuiteRunMetricOutput",
+ "TestSuiteRunMetricStringOutput",
+ "TestSuiteRunProgress",
+ "TestSuiteRunPromptSandboxExecConfigDataRequest",
+ "TestSuiteRunPromptSandboxExecConfigRequest",
+ "TestSuiteRunPromptSandboxHistoryItemExecConfig",
+ "TestSuiteRunPromptSandboxHistoryItemExecConfigData",
+ "TestSuiteRunPromptSandboxHistoryItemExecConfigDataRequest",
+ "TestSuiteRunPromptSandboxHistoryItemExecConfigRequest",
+ "TestSuiteRunRead",
+ "TestSuiteRunState",
+ "TestSuiteRunTestSuite",
+ "TestSuiteRunWorkflowReleaseTagExecConfig",
+ "TestSuiteRunWorkflowReleaseTagExecConfigData",
+ "TestSuiteRunWorkflowReleaseTagExecConfigDataRequest",
+ "TestSuiteRunWorkflowReleaseTagExecConfigRequest",
+ "TestSuiteRunWorkflowSandboxExecConfigDataRequest",
+ "TestSuiteRunWorkflowSandboxExecConfigRequest",
+ "TestSuiteRunWorkflowSandboxHistoryItemExecConfig",
+ "TestSuiteRunWorkflowSandboxHistoryItemExecConfigData",
+ "TestSuiteRunWorkflowSandboxHistoryItemExecConfigDataRequest",
+ "TestSuiteRunWorkflowSandboxHistoryItemExecConfigRequest",
+ "TestSuiteTestCase",
+ "TestSuiteTestCaseBulkOperationRequest",
+ "TestSuiteTestCaseBulkResult",
+ "TestSuiteTestCaseCreateBulkOperationRequest",
+ "TestSuiteTestCaseCreatedBulkResult",
+ "TestSuiteTestCaseCreatedBulkResultData",
+ "TestSuiteTestCaseDeleteBulkOperationDataRequest",
+ "TestSuiteTestCaseDeleteBulkOperationRequest",
+ "TestSuiteTestCaseDeletedBulkResult",
+ "TestSuiteTestCaseDeletedBulkResultData",
+ "TestSuiteTestCaseRejectedBulkResult",
+ "TestSuiteTestCaseReplaceBulkOperationRequest",
+ "TestSuiteTestCaseReplacedBulkResult",
+ "TestSuiteTestCaseReplacedBulkResultData",
+ "TestSuiteTestCaseUpsertBulkOperationRequest",
+ "ThinkingVellumValue",
+ "ThinkingVellumValueRequest",
+ "TokenOverlappingWindowChunkerConfig",
+ "TokenOverlappingWindowChunkerConfigRequest",
+ "TokenOverlappingWindowChunking",
+ "TokenOverlappingWindowChunkingRequest",
+ "UnitEnum",
+ "UpdateActiveWorkspaceResponse",
+ "UploadDocumentResponse",
+ "UploadedFileRead",
+ "UpsertTestSuiteTestCaseRequest",
+ "VariablePromptBlock",
+ "VellumAudio",
+ "VellumAudioRequest",
+ "VellumCodeResourceDefinition",
+ "VellumDocument",
+ "VellumDocumentRequest",
+ "VellumError",
+ "VellumErrorCodeEnum",
+ "VellumErrorRequest",
+ "VellumImage",
+ "VellumImageRequest",
+ "VellumNodeExecutionEvent",
+ "VellumSdkError",
+ "VellumSdkErrorCodeEnum",
+ "VellumSecret",
+ "VellumSpan",
+ "VellumValue",
+ "VellumValueLogicalConditionGroupRequest",
+ "VellumValueLogicalConditionRequest",
+ "VellumValueLogicalExpressionRequest",
+ "VellumValueRequest",
+ "VellumVariable",
+ "VellumVariableExtensions",
+ "VellumVariableType",
+ "VellumVideo",
+ "VellumVideoRequest",
+ "VellumWorkflowExecutionEvent",
+ "VideoChatMessageContent",
+ "VideoChatMessageContentRequest",
+ "VideoInput",
+ "VideoInputRequest",
+ "VideoPromptBlock",
+ "VideoVellumValue",
+ "VideoVellumValueRequest",
+ "WorkflowDeploymentDisplayData",
+ "WorkflowDeploymentEventExecutionsResponse",
+ "WorkflowDeploymentHistoryItem",
+ "WorkflowDeploymentParentContext",
+ "WorkflowDeploymentRead",
+ "WorkflowDeploymentRelease",
+ "WorkflowDeploymentReleaseWorkflowDeployment",
+ "WorkflowDeploymentReleaseWorkflowVersion",
+ "WorkflowDisplayIcon",
+ "WorkflowError",
+ "WorkflowEvent",
+ "WorkflowEventError",
+ "WorkflowEventExecutionRead",
+ "WorkflowExecutionActual",
+ "WorkflowExecutionActualChatHistoryRequest",
+ "WorkflowExecutionActualJsonRequest",
+ "WorkflowExecutionActualStringRequest",
+ "WorkflowExecutionDetail",
+ "WorkflowExecutionEventErrorCode",
+ "WorkflowExecutionEventType",
+ "WorkflowExecutionFulfilledBody",
+ "WorkflowExecutionFulfilledEvent",
+ "WorkflowExecutionInitiatedBody",
+ "WorkflowExecutionInitiatedEvent",
+ "WorkflowExecutionNodeResultEvent",
+ "WorkflowExecutionPausedBody",
+ "WorkflowExecutionPausedEvent",
+ "WorkflowExecutionRejectedBody",
+ "WorkflowExecutionRejectedEvent",
+ "WorkflowExecutionResumedBody",
+ "WorkflowExecutionResumedEvent",
+ "WorkflowExecutionSnapshottedBody",
+ "WorkflowExecutionSnapshottedEvent",
+ "WorkflowExecutionSpan",
+ "WorkflowExecutionSpanAttributes",
+ "WorkflowExecutionStreamingBody",
+ "WorkflowExecutionStreamingEvent",
+ "WorkflowExecutionUsageCalculationError",
+ "WorkflowExecutionUsageCalculationErrorCodeEnum",
+ "WorkflowExecutionUsageCalculationFulfilledBody",
+ "WorkflowExecutionUsageResult",
+ "WorkflowExecutionViewOnlineEvalMetricResult",
+ "WorkflowExecutionWorkflowResultEvent",
+ "WorkflowExpandMetaRequest",
+ "WorkflowInitializationError",
+ "WorkflowInput",
+ "WorkflowNodeResultData",
+ "WorkflowNodeResultEvent",
+ "WorkflowNodeResultEventState",
+ "WorkflowOutput",
+ "WorkflowOutputArray",
+ "WorkflowOutputAudio",
+ "WorkflowOutputChatHistory",
+ "WorkflowOutputDocument",
+ "WorkflowOutputError",
+ "WorkflowOutputFunctionCall",
+ "WorkflowOutputImage",
+ "WorkflowOutputJson",
+ "WorkflowOutputNumber",
+ "WorkflowOutputSearchResults",
+ "WorkflowOutputString",
+ "WorkflowOutputVideo",
+ "WorkflowParentContext",
+ "WorkflowPushDeploymentConfigRequest",
+ "WorkflowPushExecConfig",
+ "WorkflowPushResponse",
+ "WorkflowReleaseTagRead",
+ "WorkflowReleaseTagWorkflowDeploymentHistoryItem",
+ "WorkflowRequestAudioInputRequest",
+ "WorkflowRequestChatHistoryInputRequest",
+ "WorkflowRequestDocumentInputRequest",
+ "WorkflowRequestImageInputRequest",
+ "WorkflowRequestInputRequest",
+ "WorkflowRequestJsonInputRequest",
+ "WorkflowRequestNumberInputRequest",
+ "WorkflowRequestStringInputRequest",
+ "WorkflowRequestVideoInputRequest",
+ "WorkflowResolvedState",
+ "WorkflowResultEvent",
+ "WorkflowResultEventOutputData",
+ "WorkflowResultEventOutputDataArray",
+ "WorkflowResultEventOutputDataChatHistory",
+ "WorkflowResultEventOutputDataError",
+ "WorkflowResultEventOutputDataFunctionCall",
+ "WorkflowResultEventOutputDataJson",
+ "WorkflowResultEventOutputDataNumber",
+ "WorkflowResultEventOutputDataSearchResults",
+ "WorkflowResultEventOutputDataString",
+ "WorkflowSandboxDisplayData",
+ "WorkflowSandboxExample",
+ "WorkflowSandboxParentContext",
+ "WorkflowStreamEvent",
+ "WorkspaceDisplayConfig",
+ "WorkspaceRead",
+ "WorkspaceSecretRead",
+]
diff --git a/src/vellum/types/ad_hoc_execute_prompt_event.py b/src/vellum/types/ad_hoc_execute_prompt_event.py
index 3b8e2634c5..f368086ca9 100644
--- a/src/vellum/types/ad_hoc_execute_prompt_event.py
+++ b/src/vellum/types/ad_hoc_execute_prompt_event.py
@@ -1,3 +1,15 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ad_hoc_execute_prompt_event import *
+import typing
+
+from .fulfilled_ad_hoc_execute_prompt_event import FulfilledAdHocExecutePromptEvent
+from .initiated_ad_hoc_execute_prompt_event import InitiatedAdHocExecutePromptEvent
+from .rejected_ad_hoc_execute_prompt_event import RejectedAdHocExecutePromptEvent
+from .streaming_ad_hoc_execute_prompt_event import StreamingAdHocExecutePromptEvent
+
+AdHocExecutePromptEvent = typing.Union[
+ InitiatedAdHocExecutePromptEvent,
+ StreamingAdHocExecutePromptEvent,
+ FulfilledAdHocExecutePromptEvent,
+ RejectedAdHocExecutePromptEvent,
+]
diff --git a/src/vellum/types/ad_hoc_expand_meta.py b/src/vellum/types/ad_hoc_expand_meta.py
index de346809e7..64ff140541 100644
--- a/src/vellum/types/ad_hoc_expand_meta.py
+++ b/src/vellum/types/ad_hoc_expand_meta.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ad_hoc_expand_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class AdHocExpandMeta(UniversalBaseModel):
+ cost: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include model host cost tracking. This may increase latency for some model hosts.
+ """
+
+ model_name: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include the model identifier representing the ML Model invoked by the Prompt.
+ """
+
+ usage: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include model host usage tracking. This may increase latency for some model hosts.
+ """
+
+ finish_reason: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include the reason provided by the model for why the execution finished.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/ad_hoc_fulfilled_prompt_execution_meta.py b/src/vellum/types/ad_hoc_fulfilled_prompt_execution_meta.py
index fb1557316e..68e79525ca 100644
--- a/src/vellum/types/ad_hoc_fulfilled_prompt_execution_meta.py
+++ b/src/vellum/types/ad_hoc_fulfilled_prompt_execution_meta.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ad_hoc_fulfilled_prompt_execution_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .finish_reason_enum import FinishReasonEnum
+from .ml_model_usage import MlModelUsage
+from .price import Price
+
+
+class AdHocFulfilledPromptExecutionMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
+ """
+
+ latency: typing.Optional[int] = None
+ finish_reason: typing.Optional[FinishReasonEnum] = None
+ usage: typing.Optional[MlModelUsage] = None
+ cost: typing.Optional[Price] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/ad_hoc_initiated_prompt_execution_meta.py b/src/vellum/types/ad_hoc_initiated_prompt_execution_meta.py
index 744d2bff23..eb07111bb9 100644
--- a/src/vellum/types/ad_hoc_initiated_prompt_execution_meta.py
+++ b/src/vellum/types/ad_hoc_initiated_prompt_execution_meta.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ad_hoc_initiated_prompt_execution_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class AdHocInitiatedPromptExecutionMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
+ """
+
+ model_name: typing.Optional[str] = None
+ latency: typing.Optional[int] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/ad_hoc_rejected_prompt_execution_meta.py b/src/vellum/types/ad_hoc_rejected_prompt_execution_meta.py
index cf634d3bb9..25be78f52f 100644
--- a/src/vellum/types/ad_hoc_rejected_prompt_execution_meta.py
+++ b/src/vellum/types/ad_hoc_rejected_prompt_execution_meta.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ad_hoc_rejected_prompt_execution_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .finish_reason_enum import FinishReasonEnum
+
+
+class AdHocRejectedPromptExecutionMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
+ """
+
+ latency: typing.Optional[int] = None
+ finish_reason: typing.Optional[FinishReasonEnum] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/ad_hoc_streaming_prompt_execution_meta.py b/src/vellum/types/ad_hoc_streaming_prompt_execution_meta.py
index cebfd85b63..dbb3298ca0 100644
--- a/src/vellum/types/ad_hoc_streaming_prompt_execution_meta.py
+++ b/src/vellum/types/ad_hoc_streaming_prompt_execution_meta.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ad_hoc_streaming_prompt_execution_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class AdHocStreamingPromptExecutionMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
+ """
+
+ latency: typing.Optional[int] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/add_openai_api_key_enum.py b/src/vellum/types/add_openai_api_key_enum.py
index 863ca45cae..11dc57357a 100644
--- a/src/vellum/types/add_openai_api_key_enum.py
+++ b/src/vellum/types/add_openai_api_key_enum.py
@@ -1,3 +1,3 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.add_openai_api_key_enum import *
+AddOpenaiApiKeyEnum = bool
diff --git a/src/vellum/types/api_actor_type_enum.py b/src/vellum/types/api_actor_type_enum.py
index c7ee522aa4..dbbf096eaa 100644
--- a/src/vellum/types/api_actor_type_enum.py
+++ b/src/vellum/types/api_actor_type_enum.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.api_actor_type_enum import *
+import typing
+
+ApiActorTypeEnum = typing.Union[
+ typing.Literal["WORKSPACE_API_KEY", "ENVIRONMENT_API_KEY", "JWT", "SERVICE_TOKEN"], typing.Any
+]
diff --git a/src/vellum/types/api_node_result.py b/src/vellum/types/api_node_result.py
index f5c38a8e75..b9c3a1ab44 100644
--- a/src/vellum/types/api_node_result.py
+++ b/src/vellum/types/api_node_result.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.api_node_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .api_node_result_data import ApiNodeResultData
+
+
+class ApiNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from an API Node.
+ """
+
+ type: typing.Literal["API"] = "API"
+ data: ApiNodeResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/api_node_result_data.py b/src/vellum/types/api_node_result_data.py
index 6700346192..9b00bcf11a 100644
--- a/src/vellum/types/api_node_result_data.py
+++ b/src/vellum/types/api_node_result_data.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.api_node_result_data import *
+import typing
+
+import pydantic
+import typing_extensions
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from ..core.serialization import FieldMetadata
+
+
+class ApiNodeResultData(UniversalBaseModel):
+ json_: typing_extensions.Annotated[
+ typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]], FieldMetadata(alias="json")
+ ] = None
+ text_output_id: str
+ text: typing.Optional[str] = None
+ json_output_id: str
+ status_code_output_id: str
+ status_code: int
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/api_request_parent_context.py b/src/vellum/types/api_request_parent_context.py
index 82df6f3195..0dca60057b 100644
--- a/src/vellum/types/api_request_parent_context.py
+++ b/src/vellum/types/api_request_parent_context.py
@@ -1,3 +1,42 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.api_request_parent_context import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_actor_type_enum import ApiActorTypeEnum
+
+
+class ApiRequestParentContext(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ type: typing.Literal["API_REQUEST"] = "API_REQUEST"
+ span_id: str
+ api_actor_id: typing.Optional[str] = None
+ api_actor_type: typing.Optional[ApiActorTypeEnum] = None
+ api_actor_label: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(ApiRequestParentContext)
diff --git a/src/vellum/types/api_version_enum.py b/src/vellum/types/api_version_enum.py
index 339e8a0901..5d3f96730d 100644
--- a/src/vellum/types/api_version_enum.py
+++ b/src/vellum/types/api_version_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.api_version_enum import *
+import typing
+
+ApiVersionEnum = typing.Union[typing.Literal["2024-10-25", "2025-07-30"], typing.Any]
diff --git a/src/vellum/types/array_chat_message_content.py b/src/vellum/types/array_chat_message_content.py
index db1fbbac68..7bf1984c94 100644
--- a/src/vellum/types/array_chat_message_content.py
+++ b/src/vellum/types/array_chat_message_content.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.array_chat_message_content import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .array_chat_message_content_item import ArrayChatMessageContentItem
+
+
+class ArrayChatMessageContent(UniversalBaseModel):
+ """
+ A list of chat message content items.
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.List[ArrayChatMessageContentItem]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/array_chat_message_content_item.py b/src/vellum/types/array_chat_message_content_item.py
index d6714072ae..b2f1ac9f0b 100644
--- a/src/vellum/types/array_chat_message_content_item.py
+++ b/src/vellum/types/array_chat_message_content_item.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.array_chat_message_content_item import *
+import typing
+
+from .audio_chat_message_content import AudioChatMessageContent
+from .document_chat_message_content import DocumentChatMessageContent
+from .function_call_chat_message_content import FunctionCallChatMessageContent
+from .image_chat_message_content import ImageChatMessageContent
+from .string_chat_message_content import StringChatMessageContent
+from .video_chat_message_content import VideoChatMessageContent
+
+ArrayChatMessageContentItem = typing.Union[
+ StringChatMessageContent,
+ FunctionCallChatMessageContent,
+ AudioChatMessageContent,
+ VideoChatMessageContent,
+ ImageChatMessageContent,
+ DocumentChatMessageContent,
+]
diff --git a/src/vellum/types/array_chat_message_content_item_request.py b/src/vellum/types/array_chat_message_content_item_request.py
index f4aedc8805..28bd51600a 100644
--- a/src/vellum/types/array_chat_message_content_item_request.py
+++ b/src/vellum/types/array_chat_message_content_item_request.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.array_chat_message_content_item_request import *
+import typing
+
+from .audio_chat_message_content_request import AudioChatMessageContentRequest
+from .document_chat_message_content_request import DocumentChatMessageContentRequest
+from .function_call_chat_message_content_request import FunctionCallChatMessageContentRequest
+from .image_chat_message_content_request import ImageChatMessageContentRequest
+from .string_chat_message_content_request import StringChatMessageContentRequest
+from .video_chat_message_content_request import VideoChatMessageContentRequest
+
+ArrayChatMessageContentItemRequest = typing.Union[
+ StringChatMessageContentRequest,
+ FunctionCallChatMessageContentRequest,
+ AudioChatMessageContentRequest,
+ VideoChatMessageContentRequest,
+ ImageChatMessageContentRequest,
+ DocumentChatMessageContentRequest,
+]
diff --git a/src/vellum/types/array_chat_message_content_request.py b/src/vellum/types/array_chat_message_content_request.py
index 5c92faa9c4..5468d3b649 100644
--- a/src/vellum/types/array_chat_message_content_request.py
+++ b/src/vellum/types/array_chat_message_content_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.array_chat_message_content_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .array_chat_message_content_item_request import ArrayChatMessageContentItemRequest
+
+
+class ArrayChatMessageContentRequest(UniversalBaseModel):
+ """
+ A list of chat message content items.
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.List[ArrayChatMessageContentItemRequest]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/array_input.py b/src/vellum/types/array_input.py
index c67b40ca2a..92fac1517a 100644
--- a/src/vellum/types/array_input.py
+++ b/src/vellum/types/array_input.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.array_input import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class ArrayInput(UniversalBaseModel):
+ """
+ A user input representing a Vellum Array value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.List["VellumValue"]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(ArrayInput)
diff --git a/src/vellum/types/array_vellum_value.py b/src/vellum/types/array_vellum_value.py
index c95c4417f8..c22fa4d8f6 100644
--- a/src/vellum/types/array_vellum_value.py
+++ b/src/vellum/types/array_vellum_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.array_vellum_value import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class ArrayVellumValue(UniversalBaseModel):
+ """
+ A value representing an array of Vellum variable values.
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(ArrayVellumValue)
diff --git a/src/vellum/types/array_vellum_value_request.py b/src/vellum/types/array_vellum_value_request.py
index be38799b6a..e86a8211d2 100644
--- a/src/vellum/types/array_vellum_value_request.py
+++ b/src/vellum/types/array_vellum_value_request.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.array_vellum_value_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class ArrayVellumValueRequest(UniversalBaseModel):
+ """
+ A value representing an array of Vellum variable values.
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValueRequest"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .vellum_value_request import VellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(ArrayVellumValueRequest)
diff --git a/src/vellum/types/audio_chat_message_content.py b/src/vellum/types/audio_chat_message_content.py
index 4be1810cee..2ebf620818 100644
--- a/src/vellum/types/audio_chat_message_content.py
+++ b/src/vellum/types/audio_chat_message_content.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.audio_chat_message_content import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio import VellumAudio
+
+
+class AudioChatMessageContent(UniversalBaseModel):
+ """
+ An audio value that is used in a chat message.
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: VellumAudio
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/audio_chat_message_content_request.py b/src/vellum/types/audio_chat_message_content_request.py
index ed2cb8226a..81fe967b8d 100644
--- a/src/vellum/types/audio_chat_message_content_request.py
+++ b/src/vellum/types/audio_chat_message_content_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.audio_chat_message_content_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio_request import VellumAudioRequest
+
+
+class AudioChatMessageContentRequest(UniversalBaseModel):
+ """
+ An audio value that is used in a chat message.
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: VellumAudioRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/audio_input.py b/src/vellum/types/audio_input.py
index f7870fdc3a..62e38840ed 100644
--- a/src/vellum/types/audio_input.py
+++ b/src/vellum/types/audio_input.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.audio_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio import VellumAudio
+
+
+class AudioInput(UniversalBaseModel):
+ """
+ A user input representing a Vellum Audio value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: VellumAudio
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/audio_input_request.py b/src/vellum/types/audio_input_request.py
index 2d6a054ffc..d21bb9e573 100644
--- a/src/vellum/types/audio_input_request.py
+++ b/src/vellum/types/audio_input_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.audio_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio_request import VellumAudioRequest
+
+
+class AudioInputRequest(UniversalBaseModel):
+ """
+ A user input representing a Vellum Audio value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: VellumAudioRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/audio_prompt_block.py b/src/vellum/types/audio_prompt_block.py
index e063a5a882..1f9b8147f8 100644
--- a/src/vellum/types/audio_prompt_block.py
+++ b/src/vellum/types/audio_prompt_block.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.audio_prompt_block import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+
+
+class AudioPromptBlock(UniversalBaseModel):
+ """
+ A block that represents an audio file in a prompt template.
+ """
+
+ block_type: typing.Literal["AUDIO"] = "AUDIO"
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ src: str
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/audio_vellum_value.py b/src/vellum/types/audio_vellum_value.py
index 33ce5c2c27..ee283c900e 100644
--- a/src/vellum/types/audio_vellum_value.py
+++ b/src/vellum/types/audio_vellum_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.audio_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio import VellumAudio
+
+
+class AudioVellumValue(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing audio.
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: typing.Optional[VellumAudio] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/audio_vellum_value_request.py b/src/vellum/types/audio_vellum_value_request.py
index ea3231b016..b2c1d4682d 100644
--- a/src/vellum/types/audio_vellum_value_request.py
+++ b/src/vellum/types/audio_vellum_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.audio_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio_request import VellumAudioRequest
+
+
+class AudioVellumValueRequest(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing audio.
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: typing.Optional[VellumAudioRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/auth_type_enum.py b/src/vellum/types/auth_type_enum.py
index cdf56412c9..00ab20e2bb 100644
--- a/src/vellum/types/auth_type_enum.py
+++ b/src/vellum/types/auth_type_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.auth_type_enum import *
+import typing
+
+AuthTypeEnum = typing.Union[typing.Literal["API_KEY", "OAUTH2"], typing.Any]
diff --git a/src/vellum/types/base_output.py b/src/vellum/types/base_output.py
index d0c3a71e55..b12d4ca0c0 100644
--- a/src/vellum/types/base_output.py
+++ b/src/vellum/types/base_output.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.base_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class BaseOutput(UniversalBaseModel):
+ value: typing.Optional[typing.Optional[typing.Any]] = None
+ delta: typing.Optional[typing.Optional[typing.Any]] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large.py b/src/vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large.py
index 05e896a677..9f6a730086 100644
--- a/src/vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large.py
+++ b/src/vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.basic_vectorizer_intfloat_multilingual_e_5_large import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class BasicVectorizerIntfloatMultilingualE5Large(UniversalBaseModel):
+ """
+ Basic vectorizer for intfloat/multilingual-e5-large.
+ """
+
+ config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+ model_name: typing.Literal["intfloat/multilingual-e5-large"] = "intfloat/multilingual-e5-large"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py b/src/vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py
index ee2feb1e1e..e3c2ffbfb8 100644
--- a/src/vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py
+++ b/src/vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.basic_vectorizer_intfloat_multilingual_e_5_large_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class BasicVectorizerIntfloatMultilingualE5LargeRequest(UniversalBaseModel):
+ """
+ Basic vectorizer for intfloat/multilingual-e5-large.
+ """
+
+ config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+ model_name: typing.Literal["intfloat/multilingual-e5-large"] = "intfloat/multilingual-e5-large"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py b/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py
index de929f04ec..1fd7322083 100644
--- a/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py
+++ b/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1 import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1(UniversalBaseModel):
+ """
+ Basic vectorizer for sentence-transformers/multi-qa-mpnet-base-cos-v1.
+ """
+
+ config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+ model_name: typing.Literal["sentence-transformers/multi-qa-mpnet-base-cos-v1"] = (
+ "sentence-transformers/multi-qa-mpnet-base-cos-v1"
+ )
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py b/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py
index 76adfb5565..2c85a41629 100644
--- a/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py
+++ b/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request(UniversalBaseModel):
+ """
+ Basic vectorizer for sentence-transformers/multi-qa-mpnet-base-cos-v1.
+ """
+
+ config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+ model_name: typing.Literal["sentence-transformers/multi-qa-mpnet-base-cos-v1"] = (
+ "sentence-transformers/multi-qa-mpnet-base-cos-v1"
+ )
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py b/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py
index 81b6b63fcb..0cdf476dca 100644
--- a/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py
+++ b/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1 import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1(UniversalBaseModel):
+ """
+ Basic vectorizer for sentence-transformers/multi-qa-mpnet-base-dot-v1.
+ """
+
+ model_name: typing.Literal["sentence-transformers/multi-qa-mpnet-base-dot-v1"] = (
+ "sentence-transformers/multi-qa-mpnet-base-dot-v1"
+ )
+ config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py b/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py
index 8fbd787a9d..21028f3a1b 100644
--- a/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py
+++ b/src/vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request(UniversalBaseModel):
+ """
+ Basic vectorizer for sentence-transformers/multi-qa-mpnet-base-dot-v1.
+ """
+
+ model_name: typing.Literal["sentence-transformers/multi-qa-mpnet-base-dot-v1"] = (
+ "sentence-transformers/multi-qa-mpnet-base-dot-v1"
+ )
+ config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/build_status_enum.py b/src/vellum/types/build_status_enum.py
index b31b234e89..181aeda131 100644
--- a/src/vellum/types/build_status_enum.py
+++ b/src/vellum/types/build_status_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.build_status_enum import *
+import typing
+
+BuildStatusEnum = typing.Union[typing.Literal["QUEUED", "BUILDING", "AVAILABLE", "FAILED", "UNKNOWN"], typing.Any]
diff --git a/src/vellum/types/chat_history_input.py b/src/vellum/types/chat_history_input.py
index b9f5ed6c6c..700ecf1626 100644
--- a/src/vellum/types/chat_history_input.py
+++ b/src/vellum/types/chat_history_input.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.chat_history_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class ChatHistoryInput(UniversalBaseModel):
+ """
+ A user input representing a list of chat messages
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name, as defined in the deployment.
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.List[ChatMessage]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/chat_history_input_request.py b/src/vellum/types/chat_history_input_request.py
index e21c717946..40e9d6c54b 100644
--- a/src/vellum/types/chat_history_input_request.py
+++ b/src/vellum/types/chat_history_input_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.chat_history_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message_request import ChatMessageRequest
+
+
+class ChatHistoryInputRequest(UniversalBaseModel):
+ """
+ A user input representing a list of chat messages
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name, as defined in the deployment.
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.List[ChatMessageRequest]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/chat_history_vellum_value.py b/src/vellum/types/chat_history_vellum_value.py
index 7c7b0e282e..a6f765ad59 100644
--- a/src/vellum/types/chat_history_vellum_value.py
+++ b/src/vellum/types/chat_history_vellum_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.chat_history_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class ChatHistoryVellumValue(UniversalBaseModel):
+ """
+ A value representing Chat History.
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/chat_history_vellum_value_request.py b/src/vellum/types/chat_history_vellum_value_request.py
index 202038259d..01dedd3129 100644
--- a/src/vellum/types/chat_history_vellum_value_request.py
+++ b/src/vellum/types/chat_history_vellum_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.chat_history_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message_request import ChatMessageRequest
+
+
+class ChatHistoryVellumValueRequest(UniversalBaseModel):
+ """
+ A value representing Chat History.
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessageRequest]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/chat_message.py b/src/vellum/types/chat_message.py
index e8d326abb7..47edf84f7a 100644
--- a/src/vellum/types/chat_message.py
+++ b/src/vellum/types/chat_message.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.chat_message import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message_content import ChatMessageContent
+from .chat_message_role import ChatMessageRole
+
+
+class ChatMessage(UniversalBaseModel):
+ text: typing.Optional[str] = None
+ role: ChatMessageRole
+ content: typing.Optional[ChatMessageContent] = None
+ source: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ An optional identifier representing who or what generated this message.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/chat_message_content.py b/src/vellum/types/chat_message_content.py
index 74446ffbca..9929af6974 100644
--- a/src/vellum/types/chat_message_content.py
+++ b/src/vellum/types/chat_message_content.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.chat_message_content import *
+import typing
+
+from .array_chat_message_content import ArrayChatMessageContent
+from .audio_chat_message_content import AudioChatMessageContent
+from .document_chat_message_content import DocumentChatMessageContent
+from .function_call_chat_message_content import FunctionCallChatMessageContent
+from .image_chat_message_content import ImageChatMessageContent
+from .string_chat_message_content import StringChatMessageContent
+from .video_chat_message_content import VideoChatMessageContent
+
+ChatMessageContent = typing.Union[
+ StringChatMessageContent,
+ FunctionCallChatMessageContent,
+ ArrayChatMessageContent,
+ AudioChatMessageContent,
+ VideoChatMessageContent,
+ ImageChatMessageContent,
+ DocumentChatMessageContent,
+]
diff --git a/src/vellum/types/chat_message_content_request.py b/src/vellum/types/chat_message_content_request.py
index c1d5f1c1c2..3df9d6ebc1 100644
--- a/src/vellum/types/chat_message_content_request.py
+++ b/src/vellum/types/chat_message_content_request.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.chat_message_content_request import *
+import typing
+
+from .array_chat_message_content_request import ArrayChatMessageContentRequest
+from .audio_chat_message_content_request import AudioChatMessageContentRequest
+from .document_chat_message_content_request import DocumentChatMessageContentRequest
+from .function_call_chat_message_content_request import FunctionCallChatMessageContentRequest
+from .image_chat_message_content_request import ImageChatMessageContentRequest
+from .string_chat_message_content_request import StringChatMessageContentRequest
+from .video_chat_message_content_request import VideoChatMessageContentRequest
+
+ChatMessageContentRequest = typing.Union[
+ StringChatMessageContentRequest,
+ FunctionCallChatMessageContentRequest,
+ ArrayChatMessageContentRequest,
+ AudioChatMessageContentRequest,
+ VideoChatMessageContentRequest,
+ ImageChatMessageContentRequest,
+ DocumentChatMessageContentRequest,
+]
diff --git a/src/vellum/types/chat_message_prompt_block.py b/src/vellum/types/chat_message_prompt_block.py
index 51b4d7290e..42eb358efc 100644
--- a/src/vellum/types/chat_message_prompt_block.py
+++ b/src/vellum/types/chat_message_prompt_block.py
@@ -1,3 +1,39 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.chat_message_prompt_block import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .chat_message_role import ChatMessageRole
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+
+
+class ChatMessagePromptBlock(UniversalBaseModel):
+ """
+ A block that represents a chat message in a prompt template.
+ """
+
+ block_type: typing.Literal["CHAT_MESSAGE"] = "CHAT_MESSAGE"
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ chat_role: ChatMessageRole
+ chat_source: typing.Optional[str] = None
+ chat_message_unterminated: typing.Optional[bool] = None
+ blocks: typing.List["PromptBlock"]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .prompt_block import PromptBlock # noqa: E402, F401, I001
+
+update_forward_refs(ChatMessagePromptBlock)
diff --git a/src/vellum/types/chat_message_request.py b/src/vellum/types/chat_message_request.py
index bb767a498f..ed6e465894 100644
--- a/src/vellum/types/chat_message_request.py
+++ b/src/vellum/types/chat_message_request.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.chat_message_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message_content_request import ChatMessageContentRequest
+from .chat_message_role import ChatMessageRole
+
+
+class ChatMessageRequest(UniversalBaseModel):
+ text: typing.Optional[str] = None
+ role: ChatMessageRole
+ content: typing.Optional[ChatMessageContentRequest] = None
+ source: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ An optional identifier representing who or what generated this message.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/chat_message_role.py b/src/vellum/types/chat_message_role.py
index 5553486153..a896f61731 100644
--- a/src/vellum/types/chat_message_role.py
+++ b/src/vellum/types/chat_message_role.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.chat_message_role import *
+import typing
+
+ChatMessageRole = typing.Union[typing.Literal["SYSTEM", "ASSISTANT", "USER", "FUNCTION"], typing.Any]
diff --git a/src/vellum/types/code_execution_node_array_result.py b/src/vellum/types/code_execution_node_array_result.py
index f969d34c08..ebe7eb3164 100644
--- a/src/vellum/types/code_execution_node_array_result.py
+++ b/src/vellum/types/code_execution_node_array_result.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_array_result import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class CodeExecutionNodeArrayResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(CodeExecutionNodeArrayResult)
diff --git a/src/vellum/types/code_execution_node_chat_history_result.py b/src/vellum/types/code_execution_node_chat_history_result.py
index 7f0de84b1e..ab15813bc9 100644
--- a/src/vellum/types/code_execution_node_chat_history_result.py
+++ b/src/vellum/types/code_execution_node_chat_history_result.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_chat_history_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class CodeExecutionNodeChatHistoryResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/code_execution_node_error_result.py b/src/vellum/types/code_execution_node_error_result.py
index 7c65f2d6e4..12b967b736 100644
--- a/src/vellum/types/code_execution_node_error_result.py
+++ b/src/vellum/types/code_execution_node_error_result.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_error_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class CodeExecutionNodeErrorResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/code_execution_node_function_call_result.py b/src/vellum/types/code_execution_node_function_call_result.py
index 2fefd055dd..801a645011 100644
--- a/src/vellum/types/code_execution_node_function_call_result.py
+++ b/src/vellum/types/code_execution_node_function_call_result.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_function_call_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class CodeExecutionNodeFunctionCallResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/code_execution_node_json_result.py b/src/vellum/types/code_execution_node_json_result.py
index b9b67b445c..6308bdd369 100644
--- a/src/vellum/types/code_execution_node_json_result.py
+++ b/src/vellum/types/code_execution_node_json_result.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_json_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class CodeExecutionNodeJsonResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/code_execution_node_number_result.py b/src/vellum/types/code_execution_node_number_result.py
index a913ad89bd..ad76a9ccf2 100644
--- a/src/vellum/types/code_execution_node_number_result.py
+++ b/src/vellum/types/code_execution_node_number_result.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_number_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class CodeExecutionNodeNumberResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/code_execution_node_result.py b/src/vellum/types/code_execution_node_result.py
index 2284298368..1f5d2e4b4e 100644
--- a/src/vellum/types/code_execution_node_result.py
+++ b/src/vellum/types/code_execution_node_result.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_result import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .code_execution_node_result_data import CodeExecutionNodeResultData
+
+
+class CodeExecutionNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from a Code Execution Node.
+ """
+
+ type: typing.Literal["CODE_EXECUTION"] = "CODE_EXECUTION"
+ data: CodeExecutionNodeResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(CodeExecutionNodeResult)
diff --git a/src/vellum/types/code_execution_node_result_data.py b/src/vellum/types/code_execution_node_result_data.py
index f5dd94731c..78526088a4 100644
--- a/src/vellum/types/code_execution_node_result_data.py
+++ b/src/vellum/types/code_execution_node_result_data.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_result_data import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .code_execution_node_result_output import CodeExecutionNodeResultOutput
+
+
+class CodeExecutionNodeResultData(UniversalBaseModel):
+ output: CodeExecutionNodeResultOutput
+ log_output_id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(CodeExecutionNodeResultData)
diff --git a/src/vellum/types/code_execution_node_result_output.py b/src/vellum/types/code_execution_node_result_output.py
index dc38c9d879..d72f0adae4 100644
--- a/src/vellum/types/code_execution_node_result_output.py
+++ b/src/vellum/types/code_execution_node_result_output.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_result_output import *
+import typing
+
+from .code_execution_node_array_result import CodeExecutionNodeArrayResult
+from .code_execution_node_chat_history_result import CodeExecutionNodeChatHistoryResult
+from .code_execution_node_error_result import CodeExecutionNodeErrorResult
+from .code_execution_node_function_call_result import CodeExecutionNodeFunctionCallResult
+from .code_execution_node_json_result import CodeExecutionNodeJsonResult
+from .code_execution_node_number_result import CodeExecutionNodeNumberResult
+from .code_execution_node_search_results_result import CodeExecutionNodeSearchResultsResult
+from .code_execution_node_string_result import CodeExecutionNodeStringResult
+
+CodeExecutionNodeResultOutput = typing.Union[
+ CodeExecutionNodeStringResult,
+ CodeExecutionNodeNumberResult,
+ CodeExecutionNodeJsonResult,
+ CodeExecutionNodeChatHistoryResult,
+ CodeExecutionNodeSearchResultsResult,
+ CodeExecutionNodeErrorResult,
+ CodeExecutionNodeArrayResult,
+ CodeExecutionNodeFunctionCallResult,
+]
diff --git a/src/vellum/types/code_execution_node_search_results_result.py b/src/vellum/types/code_execution_node_search_results_result.py
index 5e8c58d02b..08cd7ff7fe 100644
--- a/src/vellum/types/code_execution_node_search_results_result.py
+++ b/src/vellum/types/code_execution_node_search_results_result.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_search_results_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class CodeExecutionNodeSearchResultsResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/code_execution_node_string_result.py b/src/vellum/types/code_execution_node_string_result.py
index 9bdfe8e4ca..7ff0e1b607 100644
--- a/src/vellum/types/code_execution_node_string_result.py
+++ b/src/vellum/types/code_execution_node_string_result.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_node_string_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class CodeExecutionNodeStringResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/code_execution_package.py b/src/vellum/types/code_execution_package.py
index b256ff41e5..22a23cd4e9 100644
--- a/src/vellum/types/code_execution_package.py
+++ b/src/vellum/types/code_execution_package.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_package import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class CodeExecutionPackage(UniversalBaseModel):
+ version: str
+ name: str
+ repository: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/code_execution_runtime.py b/src/vellum/types/code_execution_runtime.py
index 5f480a90f6..27ece61cbe 100644
--- a/src/vellum/types/code_execution_runtime.py
+++ b/src/vellum/types/code_execution_runtime.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_execution_runtime import *
+import typing
+
+CodeExecutionRuntime = typing.Union[typing.Literal["PYTHON_3_11_6", "TYPESCRIPT_5_3_3"], typing.Any]
diff --git a/src/vellum/types/code_executor_input.py b/src/vellum/types/code_executor_input.py
index 2a064b6930..7340c04e16 100644
--- a/src/vellum/types/code_executor_input.py
+++ b/src/vellum/types/code_executor_input.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_executor_input import *
+import typing
+
+from .array_input import ArrayInput
+from .audio_input import AudioInput
+from .chat_history_input import ChatHistoryInput
+from .code_executor_secret_input import CodeExecutorSecretInput
+from .document_input import DocumentInput
+from .error_input import ErrorInput
+from .function_call_input import FunctionCallInput
+from .image_input import ImageInput
+from .json_input import JsonInput
+from .number_input import NumberInput
+from .search_results_input import SearchResultsInput
+from .string_input import StringInput
+from .video_input import VideoInput
+
+CodeExecutorInput = typing.Union[
+ StringInput,
+ JsonInput,
+ ChatHistoryInput,
+ NumberInput,
+ SearchResultsInput,
+ ErrorInput,
+ ArrayInput,
+ FunctionCallInput,
+ AudioInput,
+ VideoInput,
+ ImageInput,
+ DocumentInput,
+ CodeExecutorSecretInput,
+]
diff --git a/src/vellum/types/code_executor_response.py b/src/vellum/types/code_executor_response.py
index 0e16c15556..0724221742 100644
--- a/src/vellum/types/code_executor_response.py
+++ b/src/vellum/types/code_executor_response.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_executor_response import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class CodeExecutorResponse(UniversalBaseModel):
+ log: str
+ output: "VellumValue"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(CodeExecutorResponse)
diff --git a/src/vellum/types/code_executor_secret_input.py b/src/vellum/types/code_executor_secret_input.py
index f298073d21..0ceb975ffc 100644
--- a/src/vellum/types/code_executor_secret_input.py
+++ b/src/vellum/types/code_executor_secret_input.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_executor_secret_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class CodeExecutorSecretInput(UniversalBaseModel):
+ """
+ A user input representing a Vellum Workspace Secret value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["SECRET"] = "SECRET"
+ value: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/code_resource_definition.py b/src/vellum/types/code_resource_definition.py
index 61b84b1f6a..b82c74397b 100644
--- a/src/vellum/types/code_resource_definition.py
+++ b/src/vellum/types/code_resource_definition.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.code_resource_definition import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class CodeResourceDefinition(UniversalBaseModel):
+ """
+ The definition of a resource defined in code.
+ """
+
+ name: str = pydantic.Field()
+ """
+ The name of the resource, typically a class name.
+ """
+
+ module: typing.List[str] = pydantic.Field()
+ """
+ The module that this resource is defined in.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/compile_prompt_deployment_expand_meta_request.py b/src/vellum/types/compile_prompt_deployment_expand_meta_request.py
index 9295f9cd03..29183bd6a1 100644
--- a/src/vellum/types/compile_prompt_deployment_expand_meta_request.py
+++ b/src/vellum/types/compile_prompt_deployment_expand_meta_request.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.compile_prompt_deployment_expand_meta_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class CompilePromptDeploymentExpandMetaRequest(UniversalBaseModel):
+ model_name: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include the model identifier representing the ML Model invoked by the Prompt.
+ """
+
+ deployment_release_tag: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include the release tag of the Prompt Deployment.
+ """
+
+ prompt_version_id: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include the ID of the Prompt Version backing the deployment.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/compile_prompt_meta.py b/src/vellum/types/compile_prompt_meta.py
index f4de12aeb1..1de97f32e8 100644
--- a/src/vellum/types/compile_prompt_meta.py
+++ b/src/vellum/types/compile_prompt_meta.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.compile_prompt_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class CompilePromptMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during Prompt Deployment compilation that the request opted into with `expand_meta`.
+ """
+
+ model_name: typing.Optional[str] = None
+ deployment_release_tag: typing.Optional[str] = None
+ prompt_version_id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/components_schemas_composio_execute_tool_request.py b/src/vellum/types/components_schemas_composio_execute_tool_request.py
index deb6281aeb..b41155f7f7 100644
--- a/src/vellum/types/components_schemas_composio_execute_tool_request.py
+++ b/src/vellum/types/components_schemas_composio_execute_tool_request.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.components_schemas_composio_execute_tool_request import *
+from .composio_execute_tool_request import ComposioExecuteToolRequest
+
+ComponentsSchemasComposioExecuteToolRequest = ComposioExecuteToolRequest
diff --git a/src/vellum/types/components_schemas_composio_execute_tool_response.py b/src/vellum/types/components_schemas_composio_execute_tool_response.py
index e9365b7f2b..44b5607fb0 100644
--- a/src/vellum/types/components_schemas_composio_execute_tool_response.py
+++ b/src/vellum/types/components_schemas_composio_execute_tool_response.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.components_schemas_composio_execute_tool_response import *
+from .composio_execute_tool_response import ComposioExecuteToolResponse
+
+ComponentsSchemasComposioExecuteToolResponse = ComposioExecuteToolResponse
diff --git a/src/vellum/types/components_schemas_composio_integration_exec_config.py b/src/vellum/types/components_schemas_composio_integration_exec_config.py
index 5f4aa787b1..987f3d5241 100644
--- a/src/vellum/types/components_schemas_composio_integration_exec_config.py
+++ b/src/vellum/types/components_schemas_composio_integration_exec_config.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.components_schemas_composio_integration_exec_config import *
+from .composio_integration_exec_config import ComposioIntegrationExecConfig
+
+ComponentsSchemasComposioIntegrationExecConfig = ComposioIntegrationExecConfig
diff --git a/src/vellum/types/components_schemas_composio_tool_definition.py b/src/vellum/types/components_schemas_composio_tool_definition.py
index a7cad21a7f..b7ec2c783c 100644
--- a/src/vellum/types/components_schemas_composio_tool_definition.py
+++ b/src/vellum/types/components_schemas_composio_tool_definition.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.components_schemas_composio_tool_definition import *
+from .composio_tool_definition import ComposioToolDefinition
+
+ComponentsSchemasComposioToolDefinition = ComposioToolDefinition
diff --git a/src/vellum/types/components_schemas_pdf_search_result_meta_source.py b/src/vellum/types/components_schemas_pdf_search_result_meta_source.py
index 790bccc454..f32713bcd9 100644
--- a/src/vellum/types/components_schemas_pdf_search_result_meta_source.py
+++ b/src/vellum/types/components_schemas_pdf_search_result_meta_source.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.components_schemas_pdf_search_result_meta_source import *
+from .pdf_search_result_meta_source import PdfSearchResultMetaSource
+
+ComponentsSchemasPdfSearchResultMetaSource = PdfSearchResultMetaSource
diff --git a/src/vellum/types/components_schemas_pdf_search_result_meta_source_request.py b/src/vellum/types/components_schemas_pdf_search_result_meta_source_request.py
index 82040f1869..fec80799c1 100644
--- a/src/vellum/types/components_schemas_pdf_search_result_meta_source_request.py
+++ b/src/vellum/types/components_schemas_pdf_search_result_meta_source_request.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.components_schemas_pdf_search_result_meta_source_request import *
+from .pdf_search_result_meta_source_request import PdfSearchResultMetaSourceRequest
+
+ComponentsSchemasPdfSearchResultMetaSourceRequest = PdfSearchResultMetaSourceRequest
diff --git a/src/vellum/types/components_schemas_prompt_version_build_config_sandbox.py b/src/vellum/types/components_schemas_prompt_version_build_config_sandbox.py
index 8188bd9fc7..6eec77b7f5 100644
--- a/src/vellum/types/components_schemas_prompt_version_build_config_sandbox.py
+++ b/src/vellum/types/components_schemas_prompt_version_build_config_sandbox.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.components_schemas_prompt_version_build_config_sandbox import *
+from .prompt_version_build_config_sandbox import PromptVersionBuildConfigSandbox
+
+ComponentsSchemasPromptVersionBuildConfigSandbox = PromptVersionBuildConfigSandbox
diff --git a/src/vellum/types/components_schemas_slim_composio_tool_definition.py b/src/vellum/types/components_schemas_slim_composio_tool_definition.py
index b10c660c1d..dfb5e94529 100644
--- a/src/vellum/types/components_schemas_slim_composio_tool_definition.py
+++ b/src/vellum/types/components_schemas_slim_composio_tool_definition.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.components_schemas_slim_composio_tool_definition import *
+from .slim_composio_tool_definition import SlimComposioToolDefinition
+
+ComponentsSchemasSlimComposioToolDefinition = SlimComposioToolDefinition
diff --git a/src/vellum/types/composio_execute_tool_request.py b/src/vellum/types/composio_execute_tool_request.py
index 8e461ee4ae..4d2f9512b9 100644
--- a/src/vellum/types/composio_execute_tool_request.py
+++ b/src/vellum/types/composio_execute_tool_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.composio_execute_tool_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ComposioExecuteToolRequest(UniversalBaseModel):
+ """
+ Payload for executing a Composio tool with provider id and tool arguments.
+ """
+
+ provider: typing.Literal["COMPOSIO"] = "COMPOSIO"
+ arguments: typing.Dict[str, typing.Optional[typing.Any]]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/composio_execute_tool_response.py b/src/vellum/types/composio_execute_tool_response.py
index b618584496..6065037687 100644
--- a/src/vellum/types/composio_execute_tool_response.py
+++ b/src/vellum/types/composio_execute_tool_response.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.composio_execute_tool_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ComposioExecuteToolResponse(UniversalBaseModel):
+ """
+ Response payload with provider id and execution output from a Composio tool.
+ """
+
+ provider: typing.Literal["COMPOSIO"] = "COMPOSIO"
+ data: typing.Dict[str, typing.Optional[typing.Any]]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/composio_integration_exec_config.py b/src/vellum/types/composio_integration_exec_config.py
index c0711aafe8..89be7414ea 100644
--- a/src/vellum/types/composio_integration_exec_config.py
+++ b/src/vellum/types/composio_integration_exec_config.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.composio_integration_exec_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ComposioIntegrationExecConfig(UniversalBaseModel):
+ type: typing.Literal["COMPOSIO"] = "COMPOSIO"
+ slug: str
+ supports_webhook_triggers: typing.Optional[bool] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/composio_tool_definition.py b/src/vellum/types/composio_tool_definition.py
index 10caa03007..95f4f8acd3 100644
--- a/src/vellum/types/composio_tool_definition.py
+++ b/src/vellum/types/composio_tool_definition.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.composio_tool_definition import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .integration import Integration
+
+
+class ComposioToolDefinition(UniversalBaseModel):
+ """
+ Serializer for Composio tool definition response.
+ """
+
+ provider: typing.Literal["COMPOSIO"] = "COMPOSIO"
+ integration: Integration
+ name: str
+ label: str
+ description: str
+ input_parameters: typing.Dict[str, typing.Optional[typing.Any]]
+ output_parameters: typing.Dict[str, typing.Optional[typing.Any]]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/condition_combinator.py b/src/vellum/types/condition_combinator.py
index 3d8cddd30b..972db04e0f 100644
--- a/src/vellum/types/condition_combinator.py
+++ b/src/vellum/types/condition_combinator.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.condition_combinator import *
+import typing
+
+ConditionCombinator = typing.Union[typing.Literal["OR", "AND"], typing.Any]
diff --git a/src/vellum/types/conditional_node_result.py b/src/vellum/types/conditional_node_result.py
index 7fd2c21838..5b63ae19a7 100644
--- a/src/vellum/types/conditional_node_result.py
+++ b/src/vellum/types/conditional_node_result.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.conditional_node_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .conditional_node_result_data import ConditionalNodeResultData
+
+
+class ConditionalNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from a Conditional Node.
+ """
+
+ type: typing.Literal["CONDITIONAL"] = "CONDITIONAL"
+ data: ConditionalNodeResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/conditional_node_result_data.py b/src/vellum/types/conditional_node_result_data.py
index fc6c1585c6..569931aa7e 100644
--- a/src/vellum/types/conditional_node_result_data.py
+++ b/src/vellum/types/conditional_node_result_data.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.conditional_node_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ConditionalNodeResultData(UniversalBaseModel):
+ source_handle_id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/container_image_build_config.py b/src/vellum/types/container_image_build_config.py
index 9496535bf4..d40cbd0d4b 100644
--- a/src/vellum/types/container_image_build_config.py
+++ b/src/vellum/types/container_image_build_config.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.container_image_build_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .code_execution_package import CodeExecutionPackage
+
+
+class ContainerImageBuildConfig(UniversalBaseModel):
+ packages: typing.List[CodeExecutionPackage]
+ user_script: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/container_image_container_image_tag.py b/src/vellum/types/container_image_container_image_tag.py
index 473d6a84d7..4d26a15b00 100644
--- a/src/vellum/types/container_image_container_image_tag.py
+++ b/src/vellum/types/container_image_container_image_tag.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.container_image_container_image_tag import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ContainerImageContainerImageTag(UniversalBaseModel):
+ name: str
+ modified: dt.datetime
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/container_image_read.py b/src/vellum/types/container_image_read.py
index 4a2228f77a..b72f0f1185 100644
--- a/src/vellum/types/container_image_read.py
+++ b/src/vellum/types/container_image_read.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.container_image_read import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .build_status_enum import BuildStatusEnum
+from .container_image_build_config import ContainerImageBuildConfig
+from .container_image_container_image_tag import ContainerImageContainerImageTag
+from .entity_visibility import EntityVisibility
+
+
+class ContainerImageRead(UniversalBaseModel):
+ id: str
+ name: str
+ visibility: EntityVisibility
+ created: dt.datetime
+ modified: dt.datetime
+ repository: str
+ sha: str
+ tags: typing.List[ContainerImageContainerImageTag]
+ build_status: typing.Optional[BuildStatusEnum] = None
+ build_config: typing.Optional[ContainerImageBuildConfig] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/create_test_suite_test_case_request.py b/src/vellum/types/create_test_suite_test_case_request.py
index cd4f1417a1..5180e888bf 100644
--- a/src/vellum/types/create_test_suite_test_case_request.py
+++ b/src/vellum/types/create_test_suite_test_case_request.py
@@ -1,3 +1,49 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.create_test_suite_test_case_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
+
+
+class CreateTestSuiteTestCaseRequest(UniversalBaseModel):
+ """
+ Information about the Test Case to create
+ """
+
+ label: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A human-readable label used to convey the intention of this Test Case
+ """
+
+ input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
+ """
+ Values for each of the Test Case's input variables
+ """
+
+ evaluation_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
+ """
+ Values for each of the Test Case's evaluation variables
+ """
+
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Optionally provide an ID that uniquely identifies this Test Case in your system. Useful for updating this Test Cases data after initial creation. Cannot be changed later.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(CreateTestSuiteTestCaseRequest)
diff --git a/src/vellum/types/create_workflow_event_request.py b/src/vellum/types/create_workflow_event_request.py
index 81a0b4ff73..94a4ef3f8c 100644
--- a/src/vellum/types/create_workflow_event_request.py
+++ b/src/vellum/types/create_workflow_event_request.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.create_workflow_event_request import *
+import typing
+
+from .workflow_event import WorkflowEvent
+
+CreateWorkflowEventRequest = typing.Union[typing.List[WorkflowEvent], WorkflowEvent]
diff --git a/src/vellum/types/dataset_row_push_request.py b/src/vellum/types/dataset_row_push_request.py
index 4cb2ea8c92..00f99d76a4 100644
--- a/src/vellum/types/dataset_row_push_request.py
+++ b/src/vellum/types/dataset_row_push_request.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.dataset_row_push_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class DatasetRowPushRequest(UniversalBaseModel):
+ label: str
+ inputs: typing.Dict[str, typing.Optional[typing.Any]]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/delimiter_chunker_config.py b/src/vellum/types/delimiter_chunker_config.py
index 5e1d9e44ad..0f7ecc7d38 100644
--- a/src/vellum/types/delimiter_chunker_config.py
+++ b/src/vellum/types/delimiter_chunker_config.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.delimiter_chunker_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class DelimiterChunkerConfig(UniversalBaseModel):
+ delimiter: typing.Optional[str] = None
+ is_regex: typing.Optional[bool] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/delimiter_chunker_config_request.py b/src/vellum/types/delimiter_chunker_config_request.py
index f2ff9cd2f0..107a2aacc1 100644
--- a/src/vellum/types/delimiter_chunker_config_request.py
+++ b/src/vellum/types/delimiter_chunker_config_request.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.delimiter_chunker_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class DelimiterChunkerConfigRequest(UniversalBaseModel):
+ delimiter: typing.Optional[str] = None
+ is_regex: typing.Optional[bool] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/delimiter_chunking.py b/src/vellum/types/delimiter_chunking.py
index 3a98c421a0..2caab7df05 100644
--- a/src/vellum/types/delimiter_chunking.py
+++ b/src/vellum/types/delimiter_chunking.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.delimiter_chunking import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .delimiter_chunker_config import DelimiterChunkerConfig
+
+
+class DelimiterChunking(UniversalBaseModel):
+ chunker_name: typing.Literal["delimiter-chunker"] = "delimiter-chunker"
+ chunker_config: typing.Optional[DelimiterChunkerConfig] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/delimiter_chunking_request.py b/src/vellum/types/delimiter_chunking_request.py
index 9d4296fc1e..695056fda2 100644
--- a/src/vellum/types/delimiter_chunking_request.py
+++ b/src/vellum/types/delimiter_chunking_request.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.delimiter_chunking_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .delimiter_chunker_config_request import DelimiterChunkerConfigRequest
+
+
+class DelimiterChunkingRequest(UniversalBaseModel):
+ chunker_name: typing.Literal["delimiter-chunker"] = "delimiter-chunker"
+ chunker_config: typing.Optional[DelimiterChunkerConfigRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/deployment_history_item.py b/src/vellum/types/deployment_history_item.py
index 51b61c07a1..e599a154c6 100644
--- a/src/vellum/types/deployment_history_item.py
+++ b/src/vellum/types/deployment_history_item.py
@@ -1,3 +1,45 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.deployment_history_item import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .vellum_variable import VellumVariable
+
+
+class DeploymentHistoryItem(UniversalBaseModel):
+ id: str
+ deployment_id: str
+ timestamp: dt.datetime
+ label: str = pydantic.Field()
+ """
+ A human-readable label for the deployment
+ """
+
+ name: str = pydantic.Field()
+ """
+ A name that uniquely identifies this deployment within its workspace
+ """
+
+ input_variables: typing.List[VellumVariable]
+ description: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A human-readable description of the deployment
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(DeploymentHistoryItem)
diff --git a/src/vellum/types/deployment_provider_payload_response.py b/src/vellum/types/deployment_provider_payload_response.py
index 620e8973e9..d1bd166726 100644
--- a/src/vellum/types/deployment_provider_payload_response.py
+++ b/src/vellum/types/deployment_provider_payload_response.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.deployment_provider_payload_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .compile_prompt_meta import CompilePromptMeta
+from .deployment_provider_payload_response_payload import DeploymentProviderPayloadResponsePayload
+
+
+class DeploymentProviderPayloadResponse(UniversalBaseModel):
+ payload: DeploymentProviderPayloadResponsePayload
+ meta: typing.Optional[CompilePromptMeta] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/deployment_provider_payload_response_payload.py b/src/vellum/types/deployment_provider_payload_response_payload.py
index 3dfd506eb6..016aa167ba 100644
--- a/src/vellum/types/deployment_provider_payload_response_payload.py
+++ b/src/vellum/types/deployment_provider_payload_response_payload.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.deployment_provider_payload_response_payload import *
+import typing
+
+DeploymentProviderPayloadResponsePayload = typing.Union[typing.Dict[str, typing.Optional[typing.Any]], str]
diff --git a/src/vellum/types/deployment_read.py b/src/vellum/types/deployment_read.py
index 15abb40dae..0aae84cefd 100644
--- a/src/vellum/types/deployment_read.py
+++ b/src/vellum/types/deployment_read.py
@@ -1,3 +1,74 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.deployment_read import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .entity_status import EntityStatus
+from .environment_enum import EnvironmentEnum
+from .vellum_variable import VellumVariable
+
+
+class DeploymentRead(UniversalBaseModel):
+ """
+ A Prompt Deployment's full details.
+ """
+
+ id: str
+ created: dt.datetime
+ label: str = pydantic.Field()
+ """
+ A human-readable label for the deployment
+ """
+
+ name: str = pydantic.Field()
+ """
+ A name that uniquely identifies this deployment within its workspace
+ """
+
+ status: typing.Optional[EntityStatus] = pydantic.Field(default=None)
+ """
+ The current status of the deployment
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+ """
+
+ environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
+ """
+ Deprecated. The value returned will always be 'PRODUCTION'.
+ """
+
+ last_deployed_on: dt.datetime
+ input_variables: typing.List[VellumVariable]
+ description: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A human-readable description of the deployment
+ """
+
+ active_model_version_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Deprecated. This now always returns an empty array.
+ """
+
+ last_deployed_history_item_id: str = pydantic.Field()
+ """
+ The ID of the history item associated with this Deployment's LATEST Release Tag
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(DeploymentRead)
diff --git a/src/vellum/types/deployment_release_tag_deployment_history_item.py b/src/vellum/types/deployment_release_tag_deployment_history_item.py
index d721cfa695..82f8b51589 100644
--- a/src/vellum/types/deployment_release_tag_deployment_history_item.py
+++ b/src/vellum/types/deployment_release_tag_deployment_history_item.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.deployment_release_tag_deployment_history_item import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class DeploymentReleaseTagDeploymentHistoryItem(UniversalBaseModel):
+ id: str
+ timestamp: dt.datetime
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/deployment_release_tag_read.py b/src/vellum/types/deployment_release_tag_read.py
index 703d52c3c2..9322528ff3 100644
--- a/src/vellum/types/deployment_release_tag_read.py
+++ b/src/vellum/types/deployment_release_tag_read.py
@@ -1,3 +1,43 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.deployment_release_tag_read import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .deployment_release_tag_deployment_history_item import DeploymentReleaseTagDeploymentHistoryItem
+from .release_tag_release import ReleaseTagRelease
+from .release_tag_source import ReleaseTagSource
+
+
+class DeploymentReleaseTagRead(UniversalBaseModel):
+ name: str = pydantic.Field()
+ """
+ The name of the Release Tag
+ """
+
+ source: ReleaseTagSource = pydantic.Field()
+ """
+ The source of how the Release Tag was originally created
+
+ * `SYSTEM` - System
+ * `USER` - User
+ """
+
+ history_item: DeploymentReleaseTagDeploymentHistoryItem = pydantic.Field()
+ """
+ Deprecated. Reference the `release` field instead.
+ """
+
+ release: ReleaseTagRelease = pydantic.Field()
+ """
+ The Release that this Release Tag points to.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/deprecated_prompt_request_input.py b/src/vellum/types/deprecated_prompt_request_input.py
index c93b1d44f8..eede8bf58c 100644
--- a/src/vellum/types/deprecated_prompt_request_input.py
+++ b/src/vellum/types/deprecated_prompt_request_input.py
@@ -1,3 +1,8 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.deprecated_prompt_request_input import *
+import typing
+
+from .prompt_request_input import PromptRequestInput
+from .workflow_input import WorkflowInput
+
+DeprecatedPromptRequestInput = typing.Union[WorkflowInput, PromptRequestInput]
diff --git a/src/vellum/types/docker_service_token.py b/src/vellum/types/docker_service_token.py
index ef28987837..695105d2c0 100644
--- a/src/vellum/types/docker_service_token.py
+++ b/src/vellum/types/docker_service_token.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.docker_service_token import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class DockerServiceToken(UniversalBaseModel):
+ access_token: str
+ organization_id: str
+ repository: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_chat_message_content.py b/src/vellum/types/document_chat_message_content.py
index af982548cc..9e112d53bf 100644
--- a/src/vellum/types/document_chat_message_content.py
+++ b/src/vellum/types/document_chat_message_content.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_chat_message_content import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document import VellumDocument
+
+
+class DocumentChatMessageContent(UniversalBaseModel):
+ """
+ A document value that is used in a chat message.
+ """
+
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: VellumDocument
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_chat_message_content_request.py b/src/vellum/types/document_chat_message_content_request.py
index dfb79d9d70..c9d1c9ba9f 100644
--- a/src/vellum/types/document_chat_message_content_request.py
+++ b/src/vellum/types/document_chat_message_content_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_chat_message_content_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document_request import VellumDocumentRequest
+
+
+class DocumentChatMessageContentRequest(UniversalBaseModel):
+ """
+ A document value that is used in a chat message.
+ """
+
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: VellumDocumentRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_document_to_document_index.py b/src/vellum/types/document_document_to_document_index.py
index 0cee455216..595bb78276 100644
--- a/src/vellum/types/document_document_to_document_index.py
+++ b/src/vellum/types/document_document_to_document_index.py
@@ -1,3 +1,50 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_document_to_document_index import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .indexing_state_enum import IndexingStateEnum
+
+
+class DocumentDocumentToDocumentIndex(UniversalBaseModel):
+ """
+ A detailed representation of the link between a Document and a Document Index it's a member of.
+ """
+
+ id: str = pydantic.Field()
+ """
+ Vellum-generated ID that uniquely identifies this link.
+ """
+
+ environment_document_index_id: str = pydantic.Field()
+ """
+ Vellum-generated ID that uniquely identifies the environment index this document is included in.
+ """
+
+ document_index_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Vellum-generated ID that uniquely identifies the index this document is included in.
+ """
+
+ indexing_state: typing.Optional[IndexingStateEnum] = pydantic.Field(default=None)
+ """
+ An enum value representing where this document is along its indexing lifecycle for this index.
+
+ * `AWAITING_PROCESSING` - Awaiting Processing
+ * `QUEUED` - Queued
+ * `INDEXING` - Indexing
+ * `INDEXED` - Indexed
+ * `FAILED` - Failed
+ """
+
+ extracted_text_file_url: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_index_chunking.py b/src/vellum/types/document_index_chunking.py
index 1cb8a798dd..8b0260a2b1 100644
--- a/src/vellum/types/document_index_chunking.py
+++ b/src/vellum/types/document_index_chunking.py
@@ -1,3 +1,12 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_index_chunking import *
+import typing
+
+from .delimiter_chunking import DelimiterChunking
+from .reducto_chunking import ReductoChunking
+from .sentence_chunking import SentenceChunking
+from .token_overlapping_window_chunking import TokenOverlappingWindowChunking
+
+DocumentIndexChunking = typing.Union[
+ ReductoChunking, SentenceChunking, TokenOverlappingWindowChunking, DelimiterChunking
+]
diff --git a/src/vellum/types/document_index_chunking_request.py b/src/vellum/types/document_index_chunking_request.py
index c06aa00ebd..7d0a3d21a1 100644
--- a/src/vellum/types/document_index_chunking_request.py
+++ b/src/vellum/types/document_index_chunking_request.py
@@ -1,3 +1,12 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_index_chunking_request import *
+import typing
+
+from .delimiter_chunking_request import DelimiterChunkingRequest
+from .reducto_chunking_request import ReductoChunkingRequest
+from .sentence_chunking_request import SentenceChunkingRequest
+from .token_overlapping_window_chunking_request import TokenOverlappingWindowChunkingRequest
+
+DocumentIndexChunkingRequest = typing.Union[
+ ReductoChunkingRequest, SentenceChunkingRequest, TokenOverlappingWindowChunkingRequest, DelimiterChunkingRequest
+]
diff --git a/src/vellum/types/document_index_indexing_config.py b/src/vellum/types/document_index_indexing_config.py
index b7faea020f..086d3eff8f 100644
--- a/src/vellum/types/document_index_indexing_config.py
+++ b/src/vellum/types/document_index_indexing_config.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_index_indexing_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .document_index_chunking import DocumentIndexChunking
+from .indexing_config_vectorizer import IndexingConfigVectorizer
+
+
+class DocumentIndexIndexingConfig(UniversalBaseModel):
+ vectorizer: IndexingConfigVectorizer
+ chunking: typing.Optional[DocumentIndexChunking] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_index_indexing_config_request.py b/src/vellum/types/document_index_indexing_config_request.py
index da30bb0135..2c12bf46ff 100644
--- a/src/vellum/types/document_index_indexing_config_request.py
+++ b/src/vellum/types/document_index_indexing_config_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_index_indexing_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .document_index_chunking_request import DocumentIndexChunkingRequest
+from .indexing_config_vectorizer_request import IndexingConfigVectorizerRequest
+
+
+class DocumentIndexIndexingConfigRequest(UniversalBaseModel):
+ vectorizer: IndexingConfigVectorizerRequest
+ chunking: typing.Optional[DocumentIndexChunkingRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_index_read.py b/src/vellum/types/document_index_read.py
index 31094d3f29..c125ff318d 100644
--- a/src/vellum/types/document_index_read.py
+++ b/src/vellum/types/document_index_read.py
@@ -1,3 +1,42 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_index_read import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .document_index_indexing_config import DocumentIndexIndexingConfig
+from .entity_status import EntityStatus
+
+
+class DocumentIndexRead(UniversalBaseModel):
+ id: str
+ created: dt.datetime
+ label: str = pydantic.Field()
+ """
+ A human-readable label for the document index
+ """
+
+ name: str = pydantic.Field()
+ """
+ A name that uniquely identifies this index within its workspace
+ """
+
+ status: typing.Optional[EntityStatus] = pydantic.Field(default=None)
+ """
+ The current status of the document index
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+ """
+
+ indexing_config: DocumentIndexIndexingConfig
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_input.py b/src/vellum/types/document_input.py
index d6b0682285..6f167c8f00 100644
--- a/src/vellum/types/document_input.py
+++ b/src/vellum/types/document_input.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document import VellumDocument
+
+
+class DocumentInput(UniversalBaseModel):
+ """
+ A user input representing a Vellum Document value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: VellumDocument
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_input_request.py b/src/vellum/types/document_input_request.py
index 722ad35580..726cc4b641 100644
--- a/src/vellum/types/document_input_request.py
+++ b/src/vellum/types/document_input_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document_request import VellumDocumentRequest
+
+
+class DocumentInputRequest(UniversalBaseModel):
+ """
+ A user input representing a Vellum Document value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: VellumDocumentRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_processing_state.py b/src/vellum/types/document_processing_state.py
index 69d3e883d0..1b247ff780 100644
--- a/src/vellum/types/document_processing_state.py
+++ b/src/vellum/types/document_processing_state.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_processing_state import *
+import typing
+
+DocumentProcessingState = typing.Union[
+ typing.Literal["QUEUED", "PROCESSING", "PROCESSED", "FAILED", "UNKNOWN"], typing.Any
+]
diff --git a/src/vellum/types/document_prompt_block.py b/src/vellum/types/document_prompt_block.py
index 5440ff988d..132105a1d0 100644
--- a/src/vellum/types/document_prompt_block.py
+++ b/src/vellum/types/document_prompt_block.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_prompt_block import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+
+
+class DocumentPromptBlock(UniversalBaseModel):
+ """
+ A block that represents a document in a prompt template.
+ """
+
+ block_type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ src: str
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_read.py b/src/vellum/types/document_read.py
index 4cc269cd9e..73acc2a565 100644
--- a/src/vellum/types/document_read.py
+++ b/src/vellum/types/document_read.py
@@ -1,3 +1,53 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_read import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .document_document_to_document_index import DocumentDocumentToDocumentIndex
+from .document_processing_state import DocumentProcessingState
+from .document_status import DocumentStatus
+
+
+class DocumentRead(UniversalBaseModel):
+ id: str
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The unique id of this document as it exists in the user's system.
+ """
+
+ last_uploaded_at: dt.datetime
+ label: str = pydantic.Field()
+ """
+ A human-readable label for the document. Defaults to the originally uploaded file's file name.
+ """
+
+ processing_state: DocumentProcessingState
+ status: typing.Optional[DocumentStatus] = pydantic.Field(default=None)
+ """
+ The current status of the document
+
+ * `ACTIVE` - Active
+ """
+
+ keywords: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ A list of keywords that'll be associated with the document. Used as part of keyword search.
+ """
+
+ original_file_url: typing.Optional[str] = None
+ document_to_document_indexes: typing.List[DocumentDocumentToDocumentIndex]
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ A previously supplied JSON object containing metadata that can be filtered on when searching.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_status.py b/src/vellum/types/document_status.py
index 2ae0dfb25c..623ad7ecf8 100644
--- a/src/vellum/types/document_status.py
+++ b/src/vellum/types/document_status.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_status import *
+import typing
+
+DocumentStatus = typing.Literal["ACTIVE"]
diff --git a/src/vellum/types/document_vellum_value.py b/src/vellum/types/document_vellum_value.py
index 339eb7ada1..2a77a064a0 100644
--- a/src/vellum/types/document_vellum_value.py
+++ b/src/vellum/types/document_vellum_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document import VellumDocument
+
+
+class DocumentVellumValue(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing a document.
+ """
+
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: typing.Optional[VellumDocument] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/document_vellum_value_request.py b/src/vellum/types/document_vellum_value_request.py
index 54e862bea0..7419235dd0 100644
--- a/src/vellum/types/document_vellum_value_request.py
+++ b/src/vellum/types/document_vellum_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.document_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document_request import VellumDocumentRequest
+
+
+class DocumentVellumValueRequest(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing a document.
+ """
+
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: typing.Optional[VellumDocumentRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/enriched_normalized_completion.py b/src/vellum/types/enriched_normalized_completion.py
index c3bad87a33..eae288858c 100644
--- a/src/vellum/types/enriched_normalized_completion.py
+++ b/src/vellum/types/enriched_normalized_completion.py
@@ -1,3 +1,59 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.enriched_normalized_completion import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .finish_reason_enum import FinishReasonEnum
+from .normalized_log_probs import NormalizedLogProbs
+from .vellum_variable_type import VellumVariableType
+
+
+class EnrichedNormalizedCompletion(UniversalBaseModel):
+ id: str = pydantic.Field()
+ """
+ The Vellum-generated ID of the completion.
+ """
+
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The external ID that was originally provided along with the generation request, which uniquely identifies this generation in an external system.
+ """
+
+ text: str = pydantic.Field()
+ """
+ The text generated by the LLM.
+ """
+
+ finish_reason: typing.Optional[FinishReasonEnum] = pydantic.Field(default=None)
+ """
+ The reason the generation finished.
+
+ * `LENGTH` - LENGTH
+ * `STOP` - STOP
+ * `UNKNOWN` - UNKNOWN
+ """
+
+ logprobs: typing.Optional[NormalizedLogProbs] = pydantic.Field(default=None)
+ """
+ The logprobs of the completion. Only present if specified in the original request options.
+ """
+
+ model_version_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The ID of the model version used to generate this completion.
+ """
+
+ prompt_version_id: str
+ type: typing.Optional[VellumVariableType] = None
+ deployment_release_tag: str
+ model_name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/entity_status.py b/src/vellum/types/entity_status.py
index ee1e30742e..9076404962 100644
--- a/src/vellum/types/entity_status.py
+++ b/src/vellum/types/entity_status.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.entity_status import *
+import typing
+
+EntityStatus = typing.Union[typing.Literal["ACTIVE", "ARCHIVED"], typing.Any]
diff --git a/src/vellum/types/entity_visibility.py b/src/vellum/types/entity_visibility.py
index dcebe780b0..5ed457da2a 100644
--- a/src/vellum/types/entity_visibility.py
+++ b/src/vellum/types/entity_visibility.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.entity_visibility import *
+import typing
+
+EntityVisibility = typing.Union[typing.Literal["DEFAULT", "PUBLIC", "PRIVATE", "DISABLED"], typing.Any]
diff --git a/src/vellum/types/environment_display_config.py b/src/vellum/types/environment_display_config.py
index 7355c01779..e72e62e6f9 100644
--- a/src/vellum/types/environment_display_config.py
+++ b/src/vellum/types/environment_display_config.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.environment_display_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class EnvironmentDisplayConfig(UniversalBaseModel):
+ color: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/environment_enum.py b/src/vellum/types/environment_enum.py
index b3495edf7d..9ce366752a 100644
--- a/src/vellum/types/environment_enum.py
+++ b/src/vellum/types/environment_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.environment_enum import *
+import typing
+
+EnvironmentEnum = typing.Union[typing.Literal["DEVELOPMENT", "STAGING", "PRODUCTION"], typing.Any]
diff --git a/src/vellum/types/environment_read.py b/src/vellum/types/environment_read.py
index add3f0ddc9..79a8d777d6 100644
--- a/src/vellum/types/environment_read.py
+++ b/src/vellum/types/environment_read.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.environment_read import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .environment_display_config import EnvironmentDisplayConfig
+
+
+class EnvironmentRead(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ name: str
+ label: str
+ display_config: typing.Optional[EnvironmentDisplayConfig] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/ephemeral_prompt_cache_config.py b/src/vellum/types/ephemeral_prompt_cache_config.py
index 87ac68a490..623104d13c 100644
--- a/src/vellum/types/ephemeral_prompt_cache_config.py
+++ b/src/vellum/types/ephemeral_prompt_cache_config.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ephemeral_prompt_cache_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config_type_enum import EphemeralPromptCacheConfigTypeEnum
+
+
+class EphemeralPromptCacheConfig(UniversalBaseModel):
+ type: typing.Optional[EphemeralPromptCacheConfigTypeEnum] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/ephemeral_prompt_cache_config_type_enum.py b/src/vellum/types/ephemeral_prompt_cache_config_type_enum.py
index 736dd3bb4a..32ec3e5633 100644
--- a/src/vellum/types/ephemeral_prompt_cache_config_type_enum.py
+++ b/src/vellum/types/ephemeral_prompt_cache_config_type_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ephemeral_prompt_cache_config_type_enum import *
+import typing
+
+EphemeralPromptCacheConfigTypeEnum = typing.Literal["EPHEMERAL"]
diff --git a/src/vellum/types/error_detail_response.py b/src/vellum/types/error_detail_response.py
index 14f472418d..1c74092a13 100644
--- a/src/vellum/types/error_detail_response.py
+++ b/src/vellum/types/error_detail_response.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.error_detail_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ErrorDetailResponse(UniversalBaseModel):
+ detail: str = pydantic.Field()
+ """
+ Message informing the user of the error.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/error_input.py b/src/vellum/types/error_input.py
index 03a33f0ae2..a87a545d6a 100644
--- a/src/vellum/types/error_input.py
+++ b/src/vellum/types/error_input.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.error_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class ErrorInput(UniversalBaseModel):
+ """
+ A user input representing a Vellum Error value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: VellumError
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/error_vellum_value.py b/src/vellum/types/error_vellum_value.py
index d1c107905b..5361c6e9c4 100644
--- a/src/vellum/types/error_vellum_value.py
+++ b/src/vellum/types/error_vellum_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.error_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class ErrorVellumValue(UniversalBaseModel):
+ """
+ A value representing an Error.
+ """
+
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/error_vellum_value_request.py b/src/vellum/types/error_vellum_value_request.py
index 623d6505ec..744fc83a9b 100644
--- a/src/vellum/types/error_vellum_value_request.py
+++ b/src/vellum/types/error_vellum_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.error_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error_request import VellumErrorRequest
+
+
+class ErrorVellumValueRequest(UniversalBaseModel):
+ """
+ A value representing an Error.
+ """
+
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumErrorRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/event_create_response.py b/src/vellum/types/event_create_response.py
index 26db705f19..a67fa93513 100644
--- a/src/vellum/types/event_create_response.py
+++ b/src/vellum/types/event_create_response.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.event_create_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class EventCreateResponse(UniversalBaseModel):
+ """
+ Response serializer for successful event creation.
+ """
+
+ success: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Indicates whether the event was published successfully.
+ """
+
+ count: int = pydantic.Field()
+ """
+ Number of events processed
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execute_api_request_bearer_token.py b/src/vellum/types/execute_api_request_bearer_token.py
index a995f1493c..b3cf2a5eb8 100644
--- a/src/vellum/types/execute_api_request_bearer_token.py
+++ b/src/vellum/types/execute_api_request_bearer_token.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execute_api_request_bearer_token import *
+import typing
+
+from .vellum_secret import VellumSecret
+
+ExecuteApiRequestBearerToken = typing.Union[str, VellumSecret]
diff --git a/src/vellum/types/execute_api_request_body.py b/src/vellum/types/execute_api_request_body.py
index b70d93de8d..4f8c3665a6 100644
--- a/src/vellum/types/execute_api_request_body.py
+++ b/src/vellum/types/execute_api_request_body.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execute_api_request_body import *
+import typing
+
+ExecuteApiRequestBody = typing.Union[
+ str, typing.List[typing.Optional[typing.Any]], typing.Dict[str, typing.Optional[typing.Any]]
+]
diff --git a/src/vellum/types/execute_api_request_headers_value.py b/src/vellum/types/execute_api_request_headers_value.py
index d87a51cd91..347250abe8 100644
--- a/src/vellum/types/execute_api_request_headers_value.py
+++ b/src/vellum/types/execute_api_request_headers_value.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execute_api_request_headers_value import *
+import typing
+
+from .vellum_secret import VellumSecret
+
+ExecuteApiRequestHeadersValue = typing.Union[str, VellumSecret]
diff --git a/src/vellum/types/execute_api_response.py b/src/vellum/types/execute_api_response.py
index e5b5c9e807..7c8ae563ac 100644
--- a/src/vellum/types/execute_api_response.py
+++ b/src/vellum/types/execute_api_response.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execute_api_response import *
+import typing
+
+import pydantic
+import typing_extensions
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from ..core.serialization import FieldMetadata
+from .execute_api_response_json import ExecuteApiResponseJson
+
+
+class ExecuteApiResponse(UniversalBaseModel):
+ status_code: int
+ text: str
+ json_: typing_extensions.Annotated[typing.Optional[ExecuteApiResponseJson], FieldMetadata(alias="json")] = None
+ headers: typing.Dict[str, str]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execute_api_response_json.py b/src/vellum/types/execute_api_response_json.py
index e5b0f48a98..dc6518c4de 100644
--- a/src/vellum/types/execute_api_response_json.py
+++ b/src/vellum/types/execute_api_response_json.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execute_api_response_json import *
+import typing
+
+ExecuteApiResponseJson = typing.Union[
+ typing.Dict[str, typing.Optional[typing.Any]], typing.List[typing.Optional[typing.Any]]
+]
diff --git a/src/vellum/types/execute_prompt_event.py b/src/vellum/types/execute_prompt_event.py
index 0243f745f2..a29edb5945 100644
--- a/src/vellum/types/execute_prompt_event.py
+++ b/src/vellum/types/execute_prompt_event.py
@@ -1,3 +1,12 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execute_prompt_event import *
+import typing
+
+from .fulfilled_execute_prompt_event import FulfilledExecutePromptEvent
+from .initiated_execute_prompt_event import InitiatedExecutePromptEvent
+from .rejected_execute_prompt_event import RejectedExecutePromptEvent
+from .streaming_execute_prompt_event import StreamingExecutePromptEvent
+
+ExecutePromptEvent = typing.Union[
+ InitiatedExecutePromptEvent, StreamingExecutePromptEvent, FulfilledExecutePromptEvent, RejectedExecutePromptEvent
+]
diff --git a/src/vellum/types/execute_prompt_response.py b/src/vellum/types/execute_prompt_response.py
index 3c973365ae..c1d4a2a6ff 100644
--- a/src/vellum/types/execute_prompt_response.py
+++ b/src/vellum/types/execute_prompt_response.py
@@ -1,3 +1,8 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execute_prompt_response import *
+import typing
+
+from .fulfilled_execute_prompt_response import FulfilledExecutePromptResponse
+from .rejected_execute_prompt_response import RejectedExecutePromptResponse
+
+ExecutePromptResponse = typing.Union[FulfilledExecutePromptResponse, RejectedExecutePromptResponse]
diff --git a/src/vellum/types/execute_workflow_response.py b/src/vellum/types/execute_workflow_response.py
index a11cc7a65e..762c08d797 100644
--- a/src/vellum/types/execute_workflow_response.py
+++ b/src/vellum/types/execute_workflow_response.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execute_workflow_response import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .execute_workflow_workflow_result_event import ExecuteWorkflowWorkflowResultEvent
+
+
+class ExecuteWorkflowResponse(UniversalBaseModel):
+ execution_id: str
+ run_id: typing.Optional[str] = None
+ external_id: typing.Optional[str] = None
+ data: ExecuteWorkflowWorkflowResultEvent
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(ExecuteWorkflowResponse)
diff --git a/src/vellum/types/execute_workflow_workflow_result_event.py b/src/vellum/types/execute_workflow_workflow_result_event.py
index 2594c9e07b..ac36843b64 100644
--- a/src/vellum/types/execute_workflow_workflow_result_event.py
+++ b/src/vellum/types/execute_workflow_workflow_result_event.py
@@ -1,3 +1,10 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execute_workflow_workflow_result_event import *
+import typing
+
+from .fulfilled_execute_workflow_workflow_result_event import FulfilledExecuteWorkflowWorkflowResultEvent
+from .rejected_execute_workflow_workflow_result_event import RejectedExecuteWorkflowWorkflowResultEvent
+
+ExecuteWorkflowWorkflowResultEvent = typing.Union[
+ FulfilledExecuteWorkflowWorkflowResultEvent, RejectedExecuteWorkflowWorkflowResultEvent
+]
diff --git a/src/vellum/types/execution_array_vellum_value.py b/src/vellum/types/execution_array_vellum_value.py
index abd9d2e4d3..69cf1f7c62 100644
--- a/src/vellum/types/execution_array_vellum_value.py
+++ b/src/vellum/types/execution_array_vellum_value.py
@@ -1,3 +1,38 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_array_vellum_value import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class ExecutionArrayVellumValue(UniversalBaseModel):
+ """
+ A value representing an array of Vellum variable values.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(ExecutionArrayVellumValue)
diff --git a/src/vellum/types/execution_audio_vellum_value.py b/src/vellum/types/execution_audio_vellum_value.py
index 236b6b9839..92bfe177a3 100644
--- a/src/vellum/types/execution_audio_vellum_value.py
+++ b/src/vellum/types/execution_audio_vellum_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_audio_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio import VellumAudio
+
+
+class ExecutionAudioVellumValue(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing audio.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: typing.Optional[VellumAudio] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_chat_history_vellum_value.py b/src/vellum/types/execution_chat_history_vellum_value.py
index ed16bfcbd9..dc76a310f0 100644
--- a/src/vellum/types/execution_chat_history_vellum_value.py
+++ b/src/vellum/types/execution_chat_history_vellum_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_chat_history_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class ExecutionChatHistoryVellumValue(UniversalBaseModel):
+ """
+ A value representing Chat History.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_document_vellum_value.py b/src/vellum/types/execution_document_vellum_value.py
index cc7a6bd957..b27bbf5dd3 100644
--- a/src/vellum/types/execution_document_vellum_value.py
+++ b/src/vellum/types/execution_document_vellum_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_document_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document import VellumDocument
+
+
+class ExecutionDocumentVellumValue(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing a document.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: typing.Optional[VellumDocument] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_error_vellum_value.py b/src/vellum/types/execution_error_vellum_value.py
index ec48110248..4c418f08fd 100644
--- a/src/vellum/types/execution_error_vellum_value.py
+++ b/src/vellum/types/execution_error_vellum_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_error_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class ExecutionErrorVellumValue(UniversalBaseModel):
+ """
+ A value representing an Error.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_function_call_vellum_value.py b/src/vellum/types/execution_function_call_vellum_value.py
index a19bef0286..451bb14830 100644
--- a/src/vellum/types/execution_function_call_vellum_value.py
+++ b/src/vellum/types/execution_function_call_vellum_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_function_call_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class ExecutionFunctionCallVellumValue(UniversalBaseModel):
+ """
+ A value representing a Function Call.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_image_vellum_value.py b/src/vellum/types/execution_image_vellum_value.py
index cba0846b05..0349f61842 100644
--- a/src/vellum/types/execution_image_vellum_value.py
+++ b/src/vellum/types/execution_image_vellum_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_image_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image import VellumImage
+
+
+class ExecutionImageVellumValue(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing an image.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: typing.Optional[VellumImage] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_json_vellum_value.py b/src/vellum/types/execution_json_vellum_value.py
index c84c34a0c2..e3dfb1fe02 100644
--- a/src/vellum/types/execution_json_vellum_value.py
+++ b/src/vellum/types/execution_json_vellum_value.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_json_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ExecutionJsonVellumValue(UniversalBaseModel):
+ """
+ A value representing a JSON object.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_number_vellum_value.py b/src/vellum/types/execution_number_vellum_value.py
index 02e2a3c74e..3416210c16 100644
--- a/src/vellum/types/execution_number_vellum_value.py
+++ b/src/vellum/types/execution_number_vellum_value.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_number_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ExecutionNumberVellumValue(UniversalBaseModel):
+ """
+ A value representing a number.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_search_results_vellum_value.py b/src/vellum/types/execution_search_results_vellum_value.py
index df98b0eb46..9b839c6b1b 100644
--- a/src/vellum/types/execution_search_results_vellum_value.py
+++ b/src/vellum/types/execution_search_results_vellum_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_search_results_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class ExecutionSearchResultsVellumValue(UniversalBaseModel):
+ """
+ A value representing Search Results.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_string_vellum_value.py b/src/vellum/types/execution_string_vellum_value.py
index 3dacd427ad..4e1923b4ae 100644
--- a/src/vellum/types/execution_string_vellum_value.py
+++ b/src/vellum/types/execution_string_vellum_value.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_string_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ExecutionStringVellumValue(UniversalBaseModel):
+ """
+ A value representing a string.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_thinking_vellum_value.py b/src/vellum/types/execution_thinking_vellum_value.py
index d3caf62d3f..7fb181e943 100644
--- a/src/vellum/types/execution_thinking_vellum_value.py
+++ b/src/vellum/types/execution_thinking_vellum_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_thinking_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .string_vellum_value import StringVellumValue
+
+
+class ExecutionThinkingVellumValue(UniversalBaseModel):
+ """
+ A value representing Thinking mode output.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["THINKING"] = "THINKING"
+ value: typing.Optional[StringVellumValue] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/execution_vellum_value.py b/src/vellum/types/execution_vellum_value.py
index 629db096de..a0e75c06b8 100644
--- a/src/vellum/types/execution_vellum_value.py
+++ b/src/vellum/types/execution_vellum_value.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_vellum_value import *
+import typing
+
+from .execution_array_vellum_value import ExecutionArrayVellumValue
+from .execution_audio_vellum_value import ExecutionAudioVellumValue
+from .execution_chat_history_vellum_value import ExecutionChatHistoryVellumValue
+from .execution_document_vellum_value import ExecutionDocumentVellumValue
+from .execution_error_vellum_value import ExecutionErrorVellumValue
+from .execution_function_call_vellum_value import ExecutionFunctionCallVellumValue
+from .execution_image_vellum_value import ExecutionImageVellumValue
+from .execution_json_vellum_value import ExecutionJsonVellumValue
+from .execution_number_vellum_value import ExecutionNumberVellumValue
+from .execution_search_results_vellum_value import ExecutionSearchResultsVellumValue
+from .execution_string_vellum_value import ExecutionStringVellumValue
+from .execution_thinking_vellum_value import ExecutionThinkingVellumValue
+from .execution_video_vellum_value import ExecutionVideoVellumValue
+
+ExecutionVellumValue = typing.Union[
+ ExecutionStringVellumValue,
+ ExecutionNumberVellumValue,
+ ExecutionJsonVellumValue,
+ ExecutionChatHistoryVellumValue,
+ ExecutionSearchResultsVellumValue,
+ ExecutionErrorVellumValue,
+ ExecutionArrayVellumValue,
+ ExecutionFunctionCallVellumValue,
+ ExecutionThinkingVellumValue,
+ ExecutionAudioVellumValue,
+ ExecutionVideoVellumValue,
+ ExecutionImageVellumValue,
+ ExecutionDocumentVellumValue,
+]
diff --git a/src/vellum/types/execution_video_vellum_value.py b/src/vellum/types/execution_video_vellum_value.py
index 2a2fe9ce6f..0405968dd4 100644
--- a/src/vellum/types/execution_video_vellum_value.py
+++ b/src/vellum/types/execution_video_vellum_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.execution_video_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video import VellumVideo
+
+
+class ExecutionVideoVellumValue(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing a video.
+ """
+
+ id: str = pydantic.Field()
+ """
+ The variable's uniquely identifying internal id.
+ """
+
+ name: str
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: typing.Optional[VellumVideo] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/external_input_descriptor.py b/src/vellum/types/external_input_descriptor.py
index cf38634a51..562a06d9b9 100644
--- a/src/vellum/types/external_input_descriptor.py
+++ b/src/vellum/types/external_input_descriptor.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.external_input_descriptor import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .code_resource_definition import CodeResourceDefinition
+
+
+class ExternalInputDescriptor(UniversalBaseModel):
+ types: typing.List[CodeResourceDefinition]
+ inputs_class: typing.Optional[CodeResourceDefinition] = None
+ instance: typing.Optional[typing.Optional[typing.Any]] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/external_parent_context.py b/src/vellum/types/external_parent_context.py
index 268ddae546..1e3b8d8b78 100644
--- a/src/vellum/types/external_parent_context.py
+++ b/src/vellum/types/external_parent_context.py
@@ -1,3 +1,38 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.external_parent_context import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class ExternalParentContext(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ type: typing.Literal["EXTERNAL"] = "EXTERNAL"
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(ExternalParentContext)
diff --git a/src/vellum/types/external_test_case_execution.py b/src/vellum/types/external_test_case_execution.py
index fe611d1000..b816d3d3fb 100644
--- a/src/vellum/types/external_test_case_execution.py
+++ b/src/vellum/types/external_test_case_execution.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.external_test_case_execution import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .named_test_case_variable_value import NamedTestCaseVariableValue
+
+
+class ExternalTestCaseExecution(UniversalBaseModel):
+ outputs: typing.List[NamedTestCaseVariableValue] = pydantic.Field()
+ """
+ The output values of a callable that was executed against a Test Case outside of Vellum
+ """
+
+ test_case_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(ExternalTestCaseExecution)
diff --git a/src/vellum/types/external_test_case_execution_request.py b/src/vellum/types/external_test_case_execution_request.py
index 2d303fd6a4..0c00b0e6ed 100644
--- a/src/vellum/types/external_test_case_execution_request.py
+++ b/src/vellum/types/external_test_case_execution_request.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.external_test_case_execution_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
+
+
+class ExternalTestCaseExecutionRequest(UniversalBaseModel):
+ outputs: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
+ """
+ The output values of a callable that was executed against a Test Case outside of Vellum
+ """
+
+ test_case_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(ExternalTestCaseExecutionRequest)
diff --git a/src/vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py b/src/vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py
index 72a774c252..1be704ff1b 100644
--- a/src/vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py
+++ b/src/vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.fast_embed_vectorizer_baai_bge_small_en_v_15 import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class FastEmbedVectorizerBaaiBgeSmallEnV15(UniversalBaseModel):
+ """
+ FastEmbed vectorizer for BAAI/bge-small-en-v1.5.
+ """
+
+ model_name: typing.Literal["BAAI/bge-small-en-v1.5"] = "BAAI/bge-small-en-v1.5"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py b/src/vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py
index d12f666f0a..b1ad2899f3 100644
--- a/src/vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py
+++ b/src/vellum/types/fast_embed_vectorizer_baai_bge_small_en_v_15_request.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.fast_embed_vectorizer_baai_bge_small_en_v_15_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class FastEmbedVectorizerBaaiBgeSmallEnV15Request(UniversalBaseModel):
+ """
+ FastEmbed vectorizer for BAAI/bge-small-en-v1.5.
+ """
+
+ model_name: typing.Literal["BAAI/bge-small-en-v1.5"] = "BAAI/bge-small-en-v1.5"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/finish_reason_enum.py b/src/vellum/types/finish_reason_enum.py
index f3105b2e37..496efde3ab 100644
--- a/src/vellum/types/finish_reason_enum.py
+++ b/src/vellum/types/finish_reason_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.finish_reason_enum import *
+import typing
+
+FinishReasonEnum = typing.Union[typing.Literal["LENGTH", "STOP", "UNKNOWN"], typing.Any]
diff --git a/src/vellum/types/folder_entity.py b/src/vellum/types/folder_entity.py
index 8ddabf20ae..069064a1c4 100644
--- a/src/vellum/types/folder_entity.py
+++ b/src/vellum/types/folder_entity.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity import *
+import typing
+
+from .folder_entity_dataset import FolderEntityDataset
+from .folder_entity_document_index import FolderEntityDocumentIndex
+from .folder_entity_folder import FolderEntityFolder
+from .folder_entity_prompt_sandbox import FolderEntityPromptSandbox
+from .folder_entity_test_suite import FolderEntityTestSuite
+from .folder_entity_workflow_sandbox import FolderEntityWorkflowSandbox
+
+FolderEntity = typing.Union[
+ FolderEntityFolder,
+ FolderEntityPromptSandbox,
+ FolderEntityWorkflowSandbox,
+ FolderEntityDocumentIndex,
+ FolderEntityTestSuite,
+ FolderEntityDataset,
+]
diff --git a/src/vellum/types/folder_entity_dataset.py b/src/vellum/types/folder_entity_dataset.py
index a3941f55d2..82271a1f9d 100644
--- a/src/vellum/types/folder_entity_dataset.py
+++ b/src/vellum/types/folder_entity_dataset.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_dataset import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .folder_entity_dataset_data import FolderEntityDatasetData
+
+
+class FolderEntityDataset(UniversalBaseModel):
+ """
+ A slim representation of a Dataset, as it exists within a Folder.
+ """
+
+ id: str
+ type: typing.Literal["DATASET"] = "DATASET"
+ data: FolderEntityDatasetData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_dataset_data.py b/src/vellum/types/folder_entity_dataset_data.py
index d45fdf1c01..79b45391bd 100644
--- a/src/vellum/types/folder_entity_dataset_data.py
+++ b/src/vellum/types/folder_entity_dataset_data.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_dataset_data import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class FolderEntityDatasetData(UniversalBaseModel):
+ id: str
+ label: str
+ name: str
+ description: typing.Optional[str] = None
+ created: dt.datetime
+ modified: dt.datetime
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_document_index.py b/src/vellum/types/folder_entity_document_index.py
index 21e9c2327d..130980fab5 100644
--- a/src/vellum/types/folder_entity_document_index.py
+++ b/src/vellum/types/folder_entity_document_index.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_document_index import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .folder_entity_document_index_data import FolderEntityDocumentIndexData
+
+
+class FolderEntityDocumentIndex(UniversalBaseModel):
+ """
+ A slim representation of a Document Index, as it exists within a Folder.
+ """
+
+ id: str
+ type: typing.Literal["DOCUMENT_INDEX"] = "DOCUMENT_INDEX"
+ data: FolderEntityDocumentIndexData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_document_index_data.py b/src/vellum/types/folder_entity_document_index_data.py
index 0e715ee862..32efd302de 100644
--- a/src/vellum/types/folder_entity_document_index_data.py
+++ b/src/vellum/types/folder_entity_document_index_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_document_index_data import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .document_index_indexing_config import DocumentIndexIndexingConfig
+from .entity_status import EntityStatus
+
+
+class FolderEntityDocumentIndexData(UniversalBaseModel):
+ id: str
+ label: str
+ created: dt.datetime
+ modified: dt.datetime
+ status: EntityStatus
+ indexing_config: DocumentIndexIndexingConfig
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_folder.py b/src/vellum/types/folder_entity_folder.py
index 3a193909d5..087d56f3b0 100644
--- a/src/vellum/types/folder_entity_folder.py
+++ b/src/vellum/types/folder_entity_folder.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_folder import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .folder_entity_folder_data import FolderEntityFolderData
+
+
+class FolderEntityFolder(UniversalBaseModel):
+ """
+ A slim representation of a Folder, as it exists within another Folder.
+ """
+
+ id: str
+ type: typing.Literal["FOLDER"] = "FOLDER"
+ data: FolderEntityFolderData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_folder_data.py b/src/vellum/types/folder_entity_folder_data.py
index d0a50b6355..9c9e304818 100644
--- a/src/vellum/types/folder_entity_folder_data.py
+++ b/src/vellum/types/folder_entity_folder_data.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_folder_data import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class FolderEntityFolderData(UniversalBaseModel):
+ id: str
+ label: str
+ created: dt.datetime
+ modified: dt.datetime
+ has_contents: bool
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_prompt_sandbox.py b/src/vellum/types/folder_entity_prompt_sandbox.py
index 087fb448ea..c4192f7bae 100644
--- a/src/vellum/types/folder_entity_prompt_sandbox.py
+++ b/src/vellum/types/folder_entity_prompt_sandbox.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_prompt_sandbox import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .folder_entity_prompt_sandbox_data import FolderEntityPromptSandboxData
+
+
+class FolderEntityPromptSandbox(UniversalBaseModel):
+ """
+ A slim representation of a Prompt Sandbox, as it exists within a Folder.
+ """
+
+ id: str
+ type: typing.Literal["PROMPT_SANDBOX"] = "PROMPT_SANDBOX"
+ data: FolderEntityPromptSandboxData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_prompt_sandbox_data.py b/src/vellum/types/folder_entity_prompt_sandbox_data.py
index d49c1b0792..bf75428120 100644
--- a/src/vellum/types/folder_entity_prompt_sandbox_data.py
+++ b/src/vellum/types/folder_entity_prompt_sandbox_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_prompt_sandbox_data import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .entity_status import EntityStatus
+
+
+class FolderEntityPromptSandboxData(UniversalBaseModel):
+ id: str
+ label: str
+ created: dt.datetime
+ modified: dt.datetime
+ status: EntityStatus
+ description: typing.Optional[str] = None
+ last_deployed_on: typing.Optional[dt.datetime] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_test_suite.py b/src/vellum/types/folder_entity_test_suite.py
index 0766336473..9b14a958ae 100644
--- a/src/vellum/types/folder_entity_test_suite.py
+++ b/src/vellum/types/folder_entity_test_suite.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_test_suite import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .folder_entity_test_suite_data import FolderEntityTestSuiteData
+
+
+class FolderEntityTestSuite(UniversalBaseModel):
+ """
+ A slim representation of a Test Suite, as it exists within a Folder.
+ """
+
+ id: str
+ type: typing.Literal["TEST_SUITE"] = "TEST_SUITE"
+ data: FolderEntityTestSuiteData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_test_suite_data.py b/src/vellum/types/folder_entity_test_suite_data.py
index 6e64cc4043..694ddf14c6 100644
--- a/src/vellum/types/folder_entity_test_suite_data.py
+++ b/src/vellum/types/folder_entity_test_suite_data.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_test_suite_data import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .entity_status import EntityStatus
+
+
+class FolderEntityTestSuiteData(UniversalBaseModel):
+ id: str
+ label: str
+ created: dt.datetime
+ modified: dt.datetime
+ status: EntityStatus
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_workflow_sandbox.py b/src/vellum/types/folder_entity_workflow_sandbox.py
index 58b51849a9..b622f6407c 100644
--- a/src/vellum/types/folder_entity_workflow_sandbox.py
+++ b/src/vellum/types/folder_entity_workflow_sandbox.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_workflow_sandbox import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .folder_entity_workflow_sandbox_data import FolderEntityWorkflowSandboxData
+
+
+class FolderEntityWorkflowSandbox(UniversalBaseModel):
+ """
+ A slim representation of a Workflow Sandbox, as it exists within a Folder.
+ """
+
+ id: str
+ type: typing.Literal["WORKFLOW_SANDBOX"] = "WORKFLOW_SANDBOX"
+ data: FolderEntityWorkflowSandboxData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/folder_entity_workflow_sandbox_data.py b/src/vellum/types/folder_entity_workflow_sandbox_data.py
index 25d9d2e18a..c4af40756b 100644
--- a/src/vellum/types/folder_entity_workflow_sandbox_data.py
+++ b/src/vellum/types/folder_entity_workflow_sandbox_data.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.folder_entity_workflow_sandbox_data import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .entity_status import EntityStatus
+from .workflow_sandbox_display_data import WorkflowSandboxDisplayData
+
+
+class FolderEntityWorkflowSandboxData(UniversalBaseModel):
+ id: str
+ label: str
+ created: dt.datetime
+ modified: dt.datetime
+ status: EntityStatus
+ description: typing.Optional[str] = None
+ last_deployed_on: typing.Optional[dt.datetime] = None
+ display_data: typing.Optional[WorkflowSandboxDisplayData] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/fulfilled_ad_hoc_execute_prompt_event.py b/src/vellum/types/fulfilled_ad_hoc_execute_prompt_event.py
index 1c27dbbee2..d5cd2b412b 100644
--- a/src/vellum/types/fulfilled_ad_hoc_execute_prompt_event.py
+++ b/src/vellum/types/fulfilled_ad_hoc_execute_prompt_event.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.fulfilled_ad_hoc_execute_prompt_event import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ad_hoc_fulfilled_prompt_execution_meta import AdHocFulfilledPromptExecutionMeta
+from .prompt_output import PromptOutput
+
+
+class FulfilledAdHocExecutePromptEvent(UniversalBaseModel):
+ """
+ The final data event returned indicating that the stream has ended and all final resolved values from the model can be found.
+ """
+
+ state: typing.Literal["FULFILLED"] = "FULFILLED"
+ outputs: typing.List[PromptOutput]
+ execution_id: str
+ meta: typing.Optional[AdHocFulfilledPromptExecutionMeta] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/fulfilled_execute_prompt_event.py b/src/vellum/types/fulfilled_execute_prompt_event.py
index 1954dc5784..dbaa06c9a5 100644
--- a/src/vellum/types/fulfilled_execute_prompt_event.py
+++ b/src/vellum/types/fulfilled_execute_prompt_event.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.fulfilled_execute_prompt_event import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .fulfilled_prompt_execution_meta import FulfilledPromptExecutionMeta
+from .prompt_output import PromptOutput
+
+
+class FulfilledExecutePromptEvent(UniversalBaseModel):
+ """
+ The final data event returned indicating that the stream has ended and all final resolved values from the model can be found.
+ """
+
+ state: typing.Literal["FULFILLED"] = "FULFILLED"
+ outputs: typing.List[PromptOutput]
+ execution_id: str
+ meta: typing.Optional[FulfilledPromptExecutionMeta] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/fulfilled_execute_prompt_response.py b/src/vellum/types/fulfilled_execute_prompt_response.py
index 1751c9cdd6..2d4c48899b 100644
--- a/src/vellum/types/fulfilled_execute_prompt_response.py
+++ b/src/vellum/types/fulfilled_execute_prompt_response.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.fulfilled_execute_prompt_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .prompt_execution_meta import PromptExecutionMeta
+from .prompt_output import PromptOutput
+
+
+class FulfilledExecutePromptResponse(UniversalBaseModel):
+ """
+ The successful response from the model containing all of the resolved values generated by the prompt.
+ """
+
+ meta: typing.Optional[PromptExecutionMeta] = None
+ raw: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ The subset of the raw response from the model that the request opted into with `expand_raw`.
+ """
+
+ execution_id: str = pydantic.Field()
+ """
+ The ID of the execution.
+ """
+
+ state: typing.Literal["FULFILLED"] = "FULFILLED"
+ outputs: typing.List[PromptOutput]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/fulfilled_execute_workflow_workflow_result_event.py b/src/vellum/types/fulfilled_execute_workflow_workflow_result_event.py
index cd42b89247..41bb54bc42 100644
--- a/src/vellum/types/fulfilled_execute_workflow_workflow_result_event.py
+++ b/src/vellum/types/fulfilled_execute_workflow_workflow_result_event.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.fulfilled_execute_workflow_workflow_result_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .workflow_output import WorkflowOutput
+
+
+class FulfilledExecuteWorkflowWorkflowResultEvent(UniversalBaseModel):
+ """
+ The successful response from the Workflow execution containing the produced outputs.
+ """
+
+ id: str
+ state: typing.Literal["FULFILLED"] = "FULFILLED"
+ ts: dt.datetime
+ outputs: typing.List[WorkflowOutput]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(FulfilledExecuteWorkflowWorkflowResultEvent)
diff --git a/src/vellum/types/fulfilled_prompt_execution_meta.py b/src/vellum/types/fulfilled_prompt_execution_meta.py
index b2511df780..b29f752ffb 100644
--- a/src/vellum/types/fulfilled_prompt_execution_meta.py
+++ b/src/vellum/types/fulfilled_prompt_execution_meta.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.fulfilled_prompt_execution_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .finish_reason_enum import FinishReasonEnum
+from .ml_model_usage import MlModelUsage
+from .price import Price
+
+
+class FulfilledPromptExecutionMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
+ """
+
+ latency: typing.Optional[int] = None
+ finish_reason: typing.Optional[FinishReasonEnum] = None
+ usage: typing.Optional[MlModelUsage] = None
+ cost: typing.Optional[Price] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/fulfilled_workflow_node_result_event.py b/src/vellum/types/fulfilled_workflow_node_result_event.py
index 93533d981c..f2dbeeb434 100644
--- a/src/vellum/types/fulfilled_workflow_node_result_event.py
+++ b/src/vellum/types/fulfilled_workflow_node_result_event.py
@@ -1,3 +1,41 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.fulfilled_workflow_node_result_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .node_output_compiled_value import NodeOutputCompiledValue
+from .workflow_node_result_data import WorkflowNodeResultData
+
+
+class FulfilledWorkflowNodeResultEvent(UniversalBaseModel):
+ """
+ An event that indicates that the node has fulfilled its execution.
+ """
+
+ id: str
+ node_id: str
+ node_result_id: str
+ state: typing.Literal["FULFILLED"] = "FULFILLED"
+ ts: typing.Optional[dt.datetime] = None
+ data: typing.Optional[WorkflowNodeResultData] = None
+ source_execution_id: typing.Optional[str] = None
+ output_values: typing.List[NodeOutputCompiledValue]
+ mocked: typing.Optional[bool] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(FulfilledWorkflowNodeResultEvent)
diff --git a/src/vellum/types/function_call.py b/src/vellum/types/function_call.py
index 8e42b82650..4e0defa296 100644
--- a/src/vellum/types/function_call.py
+++ b/src/vellum/types/function_call.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_call import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class FunctionCall(UniversalBaseModel):
+ """
+ The final resolved function call value.
+ """
+
+ arguments: typing.Dict[str, typing.Optional[typing.Any]]
+ id: typing.Optional[str] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/function_call_chat_message_content.py b/src/vellum/types/function_call_chat_message_content.py
index 1ade827f4c..012402a53c 100644
--- a/src/vellum/types/function_call_chat_message_content.py
+++ b/src/vellum/types/function_call_chat_message_content.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_call_chat_message_content import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call_chat_message_content_value import FunctionCallChatMessageContentValue
+
+
+class FunctionCallChatMessageContent(UniversalBaseModel):
+ """
+ A function call value that is used in a chat message.
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: FunctionCallChatMessageContentValue
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/function_call_chat_message_content_request.py b/src/vellum/types/function_call_chat_message_content_request.py
index 3d7ea9631f..d5e8e42022 100644
--- a/src/vellum/types/function_call_chat_message_content_request.py
+++ b/src/vellum/types/function_call_chat_message_content_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_call_chat_message_content_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call_chat_message_content_value_request import FunctionCallChatMessageContentValueRequest
+
+
+class FunctionCallChatMessageContentRequest(UniversalBaseModel):
+ """
+ A function call value that is used in a chat message.
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: FunctionCallChatMessageContentValueRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/function_call_chat_message_content_value.py b/src/vellum/types/function_call_chat_message_content_value.py
index 88ef668b4d..b7858673c3 100644
--- a/src/vellum/types/function_call_chat_message_content_value.py
+++ b/src/vellum/types/function_call_chat_message_content_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_call_chat_message_content_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class FunctionCallChatMessageContentValue(UniversalBaseModel):
+ """
+ The final resolved function call value.
+ """
+
+ name: str
+ arguments: typing.Dict[str, typing.Optional[typing.Any]]
+ id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/function_call_chat_message_content_value_request.py b/src/vellum/types/function_call_chat_message_content_value_request.py
index 91d1f8435d..c5403a6ac8 100644
--- a/src/vellum/types/function_call_chat_message_content_value_request.py
+++ b/src/vellum/types/function_call_chat_message_content_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_call_chat_message_content_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class FunctionCallChatMessageContentValueRequest(UniversalBaseModel):
+ """
+ The final resolved function call value.
+ """
+
+ name: str
+ arguments: typing.Dict[str, typing.Optional[typing.Any]]
+ id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/function_call_input.py b/src/vellum/types/function_call_input.py
index 94b4faf343..c59f3ea0cd 100644
--- a/src/vellum/types/function_call_input.py
+++ b/src/vellum/types/function_call_input.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_call_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class FunctionCallInput(UniversalBaseModel):
+ """
+ A user input representing a Vellum Function Call value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: FunctionCall
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/function_call_prompt_block.py b/src/vellum/types/function_call_prompt_block.py
index 7a88677ede..e7aa2dd6b0 100644
--- a/src/vellum/types/function_call_prompt_block.py
+++ b/src/vellum/types/function_call_prompt_block.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_call_prompt_block import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+
+
+class FunctionCallPromptBlock(UniversalBaseModel):
+ """
+ A block that represents a function call in a prompt template.
+ """
+
+ block_type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ id: typing.Optional[str] = None
+ name: str
+ arguments: typing.Dict[str, typing.Optional[typing.Any]]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/function_call_request.py b/src/vellum/types/function_call_request.py
index 3734a859a5..f175d8e0f8 100644
--- a/src/vellum/types/function_call_request.py
+++ b/src/vellum/types/function_call_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_call_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class FunctionCallRequest(UniversalBaseModel):
+ """
+ The final resolved function call value.
+ """
+
+ arguments: typing.Dict[str, typing.Optional[typing.Any]]
+ id: typing.Optional[str] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/function_call_vellum_value.py b/src/vellum/types/function_call_vellum_value.py
index 420b9d5cca..30c71d17ce 100644
--- a/src/vellum/types/function_call_vellum_value.py
+++ b/src/vellum/types/function_call_vellum_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_call_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class FunctionCallVellumValue(UniversalBaseModel):
+ """
+ A value representing a Function Call.
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/function_call_vellum_value_request.py b/src/vellum/types/function_call_vellum_value_request.py
index e49f9b014f..13eff59769 100644
--- a/src/vellum/types/function_call_vellum_value_request.py
+++ b/src/vellum/types/function_call_vellum_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_call_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call_request import FunctionCallRequest
+
+
+class FunctionCallVellumValueRequest(UniversalBaseModel):
+ """
+ A value representing a Function Call.
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCallRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/function_definition.py b/src/vellum/types/function_definition.py
index fef224844e..cd6847fdbf 100644
--- a/src/vellum/types/function_definition.py
+++ b/src/vellum/types/function_definition.py
@@ -1,3 +1,55 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.function_definition import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+
+
+class FunctionDefinition(UniversalBaseModel):
+ """
+ The definition of a Function (aka "Tool Call") that a Prompt/Model has access to.
+ """
+
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ name: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The name identifying the function.
+ """
+
+ description: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A description to help guide the model when to invoke this function.
+ """
+
+ parameters: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ An OpenAPI specification of parameters that are supported by this function.
+ """
+
+ inputs: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ Optional user defined input mappings for this function.
+ """
+
+ forced: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Set this option to true to force the model to return a function call of this function.
+ """
+
+ strict: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Set this option to use strict schema decoding when available.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/generate_options_request.py b/src/vellum/types/generate_options_request.py
index 0a11b4d24f..236f762296 100644
--- a/src/vellum/types/generate_options_request.py
+++ b/src/vellum/types/generate_options_request.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.generate_options_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .logprobs_enum import LogprobsEnum
+
+
+class GenerateOptionsRequest(UniversalBaseModel):
+ logprobs: typing.Optional[LogprobsEnum] = pydantic.Field(default=None)
+ """
+ Which logprobs to include, if any. Defaults to NONE.
+
+ * `ALL` - ALL
+ * `NONE` - NONE
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/generate_request.py b/src/vellum/types/generate_request.py
index bf3a2f560d..2a03e69791 100644
--- a/src/vellum/types/generate_request.py
+++ b/src/vellum/types/generate_request.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.generate_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message_request import ChatMessageRequest
+
+
+class GenerateRequest(UniversalBaseModel):
+ input_values: typing.Dict[str, typing.Optional[typing.Any]] = pydantic.Field()
+ """
+ Key/value pairs for each template variable defined in the deployment's prompt.
+ """
+
+ chat_history: typing.Optional[typing.List[ChatMessageRequest]] = pydantic.Field(default=None)
+ """
+ Optionally provide a list of chat messages that'll be used in place of the special chat_history variable, if included in the prompt.
+ """
+
+ external_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally include a unique identifier for each generation, as represented outside of Vellum. Note that this should generally be a list of length one.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/generate_response.py b/src/vellum/types/generate_response.py
index 50f46fbdc3..71e5fb5b43 100644
--- a/src/vellum/types/generate_response.py
+++ b/src/vellum/types/generate_response.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.generate_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .generate_result import GenerateResult
+
+
+class GenerateResponse(UniversalBaseModel):
+ results: typing.List[GenerateResult] = pydantic.Field()
+ """
+ The results of each generation request.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/generate_result.py b/src/vellum/types/generate_result.py
index afa005059e..1806adb325 100644
--- a/src/vellum/types/generate_result.py
+++ b/src/vellum/types/generate_result.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.generate_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .generate_result_data import GenerateResultData
+from .generate_result_error import GenerateResultError
+
+
+class GenerateResult(UniversalBaseModel):
+ data: typing.Optional[GenerateResultData] = pydantic.Field(default=None)
+ """
+ An object containing the resulting generation. This key will be absent if the LLM provider experienced an error.
+ """
+
+ error: typing.Optional[GenerateResultError] = pydantic.Field(default=None)
+ """
+ An object containing details about the error that occurred. This key will be absent if the LLM provider did not experience an error.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/generate_result_data.py b/src/vellum/types/generate_result_data.py
index 38961cfe03..f5fe48633f 100644
--- a/src/vellum/types/generate_result_data.py
+++ b/src/vellum/types/generate_result_data.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.generate_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .enriched_normalized_completion import EnrichedNormalizedCompletion
+
+
+class GenerateResultData(UniversalBaseModel):
+ completions: typing.List[EnrichedNormalizedCompletion] = pydantic.Field()
+ """
+ The generated completions. This will generally be a list of length one.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/generate_result_error.py b/src/vellum/types/generate_result_error.py
index 8550e59771..ef58cc2b75 100644
--- a/src/vellum/types/generate_result_error.py
+++ b/src/vellum/types/generate_result_error.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.generate_result_error import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class GenerateResultError(UniversalBaseModel):
+ message: str = pydantic.Field()
+ """
+ The error message returned by the LLM provider.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/generate_stream_response.py b/src/vellum/types/generate_stream_response.py
index 30e6f9a22d..44a015e897 100644
--- a/src/vellum/types/generate_stream_response.py
+++ b/src/vellum/types/generate_stream_response.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.generate_stream_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .generate_stream_result import GenerateStreamResult
+
+
+class GenerateStreamResponse(UniversalBaseModel):
+ delta: GenerateStreamResult
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/generate_stream_result.py b/src/vellum/types/generate_stream_result.py
index 7e1b49b067..798dfae9c7 100644
--- a/src/vellum/types/generate_stream_result.py
+++ b/src/vellum/types/generate_stream_result.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.generate_stream_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .generate_result_error import GenerateResultError
+from .generate_stream_result_data import GenerateStreamResultData
+
+
+class GenerateStreamResult(UniversalBaseModel):
+ request_index: int
+ data: typing.Optional[GenerateStreamResultData] = None
+ error: typing.Optional[GenerateResultError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/generate_stream_result_data.py b/src/vellum/types/generate_stream_result_data.py
index 2930594893..69691ff098 100644
--- a/src/vellum/types/generate_stream_result_data.py
+++ b/src/vellum/types/generate_stream_result_data.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.generate_stream_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .enriched_normalized_completion import EnrichedNormalizedCompletion
+
+
+class GenerateStreamResultData(UniversalBaseModel):
+ completion_index: int
+ completion: EnrichedNormalizedCompletion
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/google_vertex_ai_vectorizer_config.py b/src/vellum/types/google_vertex_ai_vectorizer_config.py
index bcce852f0b..85211cdad5 100644
--- a/src/vellum/types/google_vertex_ai_vectorizer_config.py
+++ b/src/vellum/types/google_vertex_ai_vectorizer_config.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.google_vertex_ai_vectorizer_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class GoogleVertexAiVectorizerConfig(UniversalBaseModel):
+ project_id: str
+ region: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/google_vertex_ai_vectorizer_config_request.py b/src/vellum/types/google_vertex_ai_vectorizer_config_request.py
index 072681c83b..5700d5ae67 100644
--- a/src/vellum/types/google_vertex_ai_vectorizer_config_request.py
+++ b/src/vellum/types/google_vertex_ai_vectorizer_config_request.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.google_vertex_ai_vectorizer_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class GoogleVertexAiVectorizerConfigRequest(UniversalBaseModel):
+ project_id: str
+ region: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/google_vertex_ai_vectorizer_gemini_embedding_001.py b/src/vellum/types/google_vertex_ai_vectorizer_gemini_embedding_001.py
index 09e6cf63a8..cfbd080926 100644
--- a/src/vellum/types/google_vertex_ai_vectorizer_gemini_embedding_001.py
+++ b/src/vellum/types/google_vertex_ai_vectorizer_gemini_embedding_001.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.google_vertex_ai_vectorizer_gemini_embedding_001 import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .google_vertex_ai_vectorizer_config import GoogleVertexAiVectorizerConfig
+
+
+class GoogleVertexAiVectorizerGeminiEmbedding001(UniversalBaseModel):
+ model_name: typing.Literal["gemini-embedding-001"] = "gemini-embedding-001"
+ config: GoogleVertexAiVectorizerConfig
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/google_vertex_ai_vectorizer_gemini_embedding_001_request.py b/src/vellum/types/google_vertex_ai_vectorizer_gemini_embedding_001_request.py
index e8403d0d27..5d19e2de21 100644
--- a/src/vellum/types/google_vertex_ai_vectorizer_gemini_embedding_001_request.py
+++ b/src/vellum/types/google_vertex_ai_vectorizer_gemini_embedding_001_request.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.google_vertex_ai_vectorizer_gemini_embedding_001_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .google_vertex_ai_vectorizer_config_request import GoogleVertexAiVectorizerConfigRequest
+
+
+class GoogleVertexAiVectorizerGeminiEmbedding001Request(UniversalBaseModel):
+ model_name: typing.Literal["gemini-embedding-001"] = "gemini-embedding-001"
+ config: GoogleVertexAiVectorizerConfigRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/google_vertex_ai_vectorizer_text_embedding_004.py b/src/vellum/types/google_vertex_ai_vectorizer_text_embedding_004.py
index 9ffc4467ff..7cebc1e444 100644
--- a/src/vellum/types/google_vertex_ai_vectorizer_text_embedding_004.py
+++ b/src/vellum/types/google_vertex_ai_vectorizer_text_embedding_004.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.google_vertex_ai_vectorizer_text_embedding_004 import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .google_vertex_ai_vectorizer_config import GoogleVertexAiVectorizerConfig
+
+
+class GoogleVertexAiVectorizerTextEmbedding004(UniversalBaseModel):
+ model_name: typing.Literal["text-embedding-004"] = "text-embedding-004"
+ config: GoogleVertexAiVectorizerConfig
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/google_vertex_ai_vectorizer_text_embedding_004_request.py b/src/vellum/types/google_vertex_ai_vectorizer_text_embedding_004_request.py
index d02ba69a67..c205f92216 100644
--- a/src/vellum/types/google_vertex_ai_vectorizer_text_embedding_004_request.py
+++ b/src/vellum/types/google_vertex_ai_vectorizer_text_embedding_004_request.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.google_vertex_ai_vectorizer_text_embedding_004_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .google_vertex_ai_vectorizer_config_request import GoogleVertexAiVectorizerConfigRequest
+
+
+class GoogleVertexAiVectorizerTextEmbedding004Request(UniversalBaseModel):
+ model_name: typing.Literal["text-embedding-004"] = "text-embedding-004"
+ config: GoogleVertexAiVectorizerConfigRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002.py b/src/vellum/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002.py
index 86440ec5fe..c9bb7203b7 100644
--- a/src/vellum/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002.py
+++ b/src/vellum/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.google_vertex_ai_vectorizer_text_multilingual_embedding_002 import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .google_vertex_ai_vectorizer_config import GoogleVertexAiVectorizerConfig
+
+
+class GoogleVertexAiVectorizerTextMultilingualEmbedding002(UniversalBaseModel):
+ model_name: typing.Literal["text-multilingual-embedding-002"] = "text-multilingual-embedding-002"
+ config: GoogleVertexAiVectorizerConfig
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002_request.py b/src/vellum/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002_request.py
index f07e971258..39feb17be3 100644
--- a/src/vellum/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002_request.py
+++ b/src/vellum/types/google_vertex_ai_vectorizer_text_multilingual_embedding_002_request.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.google_vertex_ai_vectorizer_text_multilingual_embedding_002_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .google_vertex_ai_vectorizer_config_request import GoogleVertexAiVectorizerConfigRequest
+
+
+class GoogleVertexAiVectorizerTextMultilingualEmbedding002Request(UniversalBaseModel):
+ model_name: typing.Literal["text-multilingual-embedding-002"] = "text-multilingual-embedding-002"
+ config: GoogleVertexAiVectorizerConfigRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/hkunlp_instructor_xl_vectorizer.py b/src/vellum/types/hkunlp_instructor_xl_vectorizer.py
index edc0258ec6..f0f3b2ec90 100644
--- a/src/vellum/types/hkunlp_instructor_xl_vectorizer.py
+++ b/src/vellum/types/hkunlp_instructor_xl_vectorizer.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.hkunlp_instructor_xl_vectorizer import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .instructor_vectorizer_config import InstructorVectorizerConfig
+
+
+class HkunlpInstructorXlVectorizer(UniversalBaseModel):
+ """
+ Vectorizer for hkunlp/instructor-xl.
+ """
+
+ model_name: typing.Literal["hkunlp/instructor-xl"] = "hkunlp/instructor-xl"
+ config: InstructorVectorizerConfig
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/hkunlp_instructor_xl_vectorizer_request.py b/src/vellum/types/hkunlp_instructor_xl_vectorizer_request.py
index b7f6b9ab43..6887087725 100644
--- a/src/vellum/types/hkunlp_instructor_xl_vectorizer_request.py
+++ b/src/vellum/types/hkunlp_instructor_xl_vectorizer_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.hkunlp_instructor_xl_vectorizer_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .instructor_vectorizer_config_request import InstructorVectorizerConfigRequest
+
+
+class HkunlpInstructorXlVectorizerRequest(UniversalBaseModel):
+ """
+ Vectorizer for hkunlp/instructor-xl.
+ """
+
+ model_name: typing.Literal["hkunlp/instructor-xl"] = "hkunlp/instructor-xl"
+ config: InstructorVectorizerConfigRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/image_chat_message_content.py b/src/vellum/types/image_chat_message_content.py
index 8416129758..b3c799250f 100644
--- a/src/vellum/types/image_chat_message_content.py
+++ b/src/vellum/types/image_chat_message_content.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.image_chat_message_content import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image import VellumImage
+
+
+class ImageChatMessageContent(UniversalBaseModel):
+ """
+ An image value that is used in a chat message.
+ """
+
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: VellumImage
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/image_chat_message_content_request.py b/src/vellum/types/image_chat_message_content_request.py
index f2e9ed190f..d919fa84dd 100644
--- a/src/vellum/types/image_chat_message_content_request.py
+++ b/src/vellum/types/image_chat_message_content_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.image_chat_message_content_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image_request import VellumImageRequest
+
+
+class ImageChatMessageContentRequest(UniversalBaseModel):
+ """
+ An image value that is used in a chat message.
+ """
+
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: VellumImageRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/image_input.py b/src/vellum/types/image_input.py
index f5ee570727..c3a39c3eca 100644
--- a/src/vellum/types/image_input.py
+++ b/src/vellum/types/image_input.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.image_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image import VellumImage
+
+
+class ImageInput(UniversalBaseModel):
+ """
+ A user input representing a Vellum Image value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: VellumImage
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/image_input_request.py b/src/vellum/types/image_input_request.py
index 9c54bca365..65974971fa 100644
--- a/src/vellum/types/image_input_request.py
+++ b/src/vellum/types/image_input_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.image_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image_request import VellumImageRequest
+
+
+class ImageInputRequest(UniversalBaseModel):
+ """
+ A user input representing a Vellum Image value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: VellumImageRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/image_prompt_block.py b/src/vellum/types/image_prompt_block.py
index c97ce26e35..69a623f49d 100644
--- a/src/vellum/types/image_prompt_block.py
+++ b/src/vellum/types/image_prompt_block.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.image_prompt_block import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+
+
+class ImagePromptBlock(UniversalBaseModel):
+ """
+ A block that represents an image in a prompt template.
+ """
+
+ block_type: typing.Literal["IMAGE"] = "IMAGE"
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ src: str
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/image_vellum_value.py b/src/vellum/types/image_vellum_value.py
index 70cc549b38..bbe79826ea 100644
--- a/src/vellum/types/image_vellum_value.py
+++ b/src/vellum/types/image_vellum_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.image_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image import VellumImage
+
+
+class ImageVellumValue(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing an image.
+ """
+
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: typing.Optional[VellumImage] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/image_vellum_value_request.py b/src/vellum/types/image_vellum_value_request.py
index afc3944e15..1fabc2143f 100644
--- a/src/vellum/types/image_vellum_value_request.py
+++ b/src/vellum/types/image_vellum_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.image_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image_request import VellumImageRequest
+
+
+class ImageVellumValueRequest(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing an image.
+ """
+
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: typing.Optional[VellumImageRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/indexing_config_vectorizer.py b/src/vellum/types/indexing_config_vectorizer.py
index be5ff6a01f..29e14b0b5f 100644
--- a/src/vellum/types/indexing_config_vectorizer.py
+++ b/src/vellum/types/indexing_config_vectorizer.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.indexing_config_vectorizer import *
+import typing
+
+from .basic_vectorizer_intfloat_multilingual_e_5_large import BasicVectorizerIntfloatMultilingualE5Large
+from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1 import (
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1,
+)
+from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1 import (
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1,
+)
+from .fast_embed_vectorizer_baai_bge_small_en_v_15 import FastEmbedVectorizerBaaiBgeSmallEnV15
+from .google_vertex_ai_vectorizer_gemini_embedding_001 import GoogleVertexAiVectorizerGeminiEmbedding001
+from .google_vertex_ai_vectorizer_text_embedding_004 import GoogleVertexAiVectorizerTextEmbedding004
+from .google_vertex_ai_vectorizer_text_multilingual_embedding_002 import (
+ GoogleVertexAiVectorizerTextMultilingualEmbedding002,
+)
+from .hkunlp_instructor_xl_vectorizer import HkunlpInstructorXlVectorizer
+from .open_ai_vectorizer_text_embedding_3_large import OpenAiVectorizerTextEmbedding3Large
+from .open_ai_vectorizer_text_embedding_3_small import OpenAiVectorizerTextEmbedding3Small
+from .open_ai_vectorizer_text_embedding_ada_002 import OpenAiVectorizerTextEmbeddingAda002
+from .private_vectorizer import PrivateVectorizer
+
+IndexingConfigVectorizer = typing.Union[
+ OpenAiVectorizerTextEmbedding3Small,
+ OpenAiVectorizerTextEmbedding3Large,
+ OpenAiVectorizerTextEmbeddingAda002,
+ BasicVectorizerIntfloatMultilingualE5Large,
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1,
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1,
+ HkunlpInstructorXlVectorizer,
+ GoogleVertexAiVectorizerTextEmbedding004,
+ GoogleVertexAiVectorizerTextMultilingualEmbedding002,
+ GoogleVertexAiVectorizerGeminiEmbedding001,
+ FastEmbedVectorizerBaaiBgeSmallEnV15,
+ PrivateVectorizer,
+]
diff --git a/src/vellum/types/indexing_config_vectorizer_request.py b/src/vellum/types/indexing_config_vectorizer_request.py
index 0a03302242..01a11b46dc 100644
--- a/src/vellum/types/indexing_config_vectorizer_request.py
+++ b/src/vellum/types/indexing_config_vectorizer_request.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.indexing_config_vectorizer_request import *
+import typing
+
+from .basic_vectorizer_intfloat_multilingual_e_5_large_request import BasicVectorizerIntfloatMultilingualE5LargeRequest
+from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1_request import (
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request,
+)
+from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request import (
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
+)
+from .fast_embed_vectorizer_baai_bge_small_en_v_15_request import FastEmbedVectorizerBaaiBgeSmallEnV15Request
+from .google_vertex_ai_vectorizer_gemini_embedding_001_request import GoogleVertexAiVectorizerGeminiEmbedding001Request
+from .google_vertex_ai_vectorizer_text_embedding_004_request import GoogleVertexAiVectorizerTextEmbedding004Request
+from .google_vertex_ai_vectorizer_text_multilingual_embedding_002_request import (
+ GoogleVertexAiVectorizerTextMultilingualEmbedding002Request,
+)
+from .hkunlp_instructor_xl_vectorizer_request import HkunlpInstructorXlVectorizerRequest
+from .open_ai_vectorizer_text_embedding_3_large_request import OpenAiVectorizerTextEmbedding3LargeRequest
+from .open_ai_vectorizer_text_embedding_3_small_request import OpenAiVectorizerTextEmbedding3SmallRequest
+from .open_ai_vectorizer_text_embedding_ada_002_request import OpenAiVectorizerTextEmbeddingAda002Request
+from .private_vectorizer_request import PrivateVectorizerRequest
+
+IndexingConfigVectorizerRequest = typing.Union[
+ OpenAiVectorizerTextEmbedding3SmallRequest,
+ OpenAiVectorizerTextEmbedding3LargeRequest,
+ OpenAiVectorizerTextEmbeddingAda002Request,
+ BasicVectorizerIntfloatMultilingualE5LargeRequest,
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request,
+ BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
+ HkunlpInstructorXlVectorizerRequest,
+ GoogleVertexAiVectorizerTextEmbedding004Request,
+ GoogleVertexAiVectorizerTextMultilingualEmbedding002Request,
+ GoogleVertexAiVectorizerGeminiEmbedding001Request,
+ FastEmbedVectorizerBaaiBgeSmallEnV15Request,
+ PrivateVectorizerRequest,
+]
diff --git a/src/vellum/types/indexing_state_enum.py b/src/vellum/types/indexing_state_enum.py
index 4494b69ef9..0065f7ab20 100644
--- a/src/vellum/types/indexing_state_enum.py
+++ b/src/vellum/types/indexing_state_enum.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.indexing_state_enum import *
+import typing
+
+IndexingStateEnum = typing.Union[
+ typing.Literal["AWAITING_PROCESSING", "QUEUED", "INDEXING", "INDEXED", "FAILED"], typing.Any
+]
diff --git a/src/vellum/types/initiated_ad_hoc_execute_prompt_event.py b/src/vellum/types/initiated_ad_hoc_execute_prompt_event.py
index c5d5b4ef18..d9e7eba7f3 100644
--- a/src/vellum/types/initiated_ad_hoc_execute_prompt_event.py
+++ b/src/vellum/types/initiated_ad_hoc_execute_prompt_event.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.initiated_ad_hoc_execute_prompt_event import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ad_hoc_initiated_prompt_execution_meta import AdHocInitiatedPromptExecutionMeta
+
+
+class InitiatedAdHocExecutePromptEvent(UniversalBaseModel):
+ """
+ The initial data returned indicating that the response from the model has returned and begun streaming.
+ """
+
+ state: typing.Literal["INITIATED"] = "INITIATED"
+ meta: typing.Optional[AdHocInitiatedPromptExecutionMeta] = None
+ execution_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/initiated_execute_prompt_event.py b/src/vellum/types/initiated_execute_prompt_event.py
index 690ac137eb..5be9ecb0f6 100644
--- a/src/vellum/types/initiated_execute_prompt_event.py
+++ b/src/vellum/types/initiated_execute_prompt_event.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.initiated_execute_prompt_event import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .initiated_prompt_execution_meta import InitiatedPromptExecutionMeta
+
+
+class InitiatedExecutePromptEvent(UniversalBaseModel):
+ """
+ The initial data returned indicating that the response from the model has returned and begun streaming.
+ """
+
+ state: typing.Literal["INITIATED"] = "INITIATED"
+ meta: typing.Optional[InitiatedPromptExecutionMeta] = None
+ execution_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/initiated_prompt_execution_meta.py b/src/vellum/types/initiated_prompt_execution_meta.py
index a5c4253208..8287e8d507 100644
--- a/src/vellum/types/initiated_prompt_execution_meta.py
+++ b/src/vellum/types/initiated_prompt_execution_meta.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.initiated_prompt_execution_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class InitiatedPromptExecutionMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
+ """
+
+ model_name: typing.Optional[str] = None
+ latency: typing.Optional[int] = None
+ deployment_release_tag: typing.Optional[str] = None
+ prompt_version_id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/initiated_workflow_node_result_event.py b/src/vellum/types/initiated_workflow_node_result_event.py
index 9a3a743fd1..fb2f06715a 100644
--- a/src/vellum/types/initiated_workflow_node_result_event.py
+++ b/src/vellum/types/initiated_workflow_node_result_event.py
@@ -1,3 +1,40 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.initiated_workflow_node_result_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .node_input_variable_compiled_value import NodeInputVariableCompiledValue
+from .workflow_node_result_data import WorkflowNodeResultData
+
+
+class InitiatedWorkflowNodeResultEvent(UniversalBaseModel):
+ """
+ An event that indicates that the node has initiated its execution.
+ """
+
+ id: str
+ node_id: str
+ node_result_id: str
+ state: typing.Literal["INITIATED"] = "INITIATED"
+ ts: typing.Optional[dt.datetime] = None
+ data: typing.Optional[WorkflowNodeResultData] = None
+ source_execution_id: typing.Optional[str] = None
+ input_values: typing.Optional[typing.List[NodeInputVariableCompiledValue]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(InitiatedWorkflowNodeResultEvent)
diff --git a/src/vellum/types/instructor_vectorizer_config.py b/src/vellum/types/instructor_vectorizer_config.py
index 0d0a64e9c2..fea3f99f11 100644
--- a/src/vellum/types/instructor_vectorizer_config.py
+++ b/src/vellum/types/instructor_vectorizer_config.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.instructor_vectorizer_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class InstructorVectorizerConfig(UniversalBaseModel):
+ """
+ Configuration for using an Instructor vectorizer.
+ """
+
+ instruction_domain: str
+ instruction_query_text_type: str
+ instruction_document_text_type: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/instructor_vectorizer_config_request.py b/src/vellum/types/instructor_vectorizer_config_request.py
index fe905d653e..bde13c44d7 100644
--- a/src/vellum/types/instructor_vectorizer_config_request.py
+++ b/src/vellum/types/instructor_vectorizer_config_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.instructor_vectorizer_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class InstructorVectorizerConfigRequest(UniversalBaseModel):
+ """
+ Configuration for using an Instructor vectorizer.
+ """
+
+ instruction_domain: str
+ instruction_query_text_type: str
+ instruction_document_text_type: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/integration.py b/src/vellum/types/integration.py
index 7b8cf98074..61551c9ad4 100644
--- a/src/vellum/types/integration.py
+++ b/src/vellum/types/integration.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.integration import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .integration_name import IntegrationName
+from .integration_provider import IntegrationProvider
+
+
+class Integration(UniversalBaseModel):
+ """
+ Serializer for Integration model - used in both tool and trigger definitions.
+ """
+
+ id: str
+ provider: IntegrationProvider = "COMPOSIO"
+ name: IntegrationName
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/integration_auth_config_integration.py b/src/vellum/types/integration_auth_config_integration.py
index 44ec9d7314..c9b7970564 100644
--- a/src/vellum/types/integration_auth_config_integration.py
+++ b/src/vellum/types/integration_auth_config_integration.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.integration_auth_config_integration import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .integration_name import IntegrationName
+from .integration_provider import IntegrationProvider
+
+
+class IntegrationAuthConfigIntegration(UniversalBaseModel):
+ id: str
+ provider: IntegrationProvider = "COMPOSIO"
+ name: IntegrationName
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/integration_auth_config_integration_credential.py b/src/vellum/types/integration_auth_config_integration_credential.py
index b1fa05c5fb..de86ba6e39 100644
--- a/src/vellum/types/integration_auth_config_integration_credential.py
+++ b/src/vellum/types/integration_auth_config_integration_credential.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.integration_auth_config_integration_credential import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class IntegrationAuthConfigIntegrationCredential(UniversalBaseModel):
+ id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/integration_credential_access_type.py b/src/vellum/types/integration_credential_access_type.py
index 6389a109bd..ac6d8e34f3 100644
--- a/src/vellum/types/integration_credential_access_type.py
+++ b/src/vellum/types/integration_credential_access_type.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.integration_credential_access_type import *
+import typing
+
+IntegrationCredentialAccessType = typing.Union[typing.Literal["ENVIRONMENT", "USER"], typing.Any]
diff --git a/src/vellum/types/integration_name.py b/src/vellum/types/integration_name.py
index f6afecfdd9..e8d047a8cf 100644
--- a/src/vellum/types/integration_name.py
+++ b/src/vellum/types/integration_name.py
@@ -1,3 +1,85 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.integration_name import *
+import typing
+
+IntegrationName = typing.Union[
+ typing.Literal[
+ "SLACK",
+ "NOTION",
+ "GOOGLE",
+ "CALENDLY",
+ "CANVA",
+ "CLICKUP",
+ "CODA",
+ "HUBSPOT",
+ "INTERCOM",
+ "LINEAR",
+ "LINKUP",
+ "LISTENNOTES",
+ "LMNT",
+ "LINKEDIN",
+ "MAILCHIMP",
+ "MEM0",
+ "NEON",
+ "GITHUB",
+ "GOOGLE_SHEETS",
+ "GOOGLE_CALENDAR",
+ "GOOGLE_DRIVE",
+ "GMAIL",
+ "ACCULYNX",
+ "AFFINITY",
+ "AGENCYZOOM",
+ "AHREFS",
+ "AIRTABLE",
+ "APOLLO",
+ "ASANA",
+ "ATLASSIAN",
+ "BITBUCKET",
+ "BOX",
+ "BREVO",
+ "BROWSERBASE_TOOL",
+ "CAL",
+ "CANVAS",
+ "ELEVENLABS",
+ "EXA",
+ "GAMMA",
+ "GITLAB",
+ "FIRECRAWL",
+ "FIGMA",
+ "FIREFLIES",
+ "GOOGLE_MAPS",
+ "HEYGEN",
+ "JIRA",
+ "JUNGLESCOUT",
+ "KLAVIYO",
+ "PAGERDUTY",
+ "PARSERA",
+ "PEOPLEDATALABS",
+ "PERPLEXITY",
+ "POSTHOG",
+ "PRODUCTBOARD",
+ "REDDIT",
+ "SEMRUSH",
+ "SEMANTICSCHOLAR",
+ "SENDGRID",
+ "SERPAPI",
+ "SHARE_POINT",
+ "SHORTCUT",
+ "STRIPE",
+ "SUPABASE",
+ "TAVILY",
+ "TELEGRAM",
+ "WEBFLOW",
+ "YOUSEARCH",
+ "ZENDESK",
+ "ZENROWS",
+ "DROPBOX",
+ "EVENTBRITE",
+ "CONFLUENCE",
+ "COINBASE",
+ "DISCORD",
+ "DOCUSIGN",
+ "TRELLO",
+ ],
+ typing.Any,
+]
diff --git a/src/vellum/types/integration_provider.py b/src/vellum/types/integration_provider.py
index 4e8f380adb..de44a74050 100644
--- a/src/vellum/types/integration_provider.py
+++ b/src/vellum/types/integration_provider.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.integration_provider import *
+import typing
+
+IntegrationProvider = typing.Literal["COMPOSIO"]
diff --git a/src/vellum/types/integration_read.py b/src/vellum/types/integration_read.py
index 1f3d667f6c..b168fcc73b 100644
--- a/src/vellum/types/integration_read.py
+++ b/src/vellum/types/integration_read.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.integration_read import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .components_schemas_composio_integration_exec_config import ComponentsSchemasComposioIntegrationExecConfig
+from .integration_name import IntegrationName
+from .integration_provider import IntegrationProvider
+
+
+class IntegrationRead(UniversalBaseModel):
+ id: str
+ label: typing.Optional[str] = None
+ icon_url: str
+ name: IntegrationName
+ provider: IntegrationProvider = "COMPOSIO"
+ exec_config: ComponentsSchemasComposioIntegrationExecConfig = pydantic.Field()
+ """
+ Integration provider specific information needed for filtering tools.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/integration_trigger_context.py b/src/vellum/types/integration_trigger_context.py
index 4d47dd0741..9b68b74fad 100644
--- a/src/vellum/types/integration_trigger_context.py
+++ b/src/vellum/types/integration_trigger_context.py
@@ -1,3 +1,39 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.integration_trigger_context import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class IntegrationTriggerContext(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ type: typing.Literal["INTEGRATION"] = "INTEGRATION"
+ trigger_id: typing.Optional[str] = None
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(IntegrationTriggerContext)
diff --git a/src/vellum/types/invoked_port.py b/src/vellum/types/invoked_port.py
index d5146bba1d..0f1bde19a3 100644
--- a/src/vellum/types/invoked_port.py
+++ b/src/vellum/types/invoked_port.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.invoked_port import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class InvokedPort(UniversalBaseModel):
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/iteration_state_enum.py b/src/vellum/types/iteration_state_enum.py
index ee2cbe29bc..b3a77b0811 100644
--- a/src/vellum/types/iteration_state_enum.py
+++ b/src/vellum/types/iteration_state_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.iteration_state_enum import *
+import typing
+
+IterationStateEnum = typing.Union[typing.Literal["INITIATED", "FULFILLED", "REJECTED"], typing.Any]
diff --git a/src/vellum/types/jinja_prompt_block.py b/src/vellum/types/jinja_prompt_block.py
index 9218dfeaaf..9007e54fa2 100644
--- a/src/vellum/types/jinja_prompt_block.py
+++ b/src/vellum/types/jinja_prompt_block.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.jinja_prompt_block import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+
+
+class JinjaPromptBlock(UniversalBaseModel):
+ """
+ A block of Jinja template code that is used to generate a prompt
+ """
+
+ block_type: typing.Literal["JINJA"] = "JINJA"
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ template: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/json_input.py b/src/vellum/types/json_input.py
index d62979010a..c11182aece 100644
--- a/src/vellum/types/json_input.py
+++ b/src/vellum/types/json_input.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.json_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class JsonInput(UniversalBaseModel):
+ """
+ A user input representing a JSON object
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/json_input_request.py b/src/vellum/types/json_input_request.py
index a25a92b78f..7d9b88155a 100644
--- a/src/vellum/types/json_input_request.py
+++ b/src/vellum/types/json_input_request.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.json_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class JsonInputRequest(UniversalBaseModel):
+ """
+ A user input representing a JSON object
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/json_vellum_value.py b/src/vellum/types/json_vellum_value.py
index 70a1c30a92..b9bf1e81fd 100644
--- a/src/vellum/types/json_vellum_value.py
+++ b/src/vellum/types/json_vellum_value.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.json_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class JsonVellumValue(UniversalBaseModel):
+ """
+ A value representing a JSON object.
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/json_vellum_value_request.py b/src/vellum/types/json_vellum_value_request.py
index 43b54ae065..e4a52b2bda 100644
--- a/src/vellum/types/json_vellum_value_request.py
+++ b/src/vellum/types/json_vellum_value_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.json_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class JsonVellumValueRequest(UniversalBaseModel):
+ """
+ A value representing a JSON object.
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/logical_operator.py b/src/vellum/types/logical_operator.py
index 9c1b046428..6fb6217e21 100644
--- a/src/vellum/types/logical_operator.py
+++ b/src/vellum/types/logical_operator.py
@@ -1,3 +1,39 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.logical_operator import *
+import typing
+
+LogicalOperator = typing.Union[
+ typing.Literal[
+ "=",
+ "!=",
+ "<",
+ ">",
+ "<=",
+ ">=",
+ "contains",
+ "beginsWith",
+ "endsWith",
+ "doesNotContain",
+ "doesNotBeginWith",
+ "doesNotEndWith",
+ "null",
+ "notNull",
+ "in",
+ "notIn",
+ "between",
+ "notBetween",
+ "concat",
+ "+",
+ "-",
+ "blank",
+ "notBlank",
+ "coalesce",
+ "accessField",
+ "parseJson",
+ "and",
+ "or",
+ "isError",
+ "length",
+ ],
+ typing.Any,
+]
diff --git a/src/vellum/types/logprobs_enum.py b/src/vellum/types/logprobs_enum.py
index 26f3db839e..ecf265e413 100644
--- a/src/vellum/types/logprobs_enum.py
+++ b/src/vellum/types/logprobs_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.logprobs_enum import *
+import typing
+
+LogprobsEnum = typing.Union[typing.Literal["ALL", "NONE"], typing.Any]
diff --git a/src/vellum/types/map_node_result.py b/src/vellum/types/map_node_result.py
index acac4afaed..84c5091af1 100644
--- a/src/vellum/types/map_node_result.py
+++ b/src/vellum/types/map_node_result.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.map_node_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .map_node_result_data import MapNodeResultData
+
+
+class MapNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from a Map Node.
+ """
+
+ type: typing.Literal["MAP"] = "MAP"
+ data: typing.Optional[MapNodeResultData] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/map_node_result_data.py b/src/vellum/types/map_node_result_data.py
index 1465562741..c2f54897e9 100644
--- a/src/vellum/types/map_node_result_data.py
+++ b/src/vellum/types/map_node_result_data.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.map_node_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .iteration_state_enum import IterationStateEnum
+
+
+class MapNodeResultData(UniversalBaseModel):
+ execution_ids: typing.List[str]
+ iteration_state: typing.Optional[IterationStateEnum] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/merge_node_result.py b/src/vellum/types/merge_node_result.py
index 23f7480825..093724f099 100644
--- a/src/vellum/types/merge_node_result.py
+++ b/src/vellum/types/merge_node_result.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.merge_node_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .merge_node_result_data import MergeNodeResultData
+
+
+class MergeNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from a Merge Node.
+ """
+
+ type: typing.Literal["MERGE"] = "MERGE"
+ data: MergeNodeResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/merge_node_result_data.py b/src/vellum/types/merge_node_result_data.py
index 6ff9a6b10e..2abc351517 100644
--- a/src/vellum/types/merge_node_result_data.py
+++ b/src/vellum/types/merge_node_result_data.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.merge_node_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class MergeNodeResultData(UniversalBaseModel):
+ paused_node_data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/metadata_filter_config_request.py b/src/vellum/types/metadata_filter_config_request.py
index d52ab8f79a..4c2b6d07f2 100644
--- a/src/vellum/types/metadata_filter_config_request.py
+++ b/src/vellum/types/metadata_filter_config_request.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.metadata_filter_config_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .logical_operator import LogicalOperator
+from .metadata_filter_rule_combinator import MetadataFilterRuleCombinator
+
+
+class MetadataFilterConfigRequest(UniversalBaseModel):
+ """
+ A deprecated pattern for filtering on metadata. Please use MetadataFilters instead.
+ """
+
+ combinator: typing.Optional[MetadataFilterRuleCombinator] = None
+ negated: typing.Optional[bool] = None
+ rules: typing.Optional[typing.List["MetadataFilterRuleRequest"]] = None
+ field: typing.Optional[str] = None
+ operator: typing.Optional[LogicalOperator] = None
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .metadata_filter_rule_request import MetadataFilterRuleRequest # noqa: E402, F401, I001
+
+update_forward_refs(MetadataFilterConfigRequest)
diff --git a/src/vellum/types/metadata_filter_rule_combinator.py b/src/vellum/types/metadata_filter_rule_combinator.py
index a4d765fbb2..fc46bf4909 100644
--- a/src/vellum/types/metadata_filter_rule_combinator.py
+++ b/src/vellum/types/metadata_filter_rule_combinator.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.metadata_filter_rule_combinator import *
+import typing
+
+MetadataFilterRuleCombinator = typing.Union[typing.Literal["and", "or"], typing.Any]
diff --git a/src/vellum/types/metadata_filter_rule_request.py b/src/vellum/types/metadata_filter_rule_request.py
index 809495c435..091336ab19 100644
--- a/src/vellum/types/metadata_filter_rule_request.py
+++ b/src/vellum/types/metadata_filter_rule_request.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.metadata_filter_rule_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .logical_operator import LogicalOperator
+from .metadata_filter_rule_combinator import MetadataFilterRuleCombinator
+
+
+class MetadataFilterRuleRequest(UniversalBaseModel):
+ combinator: typing.Optional[MetadataFilterRuleCombinator] = None
+ negated: typing.Optional[bool] = None
+ rules: typing.Optional[typing.List["MetadataFilterRuleRequest"]] = None
+ field: typing.Optional[str] = None
+ operator: typing.Optional[LogicalOperator] = None
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+update_forward_refs(MetadataFilterRuleRequest)
diff --git a/src/vellum/types/metadata_filters_request.py b/src/vellum/types/metadata_filters_request.py
index 51398990cd..b146ce917d 100644
--- a/src/vellum/types/metadata_filters_request.py
+++ b/src/vellum/types/metadata_filters_request.py
@@ -1,3 +1,8 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.metadata_filters_request import *
+import typing
+
+from .metadata_filter_config_request import MetadataFilterConfigRequest
+from .vellum_value_logical_expression_request import VellumValueLogicalExpressionRequest
+
+MetadataFiltersRequest = typing.Union[MetadataFilterConfigRequest, VellumValueLogicalExpressionRequest]
diff --git a/src/vellum/types/method_enum.py b/src/vellum/types/method_enum.py
index 0666ace165..7649482ad0 100644
--- a/src/vellum/types/method_enum.py
+++ b/src/vellum/types/method_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.method_enum import *
+import typing
+
+MethodEnum = typing.Union[typing.Literal["POST", "GET", "PATCH", "PUT", "DELETE"], typing.Any]
diff --git a/src/vellum/types/metric_definition_execution.py b/src/vellum/types/metric_definition_execution.py
index bbf25c2739..e7817eace5 100644
--- a/src/vellum/types/metric_definition_execution.py
+++ b/src/vellum/types/metric_definition_execution.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.metric_definition_execution import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .test_suite_run_metric_output import TestSuiteRunMetricOutput
+
+
+class MetricDefinitionExecution(UniversalBaseModel):
+ outputs: typing.List[TestSuiteRunMetricOutput]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(MetricDefinitionExecution)
diff --git a/src/vellum/types/metric_definition_history_item.py b/src/vellum/types/metric_definition_history_item.py
index 58653312c9..c4fc1a693c 100644
--- a/src/vellum/types/metric_definition_history_item.py
+++ b/src/vellum/types/metric_definition_history_item.py
@@ -1,3 +1,40 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.metric_definition_history_item import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .vellum_variable import VellumVariable
+
+
+class MetricDefinitionHistoryItem(UniversalBaseModel):
+ id: str
+ label: str = pydantic.Field()
+ """
+ A human-readable label for the metric
+ """
+
+ name: str = pydantic.Field()
+ """
+ A name that uniquely identifies this metric within its workspace
+ """
+
+ description: str
+ input_variables: typing.List[VellumVariable]
+ output_variables: typing.List[VellumVariable]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(MetricDefinitionHistoryItem)
diff --git a/src/vellum/types/metric_definition_input.py b/src/vellum/types/metric_definition_input.py
index bb9ab8a77a..ca8791e0dd 100644
--- a/src/vellum/types/metric_definition_input.py
+++ b/src/vellum/types/metric_definition_input.py
@@ -1,3 +1,10 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.metric_definition_input import *
+import typing
+
+from .chat_history_input import ChatHistoryInput
+from .json_input import JsonInput
+from .number_input import NumberInput
+from .string_input import StringInput
+
+MetricDefinitionInput = typing.Union[StringInput, JsonInput, ChatHistoryInput, NumberInput]
diff --git a/src/vellum/types/metric_node_result.py b/src/vellum/types/metric_node_result.py
index 96dd69f02e..31584ab690 100644
--- a/src/vellum/types/metric_node_result.py
+++ b/src/vellum/types/metric_node_result.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.metric_node_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class MetricNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from a Metric Node.
+ """
+
+ type: typing.Literal["METRIC"] = "METRIC"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/ml_model_read.py b/src/vellum/types/ml_model_read.py
index 3c326a0862..e5cec1ecdd 100644
--- a/src/vellum/types/ml_model_read.py
+++ b/src/vellum/types/ml_model_read.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ml_model_read import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class MlModelRead(UniversalBaseModel):
+ """
+ An ML Model that your Workspace has access to.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The unique name of the ML Model.
+ """
+
+ introduced_on: dt.datetime
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/ml_model_usage.py b/src/vellum/types/ml_model_usage.py
index c41bfd2a20..fed8b31725 100644
--- a/src/vellum/types/ml_model_usage.py
+++ b/src/vellum/types/ml_model_usage.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ml_model_usage import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class MlModelUsage(UniversalBaseModel):
+ output_token_count: typing.Optional[int] = None
+ input_token_count: typing.Optional[int] = None
+ input_char_count: typing.Optional[int] = None
+ output_char_count: typing.Optional[int] = None
+ compute_nanos: typing.Optional[int] = None
+ cache_creation_input_tokens: typing.Optional[int] = None
+ cache_read_input_tokens: typing.Optional[int] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/ml_model_usage_wrapper.py b/src/vellum/types/ml_model_usage_wrapper.py
index 74251af804..6169efbc77 100644
--- a/src/vellum/types/ml_model_usage_wrapper.py
+++ b/src/vellum/types/ml_model_usage_wrapper.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.ml_model_usage_wrapper import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ml_model_usage import MlModelUsage
+
+
+class MlModelUsageWrapper(UniversalBaseModel):
+ ml_model_name: str
+ ml_model_usage: MlModelUsage
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_scenario_input_audio_variable_value_request.py b/src/vellum/types/named_scenario_input_audio_variable_value_request.py
index 0d28ad5c05..eb5e300b03 100644
--- a/src/vellum/types/named_scenario_input_audio_variable_value_request.py
+++ b/src/vellum/types/named_scenario_input_audio_variable_value_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_scenario_input_audio_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio_request import VellumAudioRequest
+
+
+class NamedScenarioInputAudioVariableValueRequest(UniversalBaseModel):
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: VellumAudioRequest
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_scenario_input_chat_history_variable_value_request.py b/src/vellum/types/named_scenario_input_chat_history_variable_value_request.py
index b9dce7cfde..3d3f2ca1cf 100644
--- a/src/vellum/types/named_scenario_input_chat_history_variable_value_request.py
+++ b/src/vellum/types/named_scenario_input_chat_history_variable_value_request.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_scenario_input_chat_history_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message_request import ChatMessageRequest
+
+
+class NamedScenarioInputChatHistoryVariableValueRequest(UniversalBaseModel):
+ """
+ Named Prompt Sandbox Scenario input value that is of type CHAT_HISTORY
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessageRequest]] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_scenario_input_document_variable_value_request.py b/src/vellum/types/named_scenario_input_document_variable_value_request.py
index e05a7710bd..d72d15de65 100644
--- a/src/vellum/types/named_scenario_input_document_variable_value_request.py
+++ b/src/vellum/types/named_scenario_input_document_variable_value_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_scenario_input_document_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document_request import VellumDocumentRequest
+
+
+class NamedScenarioInputDocumentVariableValueRequest(UniversalBaseModel):
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: VellumDocumentRequest
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_scenario_input_image_variable_value_request.py b/src/vellum/types/named_scenario_input_image_variable_value_request.py
index 3d2e2e562f..9378d287c7 100644
--- a/src/vellum/types/named_scenario_input_image_variable_value_request.py
+++ b/src/vellum/types/named_scenario_input_image_variable_value_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_scenario_input_image_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image_request import VellumImageRequest
+
+
+class NamedScenarioInputImageVariableValueRequest(UniversalBaseModel):
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: VellumImageRequest
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_scenario_input_json_variable_value_request.py b/src/vellum/types/named_scenario_input_json_variable_value_request.py
index df26e3ebb1..55fc7d715a 100644
--- a/src/vellum/types/named_scenario_input_json_variable_value_request.py
+++ b/src/vellum/types/named_scenario_input_json_variable_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_scenario_input_json_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NamedScenarioInputJsonVariableValueRequest(UniversalBaseModel):
+ """
+ Named Prompt Sandbox Scenario input value that is of type JSON
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_scenario_input_request.py b/src/vellum/types/named_scenario_input_request.py
index b7e599ce1e..0cbbd3d2e9 100644
--- a/src/vellum/types/named_scenario_input_request.py
+++ b/src/vellum/types/named_scenario_input_request.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_scenario_input_request import *
+import typing
+
+from .named_scenario_input_audio_variable_value_request import NamedScenarioInputAudioVariableValueRequest
+from .named_scenario_input_chat_history_variable_value_request import NamedScenarioInputChatHistoryVariableValueRequest
+from .named_scenario_input_document_variable_value_request import NamedScenarioInputDocumentVariableValueRequest
+from .named_scenario_input_image_variable_value_request import NamedScenarioInputImageVariableValueRequest
+from .named_scenario_input_json_variable_value_request import NamedScenarioInputJsonVariableValueRequest
+from .named_scenario_input_string_variable_value_request import NamedScenarioInputStringVariableValueRequest
+from .named_scenario_input_video_variable_value_request import NamedScenarioInputVideoVariableValueRequest
+
+NamedScenarioInputRequest = typing.Union[
+ NamedScenarioInputStringVariableValueRequest,
+ NamedScenarioInputJsonVariableValueRequest,
+ NamedScenarioInputChatHistoryVariableValueRequest,
+ NamedScenarioInputAudioVariableValueRequest,
+ NamedScenarioInputVideoVariableValueRequest,
+ NamedScenarioInputImageVariableValueRequest,
+ NamedScenarioInputDocumentVariableValueRequest,
+]
diff --git a/src/vellum/types/named_scenario_input_string_variable_value_request.py b/src/vellum/types/named_scenario_input_string_variable_value_request.py
index b3147e13f2..67e6e82658 100644
--- a/src/vellum/types/named_scenario_input_string_variable_value_request.py
+++ b/src/vellum/types/named_scenario_input_string_variable_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_scenario_input_string_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NamedScenarioInputStringVariableValueRequest(UniversalBaseModel):
+ """
+ Named Prompt Sandbox Scenario input value that is of type STRING
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_scenario_input_video_variable_value_request.py b/src/vellum/types/named_scenario_input_video_variable_value_request.py
index 024c39abb5..864862cc35 100644
--- a/src/vellum/types/named_scenario_input_video_variable_value_request.py
+++ b/src/vellum/types/named_scenario_input_video_variable_value_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_scenario_input_video_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video_request import VellumVideoRequest
+
+
+class NamedScenarioInputVideoVariableValueRequest(UniversalBaseModel):
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: VellumVideoRequest
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_array_variable_value.py b/src/vellum/types/named_test_case_array_variable_value.py
index 5c9c994cdb..6bbf0675cb 100644
--- a/src/vellum/types/named_test_case_array_variable_value.py
+++ b/src/vellum/types/named_test_case_array_variable_value.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_array_variable_value import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class NamedTestCaseArrayVariableValue(UniversalBaseModel):
+ """
+ Named Test Case value that is of type ARRAY
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(NamedTestCaseArrayVariableValue)
diff --git a/src/vellum/types/named_test_case_array_variable_value_request.py b/src/vellum/types/named_test_case_array_variable_value_request.py
index bd56d27e93..ebf1dd777a 100644
--- a/src/vellum/types/named_test_case_array_variable_value_request.py
+++ b/src/vellum/types/named_test_case_array_variable_value_request.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_array_variable_value_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class NamedTestCaseArrayVariableValueRequest(UniversalBaseModel):
+ """
+ Named Test Case value that is of type ARRAY
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValueRequest"]] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+from .vellum_value_request import VellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(NamedTestCaseArrayVariableValueRequest)
diff --git a/src/vellum/types/named_test_case_audio_variable_value.py b/src/vellum/types/named_test_case_audio_variable_value.py
index 20a2fabd48..a09bb0671e 100644
--- a/src/vellum/types/named_test_case_audio_variable_value.py
+++ b/src/vellum/types/named_test_case_audio_variable_value.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_audio_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio import VellumAudio
+
+
+class NamedTestCaseAudioVariableValue(UniversalBaseModel):
+ """
+ Named Test Case value that is of type AUDIO
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: typing.Optional[VellumAudio] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_audio_variable_value_request.py b/src/vellum/types/named_test_case_audio_variable_value_request.py
index 47bc985ed9..d6cab5958c 100644
--- a/src/vellum/types/named_test_case_audio_variable_value_request.py
+++ b/src/vellum/types/named_test_case_audio_variable_value_request.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_audio_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio_request import VellumAudioRequest
+
+
+class NamedTestCaseAudioVariableValueRequest(UniversalBaseModel):
+ """
+ Named Test Case value that is of type AUDIO
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: typing.Optional[VellumAudioRequest] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_chat_history_variable_value.py b/src/vellum/types/named_test_case_chat_history_variable_value.py
index 2a6a900ba7..f1f2936c10 100644
--- a/src/vellum/types/named_test_case_chat_history_variable_value.py
+++ b/src/vellum/types/named_test_case_chat_history_variable_value.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_chat_history_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class NamedTestCaseChatHistoryVariableValue(UniversalBaseModel):
+ """
+ Named Test Case value that is of type CHAT_HISTORY
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_chat_history_variable_value_request.py b/src/vellum/types/named_test_case_chat_history_variable_value_request.py
index 84c2414751..a27dc57c2d 100644
--- a/src/vellum/types/named_test_case_chat_history_variable_value_request.py
+++ b/src/vellum/types/named_test_case_chat_history_variable_value_request.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_chat_history_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message_request import ChatMessageRequest
+
+
+class NamedTestCaseChatHistoryVariableValueRequest(UniversalBaseModel):
+ """
+ Named Test Case value that is of type CHAT_HISTORY
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessageRequest]] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_document_variable_value.py b/src/vellum/types/named_test_case_document_variable_value.py
index 97919d97cb..ec78419b7c 100644
--- a/src/vellum/types/named_test_case_document_variable_value.py
+++ b/src/vellum/types/named_test_case_document_variable_value.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_document_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document import VellumDocument
+
+
+class NamedTestCaseDocumentVariableValue(UniversalBaseModel):
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: typing.Optional[VellumDocument] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_document_variable_value_request.py b/src/vellum/types/named_test_case_document_variable_value_request.py
index 781870aa6b..8ef70c8303 100644
--- a/src/vellum/types/named_test_case_document_variable_value_request.py
+++ b/src/vellum/types/named_test_case_document_variable_value_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_document_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document_request import VellumDocumentRequest
+
+
+class NamedTestCaseDocumentVariableValueRequest(UniversalBaseModel):
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: typing.Optional[VellumDocumentRequest] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_error_variable_value.py b/src/vellum/types/named_test_case_error_variable_value.py
index 3fab4ae4f8..94a7f1f54e 100644
--- a/src/vellum/types/named_test_case_error_variable_value.py
+++ b/src/vellum/types/named_test_case_error_variable_value.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_error_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class NamedTestCaseErrorVariableValue(UniversalBaseModel):
+ """
+ Named Test Case value that is of type ERROR
+ """
+
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_error_variable_value_request.py b/src/vellum/types/named_test_case_error_variable_value_request.py
index be7dcbdda0..7adf5a079c 100644
--- a/src/vellum/types/named_test_case_error_variable_value_request.py
+++ b/src/vellum/types/named_test_case_error_variable_value_request.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_error_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error_request import VellumErrorRequest
+
+
+class NamedTestCaseErrorVariableValueRequest(UniversalBaseModel):
+ """
+ Named Test Case value that is of type ERROR
+ """
+
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumErrorRequest] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_function_call_variable_value.py b/src/vellum/types/named_test_case_function_call_variable_value.py
index 53c2e22488..b8c0412d62 100644
--- a/src/vellum/types/named_test_case_function_call_variable_value.py
+++ b/src/vellum/types/named_test_case_function_call_variable_value.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_function_call_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class NamedTestCaseFunctionCallVariableValue(UniversalBaseModel):
+ """
+ Named Test Case value that is of type FUNCTION_CALL
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_function_call_variable_value_request.py b/src/vellum/types/named_test_case_function_call_variable_value_request.py
index e0dc1de9b4..ac9ab4aa2a 100644
--- a/src/vellum/types/named_test_case_function_call_variable_value_request.py
+++ b/src/vellum/types/named_test_case_function_call_variable_value_request.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_function_call_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call_request import FunctionCallRequest
+
+
+class NamedTestCaseFunctionCallVariableValueRequest(UniversalBaseModel):
+ """
+ Named Test Case value that is of type FUNCTION_CALL
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCallRequest] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_image_variable_value.py b/src/vellum/types/named_test_case_image_variable_value.py
index 85a08f580a..42a8fa2a37 100644
--- a/src/vellum/types/named_test_case_image_variable_value.py
+++ b/src/vellum/types/named_test_case_image_variable_value.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_image_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image import VellumImage
+
+
+class NamedTestCaseImageVariableValue(UniversalBaseModel):
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: typing.Optional[VellumImage] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_image_variable_value_request.py b/src/vellum/types/named_test_case_image_variable_value_request.py
index 6ec785d109..2933e69848 100644
--- a/src/vellum/types/named_test_case_image_variable_value_request.py
+++ b/src/vellum/types/named_test_case_image_variable_value_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_image_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image_request import VellumImageRequest
+
+
+class NamedTestCaseImageVariableValueRequest(UniversalBaseModel):
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: typing.Optional[VellumImageRequest] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_json_variable_value.py b/src/vellum/types/named_test_case_json_variable_value.py
index b0f1a4a7ac..0caa405807 100644
--- a/src/vellum/types/named_test_case_json_variable_value.py
+++ b/src/vellum/types/named_test_case_json_variable_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_json_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NamedTestCaseJsonVariableValue(UniversalBaseModel):
+ """
+ Named Test Case value that is of type JSON
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_json_variable_value_request.py b/src/vellum/types/named_test_case_json_variable_value_request.py
index 266026c05e..59e18d3d5a 100644
--- a/src/vellum/types/named_test_case_json_variable_value_request.py
+++ b/src/vellum/types/named_test_case_json_variable_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_json_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NamedTestCaseJsonVariableValueRequest(UniversalBaseModel):
+ """
+ Named Test Case value that is of type JSON
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_number_variable_value.py b/src/vellum/types/named_test_case_number_variable_value.py
index 4b49a9f439..211e603ea6 100644
--- a/src/vellum/types/named_test_case_number_variable_value.py
+++ b/src/vellum/types/named_test_case_number_variable_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_number_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NamedTestCaseNumberVariableValue(UniversalBaseModel):
+ """
+ Named Test Case value that is of type NUMBER
+ """
+
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_number_variable_value_request.py b/src/vellum/types/named_test_case_number_variable_value_request.py
index f2548a4f51..c133c867e4 100644
--- a/src/vellum/types/named_test_case_number_variable_value_request.py
+++ b/src/vellum/types/named_test_case_number_variable_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_number_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NamedTestCaseNumberVariableValueRequest(UniversalBaseModel):
+ """
+ Named Test Case value that is of type NUMBER
+ """
+
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_search_results_variable_value.py b/src/vellum/types/named_test_case_search_results_variable_value.py
index df65b55ab2..4dde48ed3d 100644
--- a/src/vellum/types/named_test_case_search_results_variable_value.py
+++ b/src/vellum/types/named_test_case_search_results_variable_value.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_search_results_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class NamedTestCaseSearchResultsVariableValue(UniversalBaseModel):
+ """
+ Named Test Case value that is of type SEARCH_RESULTS
+ """
+
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_search_results_variable_value_request.py b/src/vellum/types/named_test_case_search_results_variable_value_request.py
index 432a414824..aa2e641132 100644
--- a/src/vellum/types/named_test_case_search_results_variable_value_request.py
+++ b/src/vellum/types/named_test_case_search_results_variable_value_request.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_search_results_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result_request import SearchResultRequest
+
+
+class NamedTestCaseSearchResultsVariableValueRequest(UniversalBaseModel):
+ """
+ Named Test Case value that is of type SEARCH_RESULTS
+ """
+
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResultRequest]] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_string_variable_value.py b/src/vellum/types/named_test_case_string_variable_value.py
index 813f3a4455..c62475fac8 100644
--- a/src/vellum/types/named_test_case_string_variable_value.py
+++ b/src/vellum/types/named_test_case_string_variable_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_string_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NamedTestCaseStringVariableValue(UniversalBaseModel):
+ """
+ Named Test Case value that is of type STRING
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_string_variable_value_request.py b/src/vellum/types/named_test_case_string_variable_value_request.py
index 44d72af2c1..112ecf11d2 100644
--- a/src/vellum/types/named_test_case_string_variable_value_request.py
+++ b/src/vellum/types/named_test_case_string_variable_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_string_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NamedTestCaseStringVariableValueRequest(UniversalBaseModel):
+ """
+ Named Test Case value that is of type STRING
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_variable_value.py b/src/vellum/types/named_test_case_variable_value.py
index 0cd062f81e..7fe5cfd26a 100644
--- a/src/vellum/types/named_test_case_variable_value.py
+++ b/src/vellum/types/named_test_case_variable_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_variable_value import *
+import typing
+
+from .named_test_case_array_variable_value import NamedTestCaseArrayVariableValue
+from .named_test_case_audio_variable_value import NamedTestCaseAudioVariableValue
+from .named_test_case_chat_history_variable_value import NamedTestCaseChatHistoryVariableValue
+from .named_test_case_document_variable_value import NamedTestCaseDocumentVariableValue
+from .named_test_case_error_variable_value import NamedTestCaseErrorVariableValue
+from .named_test_case_function_call_variable_value import NamedTestCaseFunctionCallVariableValue
+from .named_test_case_image_variable_value import NamedTestCaseImageVariableValue
+from .named_test_case_json_variable_value import NamedTestCaseJsonVariableValue
+from .named_test_case_number_variable_value import NamedTestCaseNumberVariableValue
+from .named_test_case_search_results_variable_value import NamedTestCaseSearchResultsVariableValue
+from .named_test_case_string_variable_value import NamedTestCaseStringVariableValue
+from .named_test_case_video_variable_value import NamedTestCaseVideoVariableValue
+
+NamedTestCaseVariableValue = typing.Union[
+ NamedTestCaseStringVariableValue,
+ NamedTestCaseNumberVariableValue,
+ NamedTestCaseJsonVariableValue,
+ NamedTestCaseChatHistoryVariableValue,
+ NamedTestCaseSearchResultsVariableValue,
+ NamedTestCaseErrorVariableValue,
+ NamedTestCaseFunctionCallVariableValue,
+ NamedTestCaseArrayVariableValue,
+ NamedTestCaseAudioVariableValue,
+ NamedTestCaseVideoVariableValue,
+ NamedTestCaseImageVariableValue,
+ NamedTestCaseDocumentVariableValue,
+]
diff --git a/src/vellum/types/named_test_case_variable_value_request.py b/src/vellum/types/named_test_case_variable_value_request.py
index 5dc8e4c8e1..930a6624f1 100644
--- a/src/vellum/types/named_test_case_variable_value_request.py
+++ b/src/vellum/types/named_test_case_variable_value_request.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_variable_value_request import *
+import typing
+
+from .named_test_case_array_variable_value_request import NamedTestCaseArrayVariableValueRequest
+from .named_test_case_audio_variable_value_request import NamedTestCaseAudioVariableValueRequest
+from .named_test_case_chat_history_variable_value_request import NamedTestCaseChatHistoryVariableValueRequest
+from .named_test_case_document_variable_value_request import NamedTestCaseDocumentVariableValueRequest
+from .named_test_case_error_variable_value_request import NamedTestCaseErrorVariableValueRequest
+from .named_test_case_function_call_variable_value_request import NamedTestCaseFunctionCallVariableValueRequest
+from .named_test_case_image_variable_value_request import NamedTestCaseImageVariableValueRequest
+from .named_test_case_json_variable_value_request import NamedTestCaseJsonVariableValueRequest
+from .named_test_case_number_variable_value_request import NamedTestCaseNumberVariableValueRequest
+from .named_test_case_search_results_variable_value_request import NamedTestCaseSearchResultsVariableValueRequest
+from .named_test_case_string_variable_value_request import NamedTestCaseStringVariableValueRequest
+from .named_test_case_video_variable_value_request import NamedTestCaseVideoVariableValueRequest
+
+NamedTestCaseVariableValueRequest = typing.Union[
+ NamedTestCaseStringVariableValueRequest,
+ NamedTestCaseNumberVariableValueRequest,
+ NamedTestCaseJsonVariableValueRequest,
+ NamedTestCaseChatHistoryVariableValueRequest,
+ NamedTestCaseSearchResultsVariableValueRequest,
+ NamedTestCaseErrorVariableValueRequest,
+ NamedTestCaseFunctionCallVariableValueRequest,
+ NamedTestCaseArrayVariableValueRequest,
+ NamedTestCaseAudioVariableValueRequest,
+ NamedTestCaseVideoVariableValueRequest,
+ NamedTestCaseImageVariableValueRequest,
+ NamedTestCaseDocumentVariableValueRequest,
+]
diff --git a/src/vellum/types/named_test_case_video_variable_value.py b/src/vellum/types/named_test_case_video_variable_value.py
index db6567f564..7dfbc89916 100644
--- a/src/vellum/types/named_test_case_video_variable_value.py
+++ b/src/vellum/types/named_test_case_video_variable_value.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_video_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video import VellumVideo
+
+
+class NamedTestCaseVideoVariableValue(UniversalBaseModel):
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: typing.Optional[VellumVideo] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/named_test_case_video_variable_value_request.py b/src/vellum/types/named_test_case_video_variable_value_request.py
index c3d8824b4e..568bcf8710 100644
--- a/src/vellum/types/named_test_case_video_variable_value_request.py
+++ b/src/vellum/types/named_test_case_video_variable_value_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.named_test_case_video_variable_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video_request import VellumVideoRequest
+
+
+class NamedTestCaseVideoVariableValueRequest(UniversalBaseModel):
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: typing.Optional[VellumVideoRequest] = None
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/new_member_join_behavior_enum.py b/src/vellum/types/new_member_join_behavior_enum.py
index 13c138e0ea..de6ba42822 100644
--- a/src/vellum/types/new_member_join_behavior_enum.py
+++ b/src/vellum/types/new_member_join_behavior_enum.py
@@ -1,3 +1,8 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.new_member_join_behavior_enum import *
+import typing
+
+NewMemberJoinBehaviorEnum = typing.Union[
+ typing.Literal["AUTO_ACCEPT_FROM_SHARED_DOMAIN", "ALLOW_REQUESTS_FROM_SHARED_DOMAIN", "REQUIRE_EXPLICIT_INVITE"],
+ typing.Any,
+]
diff --git a/src/vellum/types/node_execution_fulfilled_body.py b/src/vellum/types/node_execution_fulfilled_body.py
index 2808ffc4be..8b9545a0bc 100644
--- a/src/vellum/types/node_execution_fulfilled_body.py
+++ b/src/vellum/types/node_execution_fulfilled_body.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_fulfilled_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .invoked_port import InvokedPort
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class NodeExecutionFulfilledBody(UniversalBaseModel):
+ node_definition: VellumCodeResourceDefinition
+ invoked_ports: typing.Optional[typing.List[InvokedPort]] = None
+ outputs: typing.Dict[str, typing.Optional[typing.Any]]
+ mocked: typing.Optional[bool] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_execution_fulfilled_event.py b/src/vellum/types/node_execution_fulfilled_event.py
index fa7c3bc3cd..9720b780f7 100644
--- a/src/vellum/types/node_execution_fulfilled_event.py
+++ b/src/vellum/types/node_execution_fulfilled_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_fulfilled_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .node_execution_fulfilled_body import NodeExecutionFulfilledBody
+
+
+class NodeExecutionFulfilledEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["node.execution.fulfilled"] = "node.execution.fulfilled"
+ body: NodeExecutionFulfilledBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(NodeExecutionFulfilledEvent)
diff --git a/src/vellum/types/node_execution_initiated_body.py b/src/vellum/types/node_execution_initiated_body.py
index de3a0a4874..5870ec1a4e 100644
--- a/src/vellum/types/node_execution_initiated_body.py
+++ b/src/vellum/types/node_execution_initiated_body.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_initiated_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class NodeExecutionInitiatedBody(UniversalBaseModel):
+ node_definition: VellumCodeResourceDefinition
+ inputs: typing.Dict[str, typing.Optional[typing.Any]]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_execution_initiated_event.py b/src/vellum/types/node_execution_initiated_event.py
index dfe39be033..7c7938ad0d 100644
--- a/src/vellum/types/node_execution_initiated_event.py
+++ b/src/vellum/types/node_execution_initiated_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_initiated_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .node_execution_initiated_body import NodeExecutionInitiatedBody
+
+
+class NodeExecutionInitiatedEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["node.execution.initiated"] = "node.execution.initiated"
+ body: NodeExecutionInitiatedBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(NodeExecutionInitiatedEvent)
diff --git a/src/vellum/types/node_execution_paused_body.py b/src/vellum/types/node_execution_paused_body.py
index 0480b81561..2a1a4ebffc 100644
--- a/src/vellum/types/node_execution_paused_body.py
+++ b/src/vellum/types/node_execution_paused_body.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_paused_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class NodeExecutionPausedBody(UniversalBaseModel):
+ node_definition: VellumCodeResourceDefinition
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_execution_paused_event.py b/src/vellum/types/node_execution_paused_event.py
index 35e5aedc43..ff3f03f110 100644
--- a/src/vellum/types/node_execution_paused_event.py
+++ b/src/vellum/types/node_execution_paused_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_paused_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .node_execution_paused_body import NodeExecutionPausedBody
+
+
+class NodeExecutionPausedEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["node.execution.paused"] = "node.execution.paused"
+ body: NodeExecutionPausedBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(NodeExecutionPausedEvent)
diff --git a/src/vellum/types/node_execution_rejected_body.py b/src/vellum/types/node_execution_rejected_body.py
index ee3b89e1fb..fbd8170ad2 100644
--- a/src/vellum/types/node_execution_rejected_body.py
+++ b/src/vellum/types/node_execution_rejected_body.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_rejected_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+from .vellum_sdk_error import VellumSdkError
+
+
+class NodeExecutionRejectedBody(UniversalBaseModel):
+ node_definition: VellumCodeResourceDefinition
+ error: VellumSdkError
+ stacktrace: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_execution_rejected_event.py b/src/vellum/types/node_execution_rejected_event.py
index 57a84b1750..e4ecc80725 100644
--- a/src/vellum/types/node_execution_rejected_event.py
+++ b/src/vellum/types/node_execution_rejected_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_rejected_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .node_execution_rejected_body import NodeExecutionRejectedBody
+
+
+class NodeExecutionRejectedEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["node.execution.rejected"] = "node.execution.rejected"
+ body: NodeExecutionRejectedBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(NodeExecutionRejectedEvent)
diff --git a/src/vellum/types/node_execution_resumed_body.py b/src/vellum/types/node_execution_resumed_body.py
index 1479d6bfe4..a3f01a31f4 100644
--- a/src/vellum/types/node_execution_resumed_body.py
+++ b/src/vellum/types/node_execution_resumed_body.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_resumed_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class NodeExecutionResumedBody(UniversalBaseModel):
+ node_definition: VellumCodeResourceDefinition
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_execution_resumed_event.py b/src/vellum/types/node_execution_resumed_event.py
index e9bf231171..e7fe70425a 100644
--- a/src/vellum/types/node_execution_resumed_event.py
+++ b/src/vellum/types/node_execution_resumed_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_resumed_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .node_execution_resumed_body import NodeExecutionResumedBody
+
+
+class NodeExecutionResumedEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["node.execution.resumed"] = "node.execution.resumed"
+ body: NodeExecutionResumedBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(NodeExecutionResumedEvent)
diff --git a/src/vellum/types/node_execution_span.py b/src/vellum/types/node_execution_span.py
index eeeead9c3a..b1f985d7df 100644
--- a/src/vellum/types/node_execution_span.py
+++ b/src/vellum/types/node_execution_span.py
@@ -1,3 +1,46 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_span import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .node_execution_span_attributes import NodeExecutionSpanAttributes
+from .vellum_node_execution_event import VellumNodeExecutionEvent
+from .workflow_execution_usage_calculation_fulfilled_body import WorkflowExecutionUsageCalculationFulfilledBody
+
+
+class NodeExecutionSpan(UniversalBaseModel):
+ name: typing.Literal["node.execution"] = "node.execution"
+ events: typing.List[VellumNodeExecutionEvent]
+ attributes: NodeExecutionSpanAttributes
+ usage_result: typing.Optional[WorkflowExecutionUsageCalculationFulfilledBody] = None
+ span_id: str
+ start_ts: dt.datetime
+ end_ts: dt.datetime
+ parent_span_id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+
+update_forward_refs(NodeExecutionSpan)
diff --git a/src/vellum/types/node_execution_span_attributes.py b/src/vellum/types/node_execution_span_attributes.py
index 93c7eaa191..009f0306a0 100644
--- a/src/vellum/types/node_execution_span_attributes.py
+++ b/src/vellum/types/node_execution_span_attributes.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_span_attributes import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NodeExecutionSpanAttributes(UniversalBaseModel):
+ label: str
+ filepath: typing.Optional[str] = None
+ node_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_execution_streaming_body.py b/src/vellum/types/node_execution_streaming_body.py
index 27811d652d..8c1a7d9481 100644
--- a/src/vellum/types/node_execution_streaming_body.py
+++ b/src/vellum/types/node_execution_streaming_body.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_streaming_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .base_output import BaseOutput
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class NodeExecutionStreamingBody(UniversalBaseModel):
+ node_definition: VellumCodeResourceDefinition
+ output: BaseOutput
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_execution_streaming_event.py b/src/vellum/types/node_execution_streaming_event.py
index 64902a0c5f..91521885fa 100644
--- a/src/vellum/types/node_execution_streaming_event.py
+++ b/src/vellum/types/node_execution_streaming_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_execution_streaming_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .node_execution_streaming_body import NodeExecutionStreamingBody
+
+
+class NodeExecutionStreamingEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["node.execution.streaming"] = "node.execution.streaming"
+ body: NodeExecutionStreamingBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(NodeExecutionStreamingEvent)
diff --git a/src/vellum/types/node_input_compiled_array_value.py b/src/vellum/types/node_input_compiled_array_value.py
index d3dea0d996..002444d44d 100644
--- a/src/vellum/types/node_input_compiled_array_value.py
+++ b/src/vellum/types/node_input_compiled_array_value.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_array_value import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class NodeInputCompiledArrayValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(NodeInputCompiledArrayValue)
diff --git a/src/vellum/types/node_input_compiled_audio_value.py b/src/vellum/types/node_input_compiled_audio_value.py
index d60dcae2ec..4335ffda70 100644
--- a/src/vellum/types/node_input_compiled_audio_value.py
+++ b/src/vellum/types/node_input_compiled_audio_value.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_audio_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio import VellumAudio
+
+
+class NodeInputCompiledAudioValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: typing.Optional[VellumAudio] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_chat_history_value.py b/src/vellum/types/node_input_compiled_chat_history_value.py
index f0a8018dec..7dd0ad9d4c 100644
--- a/src/vellum/types/node_input_compiled_chat_history_value.py
+++ b/src/vellum/types/node_input_compiled_chat_history_value.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_chat_history_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class NodeInputCompiledChatHistoryValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_document_value.py b/src/vellum/types/node_input_compiled_document_value.py
index 9f69825b70..fe942420e7 100644
--- a/src/vellum/types/node_input_compiled_document_value.py
+++ b/src/vellum/types/node_input_compiled_document_value.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_document_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document import VellumDocument
+
+
+class NodeInputCompiledDocumentValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: typing.Optional[VellumDocument] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_error_value.py b/src/vellum/types/node_input_compiled_error_value.py
index f5c929d0c4..e6b21c24a0 100644
--- a/src/vellum/types/node_input_compiled_error_value.py
+++ b/src/vellum/types/node_input_compiled_error_value.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_error_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class NodeInputCompiledErrorValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_function_call_value.py b/src/vellum/types/node_input_compiled_function_call_value.py
index 5de8d6f110..9db607da98 100644
--- a/src/vellum/types/node_input_compiled_function_call_value.py
+++ b/src/vellum/types/node_input_compiled_function_call_value.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_function_call_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class NodeInputCompiledFunctionCallValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_image_value.py b/src/vellum/types/node_input_compiled_image_value.py
index 54776d7774..19ce466630 100644
--- a/src/vellum/types/node_input_compiled_image_value.py
+++ b/src/vellum/types/node_input_compiled_image_value.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_image_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image import VellumImage
+
+
+class NodeInputCompiledImageValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: typing.Optional[VellumImage] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_json_value.py b/src/vellum/types/node_input_compiled_json_value.py
index 49fc44846b..acd9ac1f75 100644
--- a/src/vellum/types/node_input_compiled_json_value.py
+++ b/src/vellum/types/node_input_compiled_json_value.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_json_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NodeInputCompiledJsonValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_number_value.py b/src/vellum/types/node_input_compiled_number_value.py
index 528bd88b46..83a06531ce 100644
--- a/src/vellum/types/node_input_compiled_number_value.py
+++ b/src/vellum/types/node_input_compiled_number_value.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_number_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NodeInputCompiledNumberValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_search_results_value.py b/src/vellum/types/node_input_compiled_search_results_value.py
index 1ac63b2520..d692f1a5ba 100644
--- a/src/vellum/types/node_input_compiled_search_results_value.py
+++ b/src/vellum/types/node_input_compiled_search_results_value.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_search_results_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class NodeInputCompiledSearchResultsValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_secret_value.py b/src/vellum/types/node_input_compiled_secret_value.py
index cd4f5c1b76..36b82dacbd 100644
--- a/src/vellum/types/node_input_compiled_secret_value.py
+++ b/src/vellum/types/node_input_compiled_secret_value.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_secret_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_secret import VellumSecret
+
+
+class NodeInputCompiledSecretValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["SECRET"] = "SECRET"
+ value: VellumSecret
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_string_value.py b/src/vellum/types/node_input_compiled_string_value.py
index 0b43bf523e..b62535e209 100644
--- a/src/vellum/types/node_input_compiled_string_value.py
+++ b/src/vellum/types/node_input_compiled_string_value.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_string_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NodeInputCompiledStringValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_compiled_video_value.py b/src/vellum/types/node_input_compiled_video_value.py
index c8cd43647e..b74eefdc6a 100644
--- a/src/vellum/types/node_input_compiled_video_value.py
+++ b/src/vellum/types/node_input_compiled_video_value.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_compiled_video_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video import VellumVideo
+
+
+class NodeInputCompiledVideoValue(UniversalBaseModel):
+ node_input_id: str
+ key: str
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: typing.Optional[VellumVideo] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_input_variable_compiled_value.py b/src/vellum/types/node_input_variable_compiled_value.py
index e046b3c90e..2e0e360410 100644
--- a/src/vellum/types/node_input_variable_compiled_value.py
+++ b/src/vellum/types/node_input_variable_compiled_value.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_input_variable_compiled_value import *
+import typing
+
+from .node_input_compiled_array_value import NodeInputCompiledArrayValue
+from .node_input_compiled_audio_value import NodeInputCompiledAudioValue
+from .node_input_compiled_chat_history_value import NodeInputCompiledChatHistoryValue
+from .node_input_compiled_document_value import NodeInputCompiledDocumentValue
+from .node_input_compiled_error_value import NodeInputCompiledErrorValue
+from .node_input_compiled_function_call_value import NodeInputCompiledFunctionCallValue
+from .node_input_compiled_image_value import NodeInputCompiledImageValue
+from .node_input_compiled_json_value import NodeInputCompiledJsonValue
+from .node_input_compiled_number_value import NodeInputCompiledNumberValue
+from .node_input_compiled_search_results_value import NodeInputCompiledSearchResultsValue
+from .node_input_compiled_secret_value import NodeInputCompiledSecretValue
+from .node_input_compiled_string_value import NodeInputCompiledStringValue
+from .node_input_compiled_video_value import NodeInputCompiledVideoValue
+
+NodeInputVariableCompiledValue = typing.Union[
+ NodeInputCompiledStringValue,
+ NodeInputCompiledNumberValue,
+ NodeInputCompiledJsonValue,
+ NodeInputCompiledChatHistoryValue,
+ NodeInputCompiledSearchResultsValue,
+ NodeInputCompiledErrorValue,
+ NodeInputCompiledArrayValue,
+ NodeInputCompiledFunctionCallValue,
+ NodeInputCompiledSecretValue,
+ NodeInputCompiledAudioValue,
+ NodeInputCompiledVideoValue,
+ NodeInputCompiledImageValue,
+ NodeInputCompiledDocumentValue,
+]
diff --git a/src/vellum/types/node_output_compiled_array_value.py b/src/vellum/types/node_output_compiled_array_value.py
index d59135d648..915e0d2340 100644
--- a/src/vellum/types/node_output_compiled_array_value.py
+++ b/src/vellum/types/node_output_compiled_array_value.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_output_compiled_array_value import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class NodeOutputCompiledArrayValue(UniversalBaseModel):
+ """
+ An output returned by a node that is of type ARRAY.
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+ node_output_id: str
+ state: typing.Optional[WorkflowNodeResultEventState] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(NodeOutputCompiledArrayValue)
diff --git a/src/vellum/types/node_output_compiled_chat_history_value.py b/src/vellum/types/node_output_compiled_chat_history_value.py
index 801909f7d2..5140fcf4eb 100644
--- a/src/vellum/types/node_output_compiled_chat_history_value.py
+++ b/src/vellum/types/node_output_compiled_chat_history_value.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_output_compiled_chat_history_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class NodeOutputCompiledChatHistoryValue(UniversalBaseModel):
+ """
+ An output returned by a node that is of type CHAT_HISTORY.
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+ node_output_id: str
+ state: typing.Optional[WorkflowNodeResultEventState] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_output_compiled_error_value.py b/src/vellum/types/node_output_compiled_error_value.py
index afa382b784..fc2de8a6c8 100644
--- a/src/vellum/types/node_output_compiled_error_value.py
+++ b/src/vellum/types/node_output_compiled_error_value.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_output_compiled_error_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class NodeOutputCompiledErrorValue(UniversalBaseModel):
+ """
+ An output returned by a node that is of type ERROR.
+ """
+
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+ node_output_id: str
+ state: typing.Optional[WorkflowNodeResultEventState] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_output_compiled_function_call_value.py b/src/vellum/types/node_output_compiled_function_call_value.py
index 792908f19a..9e8b19ba57 100644
--- a/src/vellum/types/node_output_compiled_function_call_value.py
+++ b/src/vellum/types/node_output_compiled_function_call_value.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_output_compiled_function_call_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class NodeOutputCompiledFunctionCallValue(UniversalBaseModel):
+ """
+ An output returned by a node that is of type FUNCTION_CALL.
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+ node_output_id: str
+ state: typing.Optional[WorkflowNodeResultEventState] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_output_compiled_json_value.py b/src/vellum/types/node_output_compiled_json_value.py
index a1a99388b7..5aa53542b6 100644
--- a/src/vellum/types/node_output_compiled_json_value.py
+++ b/src/vellum/types/node_output_compiled_json_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_output_compiled_json_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class NodeOutputCompiledJsonValue(UniversalBaseModel):
+ """
+ An output returned by a node that is of type JSON.
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+ node_output_id: str
+ state: typing.Optional[WorkflowNodeResultEventState] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_output_compiled_number_value.py b/src/vellum/types/node_output_compiled_number_value.py
index 5bc8a7a39a..2d4d0108ce 100644
--- a/src/vellum/types/node_output_compiled_number_value.py
+++ b/src/vellum/types/node_output_compiled_number_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_output_compiled_number_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class NodeOutputCompiledNumberValue(UniversalBaseModel):
+ """
+ An output returned by a node that is of type NUMBER.
+ """
+
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+ node_output_id: str
+ state: typing.Optional[WorkflowNodeResultEventState] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_output_compiled_search_results_value.py b/src/vellum/types/node_output_compiled_search_results_value.py
index cec898de74..d0bed70a47 100644
--- a/src/vellum/types/node_output_compiled_search_results_value.py
+++ b/src/vellum/types/node_output_compiled_search_results_value.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_output_compiled_search_results_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class NodeOutputCompiledSearchResultsValue(UniversalBaseModel):
+ """
+ An output returned by a node that is of type SEARCH_RESULTS.
+ """
+
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+ node_output_id: str
+ state: typing.Optional[WorkflowNodeResultEventState] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_output_compiled_string_value.py b/src/vellum/types/node_output_compiled_string_value.py
index 9670fcc28d..77dbaabe1b 100644
--- a/src/vellum/types/node_output_compiled_string_value.py
+++ b/src/vellum/types/node_output_compiled_string_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_output_compiled_string_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class NodeOutputCompiledStringValue(UniversalBaseModel):
+ """
+ An output returned by a node that is of type STRING.
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+ node_output_id: str
+ state: typing.Optional[WorkflowNodeResultEventState] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_output_compiled_thinking_value.py b/src/vellum/types/node_output_compiled_thinking_value.py
index 6da292ec15..c4a4ec96be 100644
--- a/src/vellum/types/node_output_compiled_thinking_value.py
+++ b/src/vellum/types/node_output_compiled_thinking_value.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_output_compiled_thinking_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .string_vellum_value import StringVellumValue
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class NodeOutputCompiledThinkingValue(UniversalBaseModel):
+ """
+ An output returned by a node that is of type THINKING.
+ """
+
+ type: typing.Literal["THINKING"] = "THINKING"
+ value: typing.Optional[StringVellumValue] = None
+ node_output_id: str
+ state: typing.Optional[WorkflowNodeResultEventState] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/node_output_compiled_value.py b/src/vellum/types/node_output_compiled_value.py
index 04a4b41354..6d370cb077 100644
--- a/src/vellum/types/node_output_compiled_value.py
+++ b/src/vellum/types/node_output_compiled_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_output_compiled_value import *
+import typing
+
+from .node_output_compiled_array_value import NodeOutputCompiledArrayValue
+from .node_output_compiled_chat_history_value import NodeOutputCompiledChatHistoryValue
+from .node_output_compiled_error_value import NodeOutputCompiledErrorValue
+from .node_output_compiled_function_call_value import NodeOutputCompiledFunctionCallValue
+from .node_output_compiled_json_value import NodeOutputCompiledJsonValue
+from .node_output_compiled_number_value import NodeOutputCompiledNumberValue
+from .node_output_compiled_search_results_value import NodeOutputCompiledSearchResultsValue
+from .node_output_compiled_string_value import NodeOutputCompiledStringValue
+from .node_output_compiled_thinking_value import NodeOutputCompiledThinkingValue
+
+NodeOutputCompiledValue = typing.Union[
+ NodeOutputCompiledStringValue,
+ NodeOutputCompiledNumberValue,
+ NodeOutputCompiledJsonValue,
+ NodeOutputCompiledChatHistoryValue,
+ NodeOutputCompiledSearchResultsValue,
+ NodeOutputCompiledErrorValue,
+ NodeOutputCompiledArrayValue,
+ NodeOutputCompiledFunctionCallValue,
+ NodeOutputCompiledThinkingValue,
+]
diff --git a/src/vellum/types/node_parent_context.py b/src/vellum/types/node_parent_context.py
index 69764dd98d..af5c068215 100644
--- a/src/vellum/types/node_parent_context.py
+++ b/src/vellum/types/node_parent_context.py
@@ -1,3 +1,40 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.node_parent_context import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class NodeParentContext(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ node_definition: VellumCodeResourceDefinition
+ type: typing.Literal["WORKFLOW_NODE"] = "WORKFLOW_NODE"
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(NodeParentContext)
diff --git a/src/vellum/types/normalized_log_probs.py b/src/vellum/types/normalized_log_probs.py
index adb6e29178..f0f246d0d3 100644
--- a/src/vellum/types/normalized_log_probs.py
+++ b/src/vellum/types/normalized_log_probs.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.normalized_log_probs import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .normalized_token_log_probs import NormalizedTokenLogProbs
+
+
+class NormalizedLogProbs(UniversalBaseModel):
+ tokens: typing.List[NormalizedTokenLogProbs]
+ likelihood: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/normalized_token_log_probs.py b/src/vellum/types/normalized_token_log_probs.py
index 738837f28a..8defdd4478 100644
--- a/src/vellum/types/normalized_token_log_probs.py
+++ b/src/vellum/types/normalized_token_log_probs.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.normalized_token_log_probs import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NormalizedTokenLogProbs(UniversalBaseModel):
+ token: str
+ logprob: typing.Optional[float] = None
+ top_logprobs: typing.Optional[typing.Dict[str, typing.Optional[float]]] = None
+ text_offset: int
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/number_input.py b/src/vellum/types/number_input.py
index f97b5b6314..5c792afa3f 100644
--- a/src/vellum/types/number_input.py
+++ b/src/vellum/types/number_input.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.number_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NumberInput(UniversalBaseModel):
+ """
+ A user input representing a number value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: float
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/number_vellum_value.py b/src/vellum/types/number_vellum_value.py
index 23ef8fab5e..b3f48bd1e1 100644
--- a/src/vellum/types/number_vellum_value.py
+++ b/src/vellum/types/number_vellum_value.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.number_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NumberVellumValue(UniversalBaseModel):
+ """
+ A value representing a number.
+ """
+
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/number_vellum_value_request.py b/src/vellum/types/number_vellum_value_request.py
index 43e6ad0228..19a9f56451 100644
--- a/src/vellum/types/number_vellum_value_request.py
+++ b/src/vellum/types/number_vellum_value_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.number_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class NumberVellumValueRequest(UniversalBaseModel):
+ """
+ A value representing a number.
+ """
+
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/open_ai_vectorizer_config.py b/src/vellum/types/open_ai_vectorizer_config.py
index 1622268290..396d6f930a 100644
--- a/src/vellum/types/open_ai_vectorizer_config.py
+++ b/src/vellum/types/open_ai_vectorizer_config.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.open_ai_vectorizer_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .add_openai_api_key_enum import AddOpenaiApiKeyEnum
+
+
+class OpenAiVectorizerConfig(UniversalBaseModel):
+ """
+ Configuration for using an OpenAI vectorizer.
+ """
+
+ add_openai_api_key: typing.Optional[AddOpenaiApiKeyEnum] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/open_ai_vectorizer_config_request.py b/src/vellum/types/open_ai_vectorizer_config_request.py
index 3cb909e16f..21ce9dce19 100644
--- a/src/vellum/types/open_ai_vectorizer_config_request.py
+++ b/src/vellum/types/open_ai_vectorizer_config_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.open_ai_vectorizer_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .add_openai_api_key_enum import AddOpenaiApiKeyEnum
+
+
+class OpenAiVectorizerConfigRequest(UniversalBaseModel):
+ """
+ Configuration for using an OpenAI vectorizer.
+ """
+
+ add_openai_api_key: typing.Optional[AddOpenaiApiKeyEnum] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/open_ai_vectorizer_text_embedding_3_large.py b/src/vellum/types/open_ai_vectorizer_text_embedding_3_large.py
index 5ebfb250a5..288430c3f5 100644
--- a/src/vellum/types/open_ai_vectorizer_text_embedding_3_large.py
+++ b/src/vellum/types/open_ai_vectorizer_text_embedding_3_large.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.open_ai_vectorizer_text_embedding_3_large import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .open_ai_vectorizer_config import OpenAiVectorizerConfig
+
+
+class OpenAiVectorizerTextEmbedding3Large(UniversalBaseModel):
+ """
+ OpenAI vectorizer for text-embedding-3-large.
+ """
+
+ config: OpenAiVectorizerConfig
+ model_name: typing.Literal["text-embedding-3-large"] = "text-embedding-3-large"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/open_ai_vectorizer_text_embedding_3_large_request.py b/src/vellum/types/open_ai_vectorizer_text_embedding_3_large_request.py
index 91daced733..cd91f1c6ca 100644
--- a/src/vellum/types/open_ai_vectorizer_text_embedding_3_large_request.py
+++ b/src/vellum/types/open_ai_vectorizer_text_embedding_3_large_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.open_ai_vectorizer_text_embedding_3_large_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .open_ai_vectorizer_config_request import OpenAiVectorizerConfigRequest
+
+
+class OpenAiVectorizerTextEmbedding3LargeRequest(UniversalBaseModel):
+ """
+ OpenAI vectorizer for text-embedding-3-large.
+ """
+
+ config: OpenAiVectorizerConfigRequest
+ model_name: typing.Literal["text-embedding-3-large"] = "text-embedding-3-large"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/open_ai_vectorizer_text_embedding_3_small.py b/src/vellum/types/open_ai_vectorizer_text_embedding_3_small.py
index a7998e65ac..40712b2f75 100644
--- a/src/vellum/types/open_ai_vectorizer_text_embedding_3_small.py
+++ b/src/vellum/types/open_ai_vectorizer_text_embedding_3_small.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.open_ai_vectorizer_text_embedding_3_small import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .open_ai_vectorizer_config import OpenAiVectorizerConfig
+
+
+class OpenAiVectorizerTextEmbedding3Small(UniversalBaseModel):
+ """
+ OpenAI vectorizer for text-embedding-3-small.
+ """
+
+ config: OpenAiVectorizerConfig
+ model_name: typing.Literal["text-embedding-3-small"] = "text-embedding-3-small"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/open_ai_vectorizer_text_embedding_3_small_request.py b/src/vellum/types/open_ai_vectorizer_text_embedding_3_small_request.py
index b04a2f0019..f8ab9c1d4d 100644
--- a/src/vellum/types/open_ai_vectorizer_text_embedding_3_small_request.py
+++ b/src/vellum/types/open_ai_vectorizer_text_embedding_3_small_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.open_ai_vectorizer_text_embedding_3_small_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .open_ai_vectorizer_config_request import OpenAiVectorizerConfigRequest
+
+
+class OpenAiVectorizerTextEmbedding3SmallRequest(UniversalBaseModel):
+ """
+ OpenAI vectorizer for text-embedding-3-small.
+ """
+
+ config: OpenAiVectorizerConfigRequest
+ model_name: typing.Literal["text-embedding-3-small"] = "text-embedding-3-small"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/open_ai_vectorizer_text_embedding_ada_002.py b/src/vellum/types/open_ai_vectorizer_text_embedding_ada_002.py
index 63a0daa8c3..baad419c0e 100644
--- a/src/vellum/types/open_ai_vectorizer_text_embedding_ada_002.py
+++ b/src/vellum/types/open_ai_vectorizer_text_embedding_ada_002.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.open_ai_vectorizer_text_embedding_ada_002 import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .open_ai_vectorizer_config import OpenAiVectorizerConfig
+
+
+class OpenAiVectorizerTextEmbeddingAda002(UniversalBaseModel):
+ """
+ OpenAI vectorizer for text-embedding-ada-002.
+ """
+
+ config: OpenAiVectorizerConfig
+ model_name: typing.Literal["text-embedding-ada-002"] = "text-embedding-ada-002"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/open_ai_vectorizer_text_embedding_ada_002_request.py b/src/vellum/types/open_ai_vectorizer_text_embedding_ada_002_request.py
index 18c57aa00a..912d6b0a86 100644
--- a/src/vellum/types/open_ai_vectorizer_text_embedding_ada_002_request.py
+++ b/src/vellum/types/open_ai_vectorizer_text_embedding_ada_002_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.open_ai_vectorizer_text_embedding_ada_002_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .open_ai_vectorizer_config_request import OpenAiVectorizerConfigRequest
+
+
+class OpenAiVectorizerTextEmbeddingAda002Request(UniversalBaseModel):
+ """
+ OpenAI vectorizer for text-embedding-ada-002.
+ """
+
+ config: OpenAiVectorizerConfigRequest
+ model_name: typing.Literal["text-embedding-ada-002"] = "text-embedding-ada-002"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/organization_read.py b/src/vellum/types/organization_read.py
index 7b7473cdc0..115f6ff0d5 100644
--- a/src/vellum/types/organization_read.py
+++ b/src/vellum/types/organization_read.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.organization_read import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .new_member_join_behavior_enum import NewMemberJoinBehaviorEnum
+
+
+class OrganizationRead(UniversalBaseModel):
+ id: str
+ name: str
+ created: typing.Optional[dt.datetime] = None
+ allow_staff_access: typing.Optional[bool] = None
+ new_member_join_behavior: NewMemberJoinBehaviorEnum
+ limit_config: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/paginated_container_image_read_list.py b/src/vellum/types/paginated_container_image_read_list.py
index 6a071497ec..35badd5aa5 100644
--- a/src/vellum/types/paginated_container_image_read_list.py
+++ b/src/vellum/types/paginated_container_image_read_list.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_container_image_read_list import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .container_image_read import ContainerImageRead
+
+
+class PaginatedContainerImageReadList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[ContainerImageRead]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/paginated_deployment_release_tag_read_list.py b/src/vellum/types/paginated_deployment_release_tag_read_list.py
index 05d56073b0..dd00f14d8a 100644
--- a/src/vellum/types/paginated_deployment_release_tag_read_list.py
+++ b/src/vellum/types/paginated_deployment_release_tag_read_list.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_deployment_release_tag_read_list import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .deployment_release_tag_read import DeploymentReleaseTagRead
+
+
+class PaginatedDeploymentReleaseTagReadList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[DeploymentReleaseTagRead]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/paginated_document_index_read_list.py b/src/vellum/types/paginated_document_index_read_list.py
index f365ae4704..4c1f6a66a9 100644
--- a/src/vellum/types/paginated_document_index_read_list.py
+++ b/src/vellum/types/paginated_document_index_read_list.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_document_index_read_list import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .document_index_read import DocumentIndexRead
+
+
+class PaginatedDocumentIndexReadList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[DocumentIndexRead]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/paginated_folder_entity_list.py b/src/vellum/types/paginated_folder_entity_list.py
index e32bbfd13c..fadae4c92d 100644
--- a/src/vellum/types/paginated_folder_entity_list.py
+++ b/src/vellum/types/paginated_folder_entity_list.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_folder_entity_list import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .folder_entity import FolderEntity
+
+
+class PaginatedFolderEntityList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[FolderEntity]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/paginated_slim_deployment_read_list.py b/src/vellum/types/paginated_slim_deployment_read_list.py
index e6f174d53b..d601cf17f8 100644
--- a/src/vellum/types/paginated_slim_deployment_read_list.py
+++ b/src/vellum/types/paginated_slim_deployment_read_list.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_slim_deployment_read_list import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .slim_deployment_read import SlimDeploymentRead
+
+
+class PaginatedSlimDeploymentReadList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[SlimDeploymentRead]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(PaginatedSlimDeploymentReadList)
diff --git a/src/vellum/types/paginated_slim_document_list.py b/src/vellum/types/paginated_slim_document_list.py
index e5d4b1b022..cf4eafa93e 100644
--- a/src/vellum/types/paginated_slim_document_list.py
+++ b/src/vellum/types/paginated_slim_document_list.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_slim_document_list import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .slim_document import SlimDocument
+
+
+class PaginatedSlimDocumentList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[SlimDocument]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/paginated_slim_integration_auth_config_read_list.py b/src/vellum/types/paginated_slim_integration_auth_config_read_list.py
index 8413fe739f..a08fcb6d08 100644
--- a/src/vellum/types/paginated_slim_integration_auth_config_read_list.py
+++ b/src/vellum/types/paginated_slim_integration_auth_config_read_list.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_slim_integration_auth_config_read_list import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .slim_integration_auth_config_read import SlimIntegrationAuthConfigRead
+
+
+class PaginatedSlimIntegrationAuthConfigReadList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[SlimIntegrationAuthConfigRead]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/paginated_slim_integration_read_list.py b/src/vellum/types/paginated_slim_integration_read_list.py
index 5d8e2d6676..336dde497b 100644
--- a/src/vellum/types/paginated_slim_integration_read_list.py
+++ b/src/vellum/types/paginated_slim_integration_read_list.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_slim_integration_read_list import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .slim_integration_read import SlimIntegrationRead
+
+
+class PaginatedSlimIntegrationReadList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[SlimIntegrationRead]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/paginated_slim_tool_definition_list.py b/src/vellum/types/paginated_slim_tool_definition_list.py
index db4c721943..f70a28f76b 100644
--- a/src/vellum/types/paginated_slim_tool_definition_list.py
+++ b/src/vellum/types/paginated_slim_tool_definition_list.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_slim_tool_definition_list import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .components_schemas_slim_composio_tool_definition import ComponentsSchemasSlimComposioToolDefinition
+
+
+class PaginatedSlimToolDefinitionList(UniversalBaseModel):
+ count: int
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.List[ComponentsSchemasSlimComposioToolDefinition]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/paginated_slim_workflow_deployment_list.py b/src/vellum/types/paginated_slim_workflow_deployment_list.py
index 136dedaff7..adbb0226d9 100644
--- a/src/vellum/types/paginated_slim_workflow_deployment_list.py
+++ b/src/vellum/types/paginated_slim_workflow_deployment_list.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_slim_workflow_deployment_list import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .slim_workflow_deployment import SlimWorkflowDeployment
+
+
+class PaginatedSlimWorkflowDeploymentList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[SlimWorkflowDeployment]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(PaginatedSlimWorkflowDeploymentList)
diff --git a/src/vellum/types/paginated_test_suite_run_execution_list.py b/src/vellum/types/paginated_test_suite_run_execution_list.py
index 08ff3e55b7..6ff23dd522 100644
--- a/src/vellum/types/paginated_test_suite_run_execution_list.py
+++ b/src/vellum/types/paginated_test_suite_run_execution_list.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_test_suite_run_execution_list import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .test_suite_run_execution import TestSuiteRunExecution
+
+
+class PaginatedTestSuiteRunExecutionList(UniversalBaseModel):
+ count: int
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.List[TestSuiteRunExecution]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(PaginatedTestSuiteRunExecutionList)
diff --git a/src/vellum/types/paginated_test_suite_test_case_list.py b/src/vellum/types/paginated_test_suite_test_case_list.py
index b3815b8efc..7fbe51399e 100644
--- a/src/vellum/types/paginated_test_suite_test_case_list.py
+++ b/src/vellum/types/paginated_test_suite_test_case_list.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_test_suite_test_case_list import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .test_suite_test_case import TestSuiteTestCase
+
+
+class PaginatedTestSuiteTestCaseList(UniversalBaseModel):
+ count: int
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.List[TestSuiteTestCase]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(PaginatedTestSuiteTestCaseList)
diff --git a/src/vellum/types/paginated_workflow_deployment_release_list.py b/src/vellum/types/paginated_workflow_deployment_release_list.py
index 96bbcfa010..18d989e368 100644
--- a/src/vellum/types/paginated_workflow_deployment_release_list.py
+++ b/src/vellum/types/paginated_workflow_deployment_release_list.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_workflow_deployment_release_list import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .workflow_deployment_release import WorkflowDeploymentRelease
+
+
+class PaginatedWorkflowDeploymentReleaseList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[WorkflowDeploymentRelease]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(PaginatedWorkflowDeploymentReleaseList)
diff --git a/src/vellum/types/paginated_workflow_release_tag_read_list.py b/src/vellum/types/paginated_workflow_release_tag_read_list.py
index c500c19ceb..be980b8975 100644
--- a/src/vellum/types/paginated_workflow_release_tag_read_list.py
+++ b/src/vellum/types/paginated_workflow_release_tag_read_list.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_workflow_release_tag_read_list import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_release_tag_read import WorkflowReleaseTagRead
+
+
+class PaginatedWorkflowReleaseTagReadList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[WorkflowReleaseTagRead]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/paginated_workflow_sandbox_example_list.py b/src/vellum/types/paginated_workflow_sandbox_example_list.py
index 3cc63986f5..8e54a1b0ff 100644
--- a/src/vellum/types/paginated_workflow_sandbox_example_list.py
+++ b/src/vellum/types/paginated_workflow_sandbox_example_list.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.paginated_workflow_sandbox_example_list import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_sandbox_example import WorkflowSandboxExample
+
+
+class PaginatedWorkflowSandboxExampleList(UniversalBaseModel):
+ count: typing.Optional[int] = None
+ next: typing.Optional[str] = None
+ previous: typing.Optional[str] = None
+ results: typing.Optional[typing.List[WorkflowSandboxExample]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/parent_context.py b/src/vellum/types/parent_context.py
index 6ca97e3a35..f63a515a3a 100644
--- a/src/vellum/types/parent_context.py
+++ b/src/vellum/types/parent_context.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.parent_context import *
+from __future__ import annotations
+
+import typing
+
+if typing.TYPE_CHECKING:
+ from .api_request_parent_context import ApiRequestParentContext
+ from .external_parent_context import ExternalParentContext
+ from .integration_trigger_context import IntegrationTriggerContext
+ from .node_parent_context import NodeParentContext
+ from .prompt_deployment_parent_context import PromptDeploymentParentContext
+ from .scheduled_trigger_context import ScheduledTriggerContext
+ from .workflow_deployment_parent_context import WorkflowDeploymentParentContext
+ from .workflow_parent_context import WorkflowParentContext
+ from .workflow_sandbox_parent_context import WorkflowSandboxParentContext
+ParentContext = typing.Union[
+ "WorkflowParentContext",
+ "NodeParentContext",
+ "WorkflowDeploymentParentContext",
+ "WorkflowSandboxParentContext",
+ "PromptDeploymentParentContext",
+ "ApiRequestParentContext",
+ "ExternalParentContext",
+ "ScheduledTriggerContext",
+ "IntegrationTriggerContext",
+]
diff --git a/src/vellum/types/pdf_search_result_meta_source.py b/src/vellum/types/pdf_search_result_meta_source.py
index e82673b8f3..127784acde 100644
--- a/src/vellum/types/pdf_search_result_meta_source.py
+++ b/src/vellum/types/pdf_search_result_meta_source.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.pdf_search_result_meta_source import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PdfSearchResultMetaSource(UniversalBaseModel):
+ """
+ The source of a search result from a PDF document.
+ """
+
+ document_type: typing.Literal["PDF"] = "PDF"
+ start_page_num: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ The 1-indexed page number where the chunk starts in the document. Only available for supported chunking strategies and document types.
+ """
+
+ end_page_num: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ The 1-indexed page number where the chunk ends in the document. Only available for supported chunking strategies and document types.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/pdf_search_result_meta_source_request.py b/src/vellum/types/pdf_search_result_meta_source_request.py
index 0dbbd24e4f..f004fc2b41 100644
--- a/src/vellum/types/pdf_search_result_meta_source_request.py
+++ b/src/vellum/types/pdf_search_result_meta_source_request.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.pdf_search_result_meta_source_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PdfSearchResultMetaSourceRequest(UniversalBaseModel):
+ """
+ The source of a search result from a PDF document.
+ """
+
+ document_type: typing.Literal["PDF"] = "PDF"
+ start_page_num: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ The 1-indexed page number where the chunk starts in the document. Only available for supported chunking strategies and document types.
+ """
+
+ end_page_num: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ The 1-indexed page number where the chunk ends in the document. Only available for supported chunking strategies and document types.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/plain_text_prompt_block.py b/src/vellum/types/plain_text_prompt_block.py
index 5231d4d333..dad7bd965f 100644
--- a/src/vellum/types/plain_text_prompt_block.py
+++ b/src/vellum/types/plain_text_prompt_block.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.plain_text_prompt_block import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+
+
+class PlainTextPromptBlock(UniversalBaseModel):
+ """
+ A block that holds a plain text string value.
+ """
+
+ block_type: typing.Literal["PLAIN_TEXT"] = "PLAIN_TEXT"
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ text: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/price.py b/src/vellum/types/price.py
index c3c86e0ff3..dcda2fd21b 100644
--- a/src/vellum/types/price.py
+++ b/src/vellum/types/price.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.price import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .unit_enum import UnitEnum
+
+
+class Price(UniversalBaseModel):
+ value: float
+ unit: UnitEnum = "USD"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/private_vectorizer.py b/src/vellum/types/private_vectorizer.py
index f558b83cd8..b487699e56 100644
--- a/src/vellum/types/private_vectorizer.py
+++ b/src/vellum/types/private_vectorizer.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.private_vectorizer import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PrivateVectorizer(UniversalBaseModel):
+ """
+ Serializer for private vectorizer.
+ """
+
+ model_name: typing.Literal["private-vectorizer"] = "private-vectorizer"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/private_vectorizer_request.py b/src/vellum/types/private_vectorizer_request.py
index 9de5e33154..f4e0b76341 100644
--- a/src/vellum/types/private_vectorizer_request.py
+++ b/src/vellum/types/private_vectorizer_request.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.private_vectorizer_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PrivateVectorizerRequest(UniversalBaseModel):
+ """
+ Serializer for private vectorizer.
+ """
+
+ model_name: typing.Literal["private-vectorizer"] = "private-vectorizer"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/processing_failure_reason_enum.py b/src/vellum/types/processing_failure_reason_enum.py
index 936cc95f33..9d6671d4fd 100644
--- a/src/vellum/types/processing_failure_reason_enum.py
+++ b/src/vellum/types/processing_failure_reason_enum.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.processing_failure_reason_enum import *
+import typing
+
+ProcessingFailureReasonEnum = typing.Union[
+ typing.Literal["EXCEEDED_CHARACTER_LIMIT", "INVALID_FILE", "INVALID_CREDENTIALS"], typing.Any
+]
diff --git a/src/vellum/types/prompt_block.py b/src/vellum/types/prompt_block.py
index aaf8fad3da..2199d6c454 100644
--- a/src/vellum/types/prompt_block.py
+++ b/src/vellum/types/prompt_block.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_block import *
+from __future__ import annotations
+
+import typing
+
+from .audio_prompt_block import AudioPromptBlock
+from .document_prompt_block import DocumentPromptBlock
+from .function_call_prompt_block import FunctionCallPromptBlock
+from .image_prompt_block import ImagePromptBlock
+from .jinja_prompt_block import JinjaPromptBlock
+from .rich_text_prompt_block import RichTextPromptBlock
+from .variable_prompt_block import VariablePromptBlock
+from .video_prompt_block import VideoPromptBlock
+
+if typing.TYPE_CHECKING:
+ from .chat_message_prompt_block import ChatMessagePromptBlock
+PromptBlock = typing.Union[
+ JinjaPromptBlock,
+ "ChatMessagePromptBlock",
+ VariablePromptBlock,
+ RichTextPromptBlock,
+ FunctionCallPromptBlock,
+ AudioPromptBlock,
+ VideoPromptBlock,
+ ImagePromptBlock,
+ DocumentPromptBlock,
+]
diff --git a/src/vellum/types/prompt_block_state.py b/src/vellum/types/prompt_block_state.py
index c647973198..58a187a820 100644
--- a/src/vellum/types/prompt_block_state.py
+++ b/src/vellum/types/prompt_block_state.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_block_state import *
+import typing
+
+PromptBlockState = typing.Union[typing.Literal["ENABLED", "DISABLED"], typing.Any]
diff --git a/src/vellum/types/prompt_deployment_expand_meta_request.py b/src/vellum/types/prompt_deployment_expand_meta_request.py
index ef6bd6de81..56077061e3 100644
--- a/src/vellum/types/prompt_deployment_expand_meta_request.py
+++ b/src/vellum/types/prompt_deployment_expand_meta_request.py
@@ -1,3 +1,52 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_deployment_expand_meta_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PromptDeploymentExpandMetaRequest(UniversalBaseModel):
+ model_name: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include the model identifier representing the ML Model invoked by the Prompt.
+ """
+
+ usage: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include model host usage tracking. This may increase latency for some model hosts.
+ """
+
+ cost: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include model host cost tracking. This may increase latency for some model hosts.
+ """
+
+ finish_reason: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include the reason provided by the model for why the execution finished.
+ """
+
+ latency: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include the time in nanoseconds it took to execute the Prompt Deployment.
+ """
+
+ deployment_release_tag: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include the release tag of the Prompt Deployment.
+ """
+
+ prompt_version_id: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the response will include the ID of the Prompt Version backing the deployment.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_deployment_input_request.py b/src/vellum/types/prompt_deployment_input_request.py
index 031083989f..f723baddc9 100644
--- a/src/vellum/types/prompt_deployment_input_request.py
+++ b/src/vellum/types/prompt_deployment_input_request.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_deployment_input_request import *
+import typing
+
+from .audio_input_request import AudioInputRequest
+from .chat_history_input_request import ChatHistoryInputRequest
+from .document_input_request import DocumentInputRequest
+from .image_input_request import ImageInputRequest
+from .json_input_request import JsonInputRequest
+from .string_input_request import StringInputRequest
+from .video_input_request import VideoInputRequest
+
+PromptDeploymentInputRequest = typing.Union[
+ StringInputRequest,
+ JsonInputRequest,
+ ChatHistoryInputRequest,
+ AudioInputRequest,
+ VideoInputRequest,
+ ImageInputRequest,
+ DocumentInputRequest,
+]
diff --git a/src/vellum/types/prompt_deployment_parent_context.py b/src/vellum/types/prompt_deployment_parent_context.py
index 36028a017b..d158e7862c 100644
--- a/src/vellum/types/prompt_deployment_parent_context.py
+++ b/src/vellum/types/prompt_deployment_parent_context.py
@@ -1,3 +1,46 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_deployment_parent_context import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class PromptDeploymentParentContext(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ type: typing.Literal["PROMPT_RELEASE_TAG"] = "PROMPT_RELEASE_TAG"
+ span_id: str
+ deployment_id: str
+ deployment_name: str
+ deployment_history_item_id: str
+ release_tag_id: str
+ release_tag_name: str
+ external_id: typing.Optional[str] = None
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+ prompt_version_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(PromptDeploymentParentContext)
diff --git a/src/vellum/types/prompt_deployment_release.py b/src/vellum/types/prompt_deployment_release.py
index 917e2dc40e..cb91655e73 100644
--- a/src/vellum/types/prompt_deployment_release.py
+++ b/src/vellum/types/prompt_deployment_release.py
@@ -1,3 +1,34 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_deployment_release import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .prompt_deployment_release_prompt_deployment import PromptDeploymentReleasePromptDeployment
+from .prompt_deployment_release_prompt_version import PromptDeploymentReleasePromptVersion
+from .release_created_by import ReleaseCreatedBy
+from .release_environment import ReleaseEnvironment
+from .release_release_tag import ReleaseReleaseTag
+from .slim_release_review import SlimReleaseReview
+
+
+class PromptDeploymentRelease(UniversalBaseModel):
+ id: str
+ created: dt.datetime
+ environment: ReleaseEnvironment
+ created_by: typing.Optional[ReleaseCreatedBy] = None
+ prompt_version: PromptDeploymentReleasePromptVersion
+ deployment: PromptDeploymentReleasePromptDeployment
+ description: typing.Optional[str] = None
+ release_tags: typing.List[ReleaseReleaseTag]
+ reviews: typing.List[SlimReleaseReview]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_deployment_release_prompt_deployment.py b/src/vellum/types/prompt_deployment_release_prompt_deployment.py
index 46b9ea4528..5458f81f44 100644
--- a/src/vellum/types/prompt_deployment_release_prompt_deployment.py
+++ b/src/vellum/types/prompt_deployment_release_prompt_deployment.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_deployment_release_prompt_deployment import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PromptDeploymentReleasePromptDeployment(UniversalBaseModel):
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_deployment_release_prompt_version.py b/src/vellum/types/prompt_deployment_release_prompt_version.py
index 623d16c1d9..e457d54848 100644
--- a/src/vellum/types/prompt_deployment_release_prompt_version.py
+++ b/src/vellum/types/prompt_deployment_release_prompt_version.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_deployment_release_prompt_version import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .components_schemas_prompt_version_build_config_sandbox import ComponentsSchemasPromptVersionBuildConfigSandbox
+
+
+class PromptDeploymentReleasePromptVersion(UniversalBaseModel):
+ id: str
+ build_config: ComponentsSchemasPromptVersionBuildConfigSandbox = pydantic.Field()
+ """
+ Configuration used to build this prompt version.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_exec_config.py b/src/vellum/types/prompt_exec_config.py
index ffc65465c6..59a5aae553 100644
--- a/src/vellum/types/prompt_exec_config.py
+++ b/src/vellum/types/prompt_exec_config.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_exec_config import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .function_definition import FunctionDefinition
+from .prompt_parameters import PromptParameters
+from .prompt_settings import PromptSettings
+from .vellum_variable import VellumVariable
+
+
+class PromptExecConfig(UniversalBaseModel):
+ ml_model: str
+ input_variables: typing.List[VellumVariable]
+ parameters: PromptParameters
+ settings: typing.Optional[PromptSettings] = None
+ blocks: typing.List["PromptBlock"]
+ functions: typing.Optional[typing.List[FunctionDefinition]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .chat_message_prompt_block import ChatMessagePromptBlock # noqa: E402, F401, I001
+from .prompt_block import PromptBlock # noqa: E402, F401, I001
+
+update_forward_refs(PromptExecConfig)
diff --git a/src/vellum/types/prompt_execution_meta.py b/src/vellum/types/prompt_execution_meta.py
index dbdba9a3b9..554835e62d 100644
--- a/src/vellum/types/prompt_execution_meta.py
+++ b/src/vellum/types/prompt_execution_meta.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_execution_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .finish_reason_enum import FinishReasonEnum
+from .ml_model_usage import MlModelUsage
+from .price import Price
+
+
+class PromptExecutionMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
+ """
+
+ model_name: typing.Optional[str] = None
+ latency: typing.Optional[int] = None
+ deployment_release_tag: typing.Optional[str] = None
+ prompt_version_id: typing.Optional[str] = None
+ finish_reason: typing.Optional[FinishReasonEnum] = None
+ usage: typing.Optional[MlModelUsage] = None
+ cost: typing.Optional[Price] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_node_execution_meta.py b/src/vellum/types/prompt_node_execution_meta.py
index 0a61e1f194..38f6b641f8 100644
--- a/src/vellum/types/prompt_node_execution_meta.py
+++ b/src/vellum/types/prompt_node_execution_meta.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_node_execution_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ml_model_usage import MlModelUsage
+from .price import Price
+
+
+class PromptNodeExecutionMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
+ """
+
+ usage: typing.Optional[MlModelUsage] = None
+ cost: typing.Optional[Price] = None
+ model_name: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_node_result.py b/src/vellum/types/prompt_node_result.py
index 086db04c4a..4bebdc8a75 100644
--- a/src/vellum/types/prompt_node_result.py
+++ b/src/vellum/types/prompt_node_result.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_node_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .prompt_node_result_data import PromptNodeResultData
+
+
+class PromptNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from a Prompt Node.
+ """
+
+ type: typing.Literal["PROMPT"] = "PROMPT"
+ data: PromptNodeResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_node_result_data.py b/src/vellum/types/prompt_node_result_data.py
index 154613a9e8..c3a0a539b3 100644
--- a/src/vellum/types/prompt_node_result_data.py
+++ b/src/vellum/types/prompt_node_result_data.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_node_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .prompt_node_execution_meta import PromptNodeExecutionMeta
+
+
+class PromptNodeResultData(UniversalBaseModel):
+ execution_meta: typing.Optional[PromptNodeExecutionMeta] = None
+ output_id: str
+ array_output_id: typing.Optional[str] = None
+ execution_id: typing.Optional[str] = None
+ text: typing.Optional[str] = None
+ delta: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_output.py b/src/vellum/types/prompt_output.py
index ea26edabcc..1880ddf623 100644
--- a/src/vellum/types/prompt_output.py
+++ b/src/vellum/types/prompt_output.py
@@ -1,3 +1,13 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_output import *
+import typing
+
+from .error_vellum_value import ErrorVellumValue
+from .function_call_vellum_value import FunctionCallVellumValue
+from .json_vellum_value import JsonVellumValue
+from .string_vellum_value import StringVellumValue
+from .thinking_vellum_value import ThinkingVellumValue
+
+PromptOutput = typing.Union[
+ StringVellumValue, JsonVellumValue, ErrorVellumValue, FunctionCallVellumValue, ThinkingVellumValue
+]
diff --git a/src/vellum/types/prompt_parameters.py b/src/vellum/types/prompt_parameters.py
index 90d189f376..9263c36693 100644
--- a/src/vellum/types/prompt_parameters.py
+++ b/src/vellum/types/prompt_parameters.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_parameters import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PromptParameters(UniversalBaseModel):
+ stop: typing.Optional[typing.List[str]] = None
+ temperature: typing.Optional[float] = None
+ max_tokens: typing.Optional[int] = None
+ top_p: typing.Optional[float] = None
+ top_k: typing.Optional[int] = None
+ frequency_penalty: typing.Optional[float] = None
+ presence_penalty: typing.Optional[float] = None
+ logit_bias: typing.Optional[typing.Dict[str, typing.Optional[float]]] = None
+ custom_parameters: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_push_response.py b/src/vellum/types/prompt_push_response.py
index 0613ecd940..051a9ca6cd 100644
--- a/src/vellum/types/prompt_push_response.py
+++ b/src/vellum/types/prompt_push_response.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_push_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PromptPushResponse(UniversalBaseModel):
+ prompt_variant_id: str
+ prompt_sandbox_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_request_audio_input.py b/src/vellum/types/prompt_request_audio_input.py
index bb97640238..349576c8e1 100644
--- a/src/vellum/types/prompt_request_audio_input.py
+++ b/src/vellum/types/prompt_request_audio_input.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_request_audio_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio import VellumAudio
+
+
+class PromptRequestAudioInput(UniversalBaseModel):
+ key: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Prompt.
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: VellumAudio
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_request_chat_history_input.py b/src/vellum/types/prompt_request_chat_history_input.py
index 07163ca659..3d3d862c73 100644
--- a/src/vellum/types/prompt_request_chat_history_input.py
+++ b/src/vellum/types/prompt_request_chat_history_input.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_request_chat_history_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class PromptRequestChatHistoryInput(UniversalBaseModel):
+ key: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Prompt.
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.List[ChatMessage]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_request_document_input.py b/src/vellum/types/prompt_request_document_input.py
index cbcbe48836..05c9b2e83b 100644
--- a/src/vellum/types/prompt_request_document_input.py
+++ b/src/vellum/types/prompt_request_document_input.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_request_document_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document import VellumDocument
+
+
+class PromptRequestDocumentInput(UniversalBaseModel):
+ key: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Prompt.
+ """
+
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: VellumDocument
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_request_image_input.py b/src/vellum/types/prompt_request_image_input.py
index 4c9902e706..0a4039fd21 100644
--- a/src/vellum/types/prompt_request_image_input.py
+++ b/src/vellum/types/prompt_request_image_input.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_request_image_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image import VellumImage
+
+
+class PromptRequestImageInput(UniversalBaseModel):
+ key: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Prompt.
+ """
+
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: VellumImage
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_request_input.py b/src/vellum/types/prompt_request_input.py
index 0d97846ef7..fcef7649b7 100644
--- a/src/vellum/types/prompt_request_input.py
+++ b/src/vellum/types/prompt_request_input.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_request_input import *
+import typing
+
+from .prompt_request_audio_input import PromptRequestAudioInput
+from .prompt_request_chat_history_input import PromptRequestChatHistoryInput
+from .prompt_request_document_input import PromptRequestDocumentInput
+from .prompt_request_image_input import PromptRequestImageInput
+from .prompt_request_json_input import PromptRequestJsonInput
+from .prompt_request_string_input import PromptRequestStringInput
+from .prompt_request_video_input import PromptRequestVideoInput
+
+PromptRequestInput = typing.Union[
+ PromptRequestStringInput,
+ PromptRequestJsonInput,
+ PromptRequestChatHistoryInput,
+ PromptRequestAudioInput,
+ PromptRequestVideoInput,
+ PromptRequestImageInput,
+ PromptRequestDocumentInput,
+]
diff --git a/src/vellum/types/prompt_request_json_input.py b/src/vellum/types/prompt_request_json_input.py
index bb5483df5a..9d088bfe51 100644
--- a/src/vellum/types/prompt_request_json_input.py
+++ b/src/vellum/types/prompt_request_json_input.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_request_json_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PromptRequestJsonInput(UniversalBaseModel):
+ key: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Prompt.
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_request_string_input.py b/src/vellum/types/prompt_request_string_input.py
index 269ff6847d..73a30a961a 100644
--- a/src/vellum/types/prompt_request_string_input.py
+++ b/src/vellum/types/prompt_request_string_input.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_request_string_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PromptRequestStringInput(UniversalBaseModel):
+ key: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Prompt.
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_request_video_input.py b/src/vellum/types/prompt_request_video_input.py
index c384d18887..c4fdfd9a5c 100644
--- a/src/vellum/types/prompt_request_video_input.py
+++ b/src/vellum/types/prompt_request_video_input.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_request_video_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video import VellumVideo
+
+
+class PromptRequestVideoInput(UniversalBaseModel):
+ key: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Prompt.
+ """
+
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: VellumVideo
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_settings.py b/src/vellum/types/prompt_settings.py
index 25f000f1f1..a4def07f95 100644
--- a/src/vellum/types/prompt_settings.py
+++ b/src/vellum/types/prompt_settings.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_settings import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PromptSettings(UniversalBaseModel):
+ timeout: typing.Optional[float] = None
+ stream_enabled: typing.Optional[bool] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/prompt_version_build_config_sandbox.py b/src/vellum/types/prompt_version_build_config_sandbox.py
index 327e6f4b27..5f281bf53b 100644
--- a/src/vellum/types/prompt_version_build_config_sandbox.py
+++ b/src/vellum/types/prompt_version_build_config_sandbox.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.prompt_version_build_config_sandbox import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class PromptVersionBuildConfigSandbox(UniversalBaseModel):
+ source: typing.Literal["SANDBOX"] = "SANDBOX"
+ sandbox_id: str
+ sandbox_snapshot_id: str
+ prompt_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/raw_prompt_execution_overrides_request.py b/src/vellum/types/raw_prompt_execution_overrides_request.py
index e5a8b8f8b2..576010d20f 100644
--- a/src/vellum/types/raw_prompt_execution_overrides_request.py
+++ b/src/vellum/types/raw_prompt_execution_overrides_request.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.raw_prompt_execution_overrides_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class RawPromptExecutionOverridesRequest(UniversalBaseModel):
+ body: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+ headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = pydantic.Field(default=None)
+ """
+ The raw headers to send to the model host.
+ """
+
+ url: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The raw URL to send to the model host.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/reducto_chunker_config.py b/src/vellum/types/reducto_chunker_config.py
index 1dbdf203d4..03c3afe50f 100644
--- a/src/vellum/types/reducto_chunker_config.py
+++ b/src/vellum/types/reducto_chunker_config.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.reducto_chunker_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ReductoChunkerConfig(UniversalBaseModel):
+ """
+ Configuration for Reducto chunking
+ """
+
+ character_limit: typing.Optional[int] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/reducto_chunker_config_request.py b/src/vellum/types/reducto_chunker_config_request.py
index 1e7f2d05d0..fc7eb88060 100644
--- a/src/vellum/types/reducto_chunker_config_request.py
+++ b/src/vellum/types/reducto_chunker_config_request.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.reducto_chunker_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ReductoChunkerConfigRequest(UniversalBaseModel):
+ """
+ Configuration for Reducto chunking
+ """
+
+ character_limit: typing.Optional[int] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/reducto_chunking.py b/src/vellum/types/reducto_chunking.py
index 6572681de1..a6477baf48 100644
--- a/src/vellum/types/reducto_chunking.py
+++ b/src/vellum/types/reducto_chunking.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.reducto_chunking import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .reducto_chunker_config import ReductoChunkerConfig
+
+
+class ReductoChunking(UniversalBaseModel):
+ """
+ Reducto chunking
+ """
+
+ chunker_name: typing.Literal["reducto-chunker"] = "reducto-chunker"
+ chunker_config: typing.Optional[ReductoChunkerConfig] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/reducto_chunking_request.py b/src/vellum/types/reducto_chunking_request.py
index b5aa1a4fe7..94185ce9ec 100644
--- a/src/vellum/types/reducto_chunking_request.py
+++ b/src/vellum/types/reducto_chunking_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.reducto_chunking_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .reducto_chunker_config_request import ReductoChunkerConfigRequest
+
+
+class ReductoChunkingRequest(UniversalBaseModel):
+ """
+ Reducto chunking
+ """
+
+ chunker_name: typing.Literal["reducto-chunker"] = "reducto-chunker"
+ chunker_config: typing.Optional[ReductoChunkerConfigRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/rejected_ad_hoc_execute_prompt_event.py b/src/vellum/types/rejected_ad_hoc_execute_prompt_event.py
index 1e52909b67..3a94da76dd 100644
--- a/src/vellum/types/rejected_ad_hoc_execute_prompt_event.py
+++ b/src/vellum/types/rejected_ad_hoc_execute_prompt_event.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.rejected_ad_hoc_execute_prompt_event import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ad_hoc_rejected_prompt_execution_meta import AdHocRejectedPromptExecutionMeta
+from .vellum_error import VellumError
+
+
+class RejectedAdHocExecutePromptEvent(UniversalBaseModel):
+ """
+ The final data returned indicating an error occurred during the stream.
+ """
+
+ state: typing.Literal["REJECTED"] = "REJECTED"
+ error: VellumError
+ execution_id: str
+ meta: typing.Optional[AdHocRejectedPromptExecutionMeta] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/rejected_execute_prompt_event.py b/src/vellum/types/rejected_execute_prompt_event.py
index 754b3895f5..f3fc30f74f 100644
--- a/src/vellum/types/rejected_execute_prompt_event.py
+++ b/src/vellum/types/rejected_execute_prompt_event.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.rejected_execute_prompt_event import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .rejected_prompt_execution_meta import RejectedPromptExecutionMeta
+from .vellum_error import VellumError
+
+
+class RejectedExecutePromptEvent(UniversalBaseModel):
+ """
+ The final data returned indicating an error occurred during the stream.
+ """
+
+ state: typing.Literal["REJECTED"] = "REJECTED"
+ error: VellumError
+ execution_id: str
+ meta: typing.Optional[RejectedPromptExecutionMeta] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/rejected_execute_prompt_response.py b/src/vellum/types/rejected_execute_prompt_response.py
index f95da3da56..a476a402d3 100644
--- a/src/vellum/types/rejected_execute_prompt_response.py
+++ b/src/vellum/types/rejected_execute_prompt_response.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.rejected_execute_prompt_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .prompt_execution_meta import PromptExecutionMeta
+from .vellum_error import VellumError
+
+
+class RejectedExecutePromptResponse(UniversalBaseModel):
+ """
+ The unsuccessful response from the model containing an error of what went wrong.
+ """
+
+ meta: typing.Optional[PromptExecutionMeta] = None
+ raw: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ The subset of the raw response from the model that the request opted into with `expand_raw`.
+ """
+
+ execution_id: str = pydantic.Field()
+ """
+ The ID of the execution.
+ """
+
+ state: typing.Literal["REJECTED"] = "REJECTED"
+ error: VellumError
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/rejected_execute_workflow_workflow_result_event.py b/src/vellum/types/rejected_execute_workflow_workflow_result_event.py
index ae42f772df..0981d8e60f 100644
--- a/src/vellum/types/rejected_execute_workflow_workflow_result_event.py
+++ b/src/vellum/types/rejected_execute_workflow_workflow_result_event.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.rejected_execute_workflow_workflow_result_event import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_event_error import WorkflowEventError
+
+
+class RejectedExecuteWorkflowWorkflowResultEvent(UniversalBaseModel):
+ """
+ The unsuccessful response from the Workflow execution containing an error specifying what went wrong.
+ """
+
+ id: str
+ state: typing.Literal["REJECTED"] = "REJECTED"
+ ts: dt.datetime
+ error: WorkflowEventError
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/rejected_prompt_execution_meta.py b/src/vellum/types/rejected_prompt_execution_meta.py
index 768bcfffe2..c7abf74b51 100644
--- a/src/vellum/types/rejected_prompt_execution_meta.py
+++ b/src/vellum/types/rejected_prompt_execution_meta.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.rejected_prompt_execution_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .finish_reason_enum import FinishReasonEnum
+
+
+class RejectedPromptExecutionMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
+ """
+
+ latency: typing.Optional[int] = None
+ finish_reason: typing.Optional[FinishReasonEnum] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/rejected_workflow_node_result_event.py b/src/vellum/types/rejected_workflow_node_result_event.py
index 9a5eae97f0..612d15a830 100644
--- a/src/vellum/types/rejected_workflow_node_result_event.py
+++ b/src/vellum/types/rejected_workflow_node_result_event.py
@@ -1,3 +1,40 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.rejected_workflow_node_result_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .workflow_event_error import WorkflowEventError
+from .workflow_node_result_data import WorkflowNodeResultData
+
+
+class RejectedWorkflowNodeResultEvent(UniversalBaseModel):
+ """
+ An event that indicates that the node has rejected its execution.
+ """
+
+ id: str
+ node_id: str
+ node_result_id: str
+ state: typing.Literal["REJECTED"] = "REJECTED"
+ ts: typing.Optional[dt.datetime] = None
+ data: typing.Optional[WorkflowNodeResultData] = None
+ source_execution_id: typing.Optional[str] = None
+ error: WorkflowEventError
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(RejectedWorkflowNodeResultEvent)
diff --git a/src/vellum/types/release_created_by.py b/src/vellum/types/release_created_by.py
index ec42fb31e3..01e070e91d 100644
--- a/src/vellum/types/release_created_by.py
+++ b/src/vellum/types/release_created_by.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.release_created_by import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ReleaseCreatedBy(UniversalBaseModel):
+ id: str
+ full_name: typing.Optional[str] = None
+ email: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/release_environment.py b/src/vellum/types/release_environment.py
index d976d1ee03..0b992162bf 100644
--- a/src/vellum/types/release_environment.py
+++ b/src/vellum/types/release_environment.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.release_environment import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ReleaseEnvironment(UniversalBaseModel):
+ id: str
+ name: str
+ label: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/release_release_tag.py b/src/vellum/types/release_release_tag.py
index 2360c7be7e..e4bfc9f99b 100644
--- a/src/vellum/types/release_release_tag.py
+++ b/src/vellum/types/release_release_tag.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.release_release_tag import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .release_tag_source import ReleaseTagSource
+
+
+class ReleaseReleaseTag(UniversalBaseModel):
+ name: str = pydantic.Field()
+ """
+ The name of the Release Tag
+ """
+
+ source: ReleaseTagSource = pydantic.Field()
+ """
+ The source of how the Release Tag was originally created
+
+ * `SYSTEM` - System
+ * `USER` - User
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/release_review_reviewer.py b/src/vellum/types/release_review_reviewer.py
index d642e3c764..bf34d69965 100644
--- a/src/vellum/types/release_review_reviewer.py
+++ b/src/vellum/types/release_review_reviewer.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.release_review_reviewer import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ReleaseReviewReviewer(UniversalBaseModel):
+ id: str
+ full_name: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/release_review_state.py b/src/vellum/types/release_review_state.py
index 038840cbf7..4963e91705 100644
--- a/src/vellum/types/release_review_state.py
+++ b/src/vellum/types/release_review_state.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.release_review_state import *
+import typing
+
+ReleaseReviewState = typing.Union[typing.Literal["APPROVED", "CHANGES_REQUESTED", "COMMENTED"], typing.Any]
diff --git a/src/vellum/types/release_tag_release.py b/src/vellum/types/release_tag_release.py
index 16bb32a88e..8e45ef845d 100644
--- a/src/vellum/types/release_tag_release.py
+++ b/src/vellum/types/release_tag_release.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.release_tag_release import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ReleaseTagRelease(UniversalBaseModel):
+ id: str
+ timestamp: dt.datetime
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/release_tag_source.py b/src/vellum/types/release_tag_source.py
index 3f4fce5036..181fd464f9 100644
--- a/src/vellum/types/release_tag_source.py
+++ b/src/vellum/types/release_tag_source.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.release_tag_source import *
+import typing
+
+ReleaseTagSource = typing.Union[typing.Literal["SYSTEM", "USER"], typing.Any]
diff --git a/src/vellum/types/replace_test_suite_test_case_request.py b/src/vellum/types/replace_test_suite_test_case_request.py
index b1dfc84efd..c0edea048d 100644
--- a/src/vellum/types/replace_test_suite_test_case_request.py
+++ b/src/vellum/types/replace_test_suite_test_case_request.py
@@ -1,3 +1,54 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.replace_test_suite_test_case_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
+
+
+class ReplaceTestSuiteTestCaseRequest(UniversalBaseModel):
+ """
+ Information about the Test Case to replace
+ """
+
+ id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The Vellum-generated ID of the Test Case whose data you'd like to replace. Must specify either this or external_id.
+ """
+
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The ID that was originally provided upon Test Case creation that uniquely identifies the Test Case whose data you'd like to replace. Must specify either this of id.
+ """
+
+ label: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A human-readable label used to convey the intention of this Test Case
+ """
+
+ input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
+ """
+ Values for each of the Test Case's input variables
+ """
+
+ evaluation_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
+ """
+ Values for each of the Test Case's evaluation variables
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(ReplaceTestSuiteTestCaseRequest)
diff --git a/src/vellum/types/rich_text_child_block.py b/src/vellum/types/rich_text_child_block.py
index eabd4a86a7..44bfcda643 100644
--- a/src/vellum/types/rich_text_child_block.py
+++ b/src/vellum/types/rich_text_child_block.py
@@ -1,3 +1,8 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.rich_text_child_block import *
+import typing
+
+from .plain_text_prompt_block import PlainTextPromptBlock
+from .variable_prompt_block import VariablePromptBlock
+
+RichTextChildBlock = typing.Union[VariablePromptBlock, PlainTextPromptBlock]
diff --git a/src/vellum/types/rich_text_prompt_block.py b/src/vellum/types/rich_text_prompt_block.py
index fbcdbd8e85..c2cfe75bd0 100644
--- a/src/vellum/types/rich_text_prompt_block.py
+++ b/src/vellum/types/rich_text_prompt_block.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.rich_text_prompt_block import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+from .rich_text_child_block import RichTextChildBlock
+
+
+class RichTextPromptBlock(UniversalBaseModel):
+ """
+ A block that includes a combination of plain text and variable blocks.
+ """
+
+ block_type: typing.Literal["RICH_TEXT"] = "RICH_TEXT"
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ blocks: typing.List[RichTextChildBlock]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/sandbox_scenario.py b/src/vellum/types/sandbox_scenario.py
index 5592810b35..8eea065908 100644
--- a/src/vellum/types/sandbox_scenario.py
+++ b/src/vellum/types/sandbox_scenario.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.sandbox_scenario import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .scenario_input import ScenarioInput
+
+
+class SandboxScenario(UniversalBaseModel):
+ """
+ Sandbox Scenario
+ """
+
+ label: typing.Optional[str] = None
+ inputs: typing.List[ScenarioInput] = pydantic.Field()
+ """
+ The inputs for the scenario
+ """
+
+ id: str = pydantic.Field()
+ """
+ The id of the scenario
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/scenario_input.py b/src/vellum/types/scenario_input.py
index 11f50f46be..71007665eb 100644
--- a/src/vellum/types/scenario_input.py
+++ b/src/vellum/types/scenario_input.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.scenario_input import *
+import typing
+
+from .scenario_input_audio_variable_value import ScenarioInputAudioVariableValue
+from .scenario_input_chat_history_variable_value import ScenarioInputChatHistoryVariableValue
+from .scenario_input_document_variable_value import ScenarioInputDocumentVariableValue
+from .scenario_input_image_variable_value import ScenarioInputImageVariableValue
+from .scenario_input_json_variable_value import ScenarioInputJsonVariableValue
+from .scenario_input_string_variable_value import ScenarioInputStringVariableValue
+from .scenario_input_video_variable_value import ScenarioInputVideoVariableValue
+
+ScenarioInput = typing.Union[
+ ScenarioInputStringVariableValue,
+ ScenarioInputJsonVariableValue,
+ ScenarioInputChatHistoryVariableValue,
+ ScenarioInputAudioVariableValue,
+ ScenarioInputVideoVariableValue,
+ ScenarioInputImageVariableValue,
+ ScenarioInputDocumentVariableValue,
+]
diff --git a/src/vellum/types/scenario_input_audio_variable_value.py b/src/vellum/types/scenario_input_audio_variable_value.py
index 390258299c..89068f627b 100644
--- a/src/vellum/types/scenario_input_audio_variable_value.py
+++ b/src/vellum/types/scenario_input_audio_variable_value.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.scenario_input_audio_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio import VellumAudio
+
+
+class ScenarioInputAudioVariableValue(UniversalBaseModel):
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: typing.Optional[VellumAudio] = None
+ input_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/scenario_input_chat_history_variable_value.py b/src/vellum/types/scenario_input_chat_history_variable_value.py
index 011df43d0f..7e37eed595 100644
--- a/src/vellum/types/scenario_input_chat_history_variable_value.py
+++ b/src/vellum/types/scenario_input_chat_history_variable_value.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.scenario_input_chat_history_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class ScenarioInputChatHistoryVariableValue(UniversalBaseModel):
+ """
+ Prompt Sandbox Scenario input value that is of type CHAT_HISTORY
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+ input_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/scenario_input_document_variable_value.py b/src/vellum/types/scenario_input_document_variable_value.py
index d97fabcf82..37bf2bc2df 100644
--- a/src/vellum/types/scenario_input_document_variable_value.py
+++ b/src/vellum/types/scenario_input_document_variable_value.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.scenario_input_document_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document import VellumDocument
+
+
+class ScenarioInputDocumentVariableValue(UniversalBaseModel):
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: typing.Optional[VellumDocument] = None
+ input_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/scenario_input_image_variable_value.py b/src/vellum/types/scenario_input_image_variable_value.py
index 8406c1a4d6..2c692ea5eb 100644
--- a/src/vellum/types/scenario_input_image_variable_value.py
+++ b/src/vellum/types/scenario_input_image_variable_value.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.scenario_input_image_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image import VellumImage
+
+
+class ScenarioInputImageVariableValue(UniversalBaseModel):
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: typing.Optional[VellumImage] = None
+ input_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/scenario_input_json_variable_value.py b/src/vellum/types/scenario_input_json_variable_value.py
index dc35be11ec..dbcc68adf0 100644
--- a/src/vellum/types/scenario_input_json_variable_value.py
+++ b/src/vellum/types/scenario_input_json_variable_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.scenario_input_json_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ScenarioInputJsonVariableValue(UniversalBaseModel):
+ """
+ Prompt Sandbox Scenario input value that is of type JSON
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+ input_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/scenario_input_string_variable_value.py b/src/vellum/types/scenario_input_string_variable_value.py
index a0540f5101..0c1718ea4b 100644
--- a/src/vellum/types/scenario_input_string_variable_value.py
+++ b/src/vellum/types/scenario_input_string_variable_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.scenario_input_string_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class ScenarioInputStringVariableValue(UniversalBaseModel):
+ """
+ Prompt Sandbox Scenario input value that is of type STRING
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+ input_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/scenario_input_video_variable_value.py b/src/vellum/types/scenario_input_video_variable_value.py
index 23e4a3afca..d5344290b1 100644
--- a/src/vellum/types/scenario_input_video_variable_value.py
+++ b/src/vellum/types/scenario_input_video_variable_value.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.scenario_input_video_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video import VellumVideo
+
+
+class ScenarioInputVideoVariableValue(UniversalBaseModel):
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: typing.Optional[VellumVideo] = None
+ input_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/scheduled_trigger_context.py b/src/vellum/types/scheduled_trigger_context.py
index e0e7781c73..ff1af6ba11 100644
--- a/src/vellum/types/scheduled_trigger_context.py
+++ b/src/vellum/types/scheduled_trigger_context.py
@@ -1,3 +1,39 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.scheduled_trigger_context import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class ScheduledTriggerContext(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ type: typing.Literal["SCHEDULED"] = "SCHEDULED"
+ trigger_id: typing.Optional[str] = None
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(ScheduledTriggerContext)
diff --git a/src/vellum/types/search_filters_request.py b/src/vellum/types/search_filters_request.py
index 8dce69a99e..246ffadbd9 100644
--- a/src/vellum/types/search_filters_request.py
+++ b/src/vellum/types/search_filters_request.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_filters_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .metadata_filters_request import MetadataFiltersRequest
+
+
+class SearchFiltersRequest(UniversalBaseModel):
+ external_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ The document external IDs to filter by
+ """
+
+ metadata: typing.Optional[MetadataFiltersRequest] = pydantic.Field(default=None)
+ """
+ The metadata filters to apply to the search
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+from .metadata_filter_rule_request import MetadataFilterRuleRequest # noqa: E402, F401, I001
+from .vellum_value_logical_condition_group_request import VellumValueLogicalConditionGroupRequest # noqa: E402, F401, I001
+
+update_forward_refs(SearchFiltersRequest)
diff --git a/src/vellum/types/search_node_result.py b/src/vellum/types/search_node_result.py
index 37a3428956..c7cc2ee733 100644
--- a/src/vellum/types/search_node_result.py
+++ b/src/vellum/types/search_node_result.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_node_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_node_result_data import SearchNodeResultData
+
+
+class SearchNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from a Search Node.
+ """
+
+ type: typing.Literal["SEARCH"] = "SEARCH"
+ data: SearchNodeResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_node_result_data.py b/src/vellum/types/search_node_result_data.py
index b858b248c8..f491de3865 100644
--- a/src/vellum/types/search_node_result_data.py
+++ b/src/vellum/types/search_node_result_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_node_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class SearchNodeResultData(UniversalBaseModel):
+ results_output_id: str
+ results: typing.List[SearchResult] = pydantic.Field()
+ """
+ The results of the search. Each result represents a chunk that matches the search query.
+ """
+
+ text_output_id: str
+ text: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_request_options_request.py b/src/vellum/types/search_request_options_request.py
index 17693f88d0..c107422e97 100644
--- a/src/vellum/types/search_request_options_request.py
+++ b/src/vellum/types/search_request_options_request.py
@@ -1,3 +1,49 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_request_options_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .search_filters_request import SearchFiltersRequest
+from .search_result_merging_request import SearchResultMergingRequest
+from .search_weights_request import SearchWeightsRequest
+
+
+class SearchRequestOptionsRequest(UniversalBaseModel):
+ limit: typing.Optional[int] = pydantic.Field(default=None)
+ """
+ The maximum number of results to return.
+ """
+
+ weights: typing.Optional[SearchWeightsRequest] = pydantic.Field(default=None)
+ """
+ The weights to use for the search. Must add up to 1.0.
+ """
+
+ result_merging: typing.Optional[SearchResultMergingRequest] = pydantic.Field(default=None)
+ """
+ The configuration for merging results.
+ """
+
+ filters: typing.Optional[SearchFiltersRequest] = pydantic.Field(default=None)
+ """
+ The filters to apply to the search.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+from .metadata_filter_rule_request import MetadataFilterRuleRequest # noqa: E402, F401, I001
+from .vellum_value_logical_condition_group_request import VellumValueLogicalConditionGroupRequest # noqa: E402, F401, I001
+
+update_forward_refs(SearchRequestOptionsRequest)
diff --git a/src/vellum/types/search_response.py b/src/vellum/types/search_response.py
index f7515050c9..2f21ad8c05 100644
--- a/src/vellum/types/search_response.py
+++ b/src/vellum/types/search_response.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class SearchResponse(UniversalBaseModel):
+ results: typing.List[SearchResult] = pydantic.Field()
+ """
+ The results of the search. Each result represents a chunk that matches the search query.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_result.py b/src/vellum/types/search_result.py
index 8244691369..c7710c483a 100644
--- a/src/vellum/types/search_result.py
+++ b/src/vellum/types/search_result.py
@@ -1,3 +1,40 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result_document import SearchResultDocument
+from .search_result_meta import SearchResultMeta
+
+
+class SearchResult(UniversalBaseModel):
+ text: str = pydantic.Field()
+ """
+ The text of the chunk that matched the search query.
+ """
+
+ score: float = pydantic.Field()
+ """
+ A score representing how well the chunk matches the search query.
+ """
+
+ keywords: typing.List[str]
+ document: SearchResultDocument = pydantic.Field()
+ """
+ The document that contains the chunk that matched the search query.
+ """
+
+ meta: typing.Optional[SearchResultMeta] = pydantic.Field(default=None)
+ """
+ Additional information about the search result.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_result_document.py b/src/vellum/types/search_result_document.py
index 3e6340d6e1..eea629f530 100644
--- a/src/vellum/types/search_result_document.py
+++ b/src/vellum/types/search_result_document.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_result_document import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class SearchResultDocument(UniversalBaseModel):
+ id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The ID of the document.
+ """
+
+ label: str = pydantic.Field()
+ """
+ The human-readable name for the document.
+ """
+
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The unique ID of the document as represented in an external system and specified when it was originally uploaded.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ A previously supplied JSON object containing metadata that can be filtered on when searching.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_result_document_request.py b/src/vellum/types/search_result_document_request.py
index 4c67cdc77d..f90bab0072 100644
--- a/src/vellum/types/search_result_document_request.py
+++ b/src/vellum/types/search_result_document_request.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_result_document_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class SearchResultDocumentRequest(UniversalBaseModel):
+ id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The ID of the document.
+ """
+
+ label: str = pydantic.Field()
+ """
+ The human-readable name for the document.
+ """
+
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The unique ID of the document as represented in an external system and specified when it was originally uploaded.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ A previously supplied JSON object containing metadata that can be filtered on when searching.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_result_merging_request.py b/src/vellum/types/search_result_merging_request.py
index e9d94b0465..8344602600 100644
--- a/src/vellum/types/search_result_merging_request.py
+++ b/src/vellum/types/search_result_merging_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_result_merging_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class SearchResultMergingRequest(UniversalBaseModel):
+ enabled: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Whether to enable merging results
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_result_meta.py b/src/vellum/types/search_result_meta.py
index 65e35d257f..e250ebaee4 100644
--- a/src/vellum/types/search_result_meta.py
+++ b/src/vellum/types/search_result_meta.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_result_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .components_schemas_pdf_search_result_meta_source import ComponentsSchemasPdfSearchResultMetaSource
+
+
+class SearchResultMeta(UniversalBaseModel):
+ source: typing.Optional[ComponentsSchemasPdfSearchResultMetaSource] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_result_meta_request.py b/src/vellum/types/search_result_meta_request.py
index 27ef0ed15a..ceb25b2ba5 100644
--- a/src/vellum/types/search_result_meta_request.py
+++ b/src/vellum/types/search_result_meta_request.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_result_meta_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .components_schemas_pdf_search_result_meta_source_request import ComponentsSchemasPdfSearchResultMetaSourceRequest
+
+
+class SearchResultMetaRequest(UniversalBaseModel):
+ source: typing.Optional[ComponentsSchemasPdfSearchResultMetaSourceRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_result_request.py b/src/vellum/types/search_result_request.py
index c93c4614d7..4c5f188e73 100644
--- a/src/vellum/types/search_result_request.py
+++ b/src/vellum/types/search_result_request.py
@@ -1,3 +1,40 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_result_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result_document_request import SearchResultDocumentRequest
+from .search_result_meta_request import SearchResultMetaRequest
+
+
+class SearchResultRequest(UniversalBaseModel):
+ text: str = pydantic.Field()
+ """
+ The text of the chunk that matched the search query.
+ """
+
+ score: float = pydantic.Field()
+ """
+ A score representing how well the chunk matches the search query.
+ """
+
+ keywords: typing.List[str]
+ document: SearchResultDocumentRequest = pydantic.Field()
+ """
+ The document that contains the chunk that matched the search query.
+ """
+
+ meta: typing.Optional[SearchResultMetaRequest] = pydantic.Field(default=None)
+ """
+ Additional information about the search result.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_results_input.py b/src/vellum/types/search_results_input.py
index 5b700882c0..414026c685 100644
--- a/src/vellum/types/search_results_input.py
+++ b/src/vellum/types/search_results_input.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_results_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class SearchResultsInput(UniversalBaseModel):
+ """
+ A user input representing a search results value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.List[SearchResult]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_results_vellum_value.py b/src/vellum/types/search_results_vellum_value.py
index 64efd003b7..45baba6de4 100644
--- a/src/vellum/types/search_results_vellum_value.py
+++ b/src/vellum/types/search_results_vellum_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_results_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class SearchResultsVellumValue(UniversalBaseModel):
+ """
+ A value representing Search Results.
+ """
+
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_results_vellum_value_request.py b/src/vellum/types/search_results_vellum_value_request.py
index 76e728b956..6533d5adbe 100644
--- a/src/vellum/types/search_results_vellum_value_request.py
+++ b/src/vellum/types/search_results_vellum_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_results_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result_request import SearchResultRequest
+
+
+class SearchResultsVellumValueRequest(UniversalBaseModel):
+ """
+ A value representing Search Results.
+ """
+
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResultRequest]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/search_weights_request.py b/src/vellum/types/search_weights_request.py
index 1dfdf72899..d78eae51f1 100644
--- a/src/vellum/types/search_weights_request.py
+++ b/src/vellum/types/search_weights_request.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.search_weights_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class SearchWeightsRequest(UniversalBaseModel):
+ semantic_similarity: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ The relative weight to give to semantic similarity
+ """
+
+ keywords: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ The relative weight to give to keywords
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/secret_type_enum.py b/src/vellum/types/secret_type_enum.py
index c529ddae4f..622757a7bf 100644
--- a/src/vellum/types/secret_type_enum.py
+++ b/src/vellum/types/secret_type_enum.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.secret_type_enum import *
+import typing
+
+SecretTypeEnum = typing.Union[
+ typing.Literal["USER_DEFINED", "HMAC", "INTERNAL_API_KEY", "EXTERNALLY_PROVISIONED"], typing.Any
+]
diff --git a/src/vellum/types/sentence_chunker_config.py b/src/vellum/types/sentence_chunker_config.py
index e71002c862..0d02c0afcf 100644
--- a/src/vellum/types/sentence_chunker_config.py
+++ b/src/vellum/types/sentence_chunker_config.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.sentence_chunker_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class SentenceChunkerConfig(UniversalBaseModel):
+ """
+ Configuration for sentence chunking
+ """
+
+ character_limit: typing.Optional[int] = None
+ min_overlap_ratio: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/sentence_chunker_config_request.py b/src/vellum/types/sentence_chunker_config_request.py
index 1189fc5280..989888e065 100644
--- a/src/vellum/types/sentence_chunker_config_request.py
+++ b/src/vellum/types/sentence_chunker_config_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.sentence_chunker_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class SentenceChunkerConfigRequest(UniversalBaseModel):
+ """
+ Configuration for sentence chunking
+ """
+
+ character_limit: typing.Optional[int] = None
+ min_overlap_ratio: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/sentence_chunking.py b/src/vellum/types/sentence_chunking.py
index ed601cd504..7f0753f319 100644
--- a/src/vellum/types/sentence_chunking.py
+++ b/src/vellum/types/sentence_chunking.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.sentence_chunking import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .sentence_chunker_config import SentenceChunkerConfig
+
+
+class SentenceChunking(UniversalBaseModel):
+ """
+ Sentence chunking
+ """
+
+ chunker_name: typing.Literal["sentence-chunker"] = "sentence-chunker"
+ chunker_config: typing.Optional[SentenceChunkerConfig] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/sentence_chunking_request.py b/src/vellum/types/sentence_chunking_request.py
index 8908177229..c3057cbaae 100644
--- a/src/vellum/types/sentence_chunking_request.py
+++ b/src/vellum/types/sentence_chunking_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.sentence_chunking_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .sentence_chunker_config_request import SentenceChunkerConfigRequest
+
+
+class SentenceChunkingRequest(UniversalBaseModel):
+ """
+ Sentence chunking
+ """
+
+ chunker_name: typing.Literal["sentence-chunker"] = "sentence-chunker"
+ chunker_config: typing.Optional[SentenceChunkerConfigRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/slim_composio_tool_definition.py b/src/vellum/types/slim_composio_tool_definition.py
index 5bd3f2f59c..10e78bf241 100644
--- a/src/vellum/types/slim_composio_tool_definition.py
+++ b/src/vellum/types/slim_composio_tool_definition.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.slim_composio_tool_definition import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .integration import Integration
+
+
+class SlimComposioToolDefinition(UniversalBaseModel):
+ provider: typing.Literal["COMPOSIO"] = "COMPOSIO"
+ integration: Integration
+ name: str
+ label: str
+ description: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/slim_deployment_read.py b/src/vellum/types/slim_deployment_read.py
index 159a823dc1..617d297654 100644
--- a/src/vellum/types/slim_deployment_read.py
+++ b/src/vellum/types/slim_deployment_read.py
@@ -1,3 +1,64 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.slim_deployment_read import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .entity_status import EntityStatus
+from .environment_enum import EnvironmentEnum
+from .vellum_variable import VellumVariable
+
+
+class SlimDeploymentRead(UniversalBaseModel):
+ """
+ A subset of a Prompt Deployment's full details.
+ """
+
+ id: str
+ created: dt.datetime
+ label: str = pydantic.Field()
+ """
+ A human-readable label for the deployment
+ """
+
+ name: str = pydantic.Field()
+ """
+ A name that uniquely identifies this deployment within its workspace
+ """
+
+ status: typing.Optional[EntityStatus] = pydantic.Field(default=None)
+ """
+ The current status of the deployment
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+ """
+
+ environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
+ """
+ Deprecated. The value returned will always be 'PRODUCTION'.
+ """
+
+ last_deployed_on: dt.datetime
+ input_variables: typing.List[VellumVariable]
+ description: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A human-readable description of the deployment
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(SlimDeploymentRead)
diff --git a/src/vellum/types/slim_document.py b/src/vellum/types/slim_document.py
index 9b31a167fa..b512538cb5 100644
--- a/src/vellum/types/slim_document.py
+++ b/src/vellum/types/slim_document.py
@@ -1,3 +1,71 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.slim_document import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .document_processing_state import DocumentProcessingState
+from .document_status import DocumentStatus
+from .processing_failure_reason_enum import ProcessingFailureReasonEnum
+from .slim_document_document_to_document_index import SlimDocumentDocumentToDocumentIndex
+
+
+class SlimDocument(UniversalBaseModel):
+ id: str = pydantic.Field()
+ """
+ Vellum-generated ID that uniquely identifies this document.
+ """
+
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The external ID that was originally provided when uploading the document.
+ """
+
+ last_uploaded_at: dt.datetime = pydantic.Field()
+ """
+ A timestamp representing when this document was most recently uploaded.
+ """
+
+ label: str = pydantic.Field()
+ """
+ Human-friendly name for this document.
+ """
+
+ processing_state: DocumentProcessingState
+ processing_failure_reason: typing.Optional[ProcessingFailureReasonEnum] = pydantic.Field(default=None)
+ """
+ An enum value representing why the document could not be processed. Is null unless processing_state is FAILED.
+
+ * `EXCEEDED_CHARACTER_LIMIT` - Exceeded Character Limit
+ * `INVALID_FILE` - Invalid File
+ * `INVALID_CREDENTIALS` - Invalid Credentials
+ """
+
+ status: typing.Optional[DocumentStatus] = pydantic.Field(default=None)
+ """
+ The document's current status.
+
+ * `ACTIVE` - Active
+ """
+
+ keywords: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ A list of keywords associated with this document. Originally provided when uploading the document.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ A previously supplied JSON object containing metadata that can be filtered on when searching.
+ """
+
+ document_to_document_indexes: typing.List[SlimDocumentDocumentToDocumentIndex]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/slim_document_document_to_document_index.py b/src/vellum/types/slim_document_document_to_document_index.py
index e165923679..e26b5895d9 100644
--- a/src/vellum/types/slim_document_document_to_document_index.py
+++ b/src/vellum/types/slim_document_document_to_document_index.py
@@ -1,3 +1,48 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.slim_document_document_to_document_index import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .indexing_state_enum import IndexingStateEnum
+
+
+class SlimDocumentDocumentToDocumentIndex(UniversalBaseModel):
+ """
+ A slim representation of the link between a Document and a Document Index it's a member of.
+ """
+
+ id: str = pydantic.Field()
+ """
+ Vellum-generated ID that uniquely identifies this link.
+ """
+
+ environment_document_index_id: str = pydantic.Field()
+ """
+ Vellum-generated ID that uniquely identifies the environment index this document is included in.
+ """
+
+ document_index_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Vellum-generated ID that uniquely identifies the index this document is included in.
+ """
+
+ indexing_state: typing.Optional[IndexingStateEnum] = pydantic.Field(default=None)
+ """
+ An enum value representing where this document is along its indexing lifecycle for this index.
+
+ * `AWAITING_PROCESSING` - Awaiting Processing
+ * `QUEUED` - Queued
+ * `INDEXING` - Indexing
+ * `INDEXED` - Indexed
+ * `FAILED` - Failed
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/slim_integration_auth_config_read.py b/src/vellum/types/slim_integration_auth_config_read.py
index 3729234e4e..5df25d3772 100644
--- a/src/vellum/types/slim_integration_auth_config_read.py
+++ b/src/vellum/types/slim_integration_auth_config_read.py
@@ -1,3 +1,36 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.slim_integration_auth_config_read import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .auth_type_enum import AuthTypeEnum
+from .integration_auth_config_integration import IntegrationAuthConfigIntegration
+from .integration_auth_config_integration_credential import IntegrationAuthConfigIntegrationCredential
+from .integration_credential_access_type import IntegrationCredentialAccessType
+
+
+class SlimIntegrationAuthConfigRead(UniversalBaseModel):
+ """
+ A slim representation of an Integration Auth Config.
+ """
+
+ id: str
+ integration: IntegrationAuthConfigIntegration
+ auth_type: typing.Optional[AuthTypeEnum] = None
+ integration_credentials: typing.Optional[typing.List[IntegrationAuthConfigIntegrationCredential]] = None
+ system_credential_eligible: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Whether or not this auth config is eligible to use Vellum-managed system credentials to authenticate.
+ """
+
+ default_access_type: typing.Optional[IntegrationCredentialAccessType] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/slim_integration_read.py b/src/vellum/types/slim_integration_read.py
index c62e4a54c0..fb9d0e070a 100644
--- a/src/vellum/types/slim_integration_read.py
+++ b/src/vellum/types/slim_integration_read.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.slim_integration_read import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .integration_name import IntegrationName
+from .integration_provider import IntegrationProvider
+
+
+class SlimIntegrationRead(UniversalBaseModel):
+ id: str
+ label: typing.Optional[str] = None
+ icon_url: str
+ name: IntegrationName
+ provider: IntegrationProvider = "COMPOSIO"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/slim_release_review.py b/src/vellum/types/slim_release_review.py
index fe06d4ce20..f79934ad67 100644
--- a/src/vellum/types/slim_release_review.py
+++ b/src/vellum/types/slim_release_review.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.slim_release_review import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .release_review_reviewer import ReleaseReviewReviewer
+from .release_review_state import ReleaseReviewState
+
+
+class SlimReleaseReview(UniversalBaseModel):
+ id: str
+ created: dt.datetime
+ reviewer: ReleaseReviewReviewer
+ state: ReleaseReviewState
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/slim_workflow_deployment.py b/src/vellum/types/slim_workflow_deployment.py
index 61c587204d..ca1f4727a4 100644
--- a/src/vellum/types/slim_workflow_deployment.py
+++ b/src/vellum/types/slim_workflow_deployment.py
@@ -1,3 +1,73 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.slim_workflow_deployment import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .entity_status import EntityStatus
+from .environment_enum import EnvironmentEnum
+from .vellum_variable import VellumVariable
+
+
+class SlimWorkflowDeployment(UniversalBaseModel):
+ """
+ A subset of a Workflow Deployment's full details.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ A name that uniquely identifies this workflow deployment within its workspace
+ """
+
+ label: str = pydantic.Field()
+ """
+ A human-readable label for the workflow deployment
+ """
+
+ status: typing.Optional[EntityStatus] = pydantic.Field(default=None)
+ """
+ The current status of the workflow deployment
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+ """
+
+ environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
+ """
+ Deprecated. The value returned will always be 'PRODUCTION'.
+ """
+
+ created: dt.datetime
+ last_deployed_on: dt.datetime
+ input_variables: typing.List[VellumVariable] = pydantic.Field()
+ """
+ The input variables this Workflow Deployment expects to receive values for when it is executed.
+ """
+
+ output_variables: typing.List[VellumVariable] = pydantic.Field()
+ """
+ The output variables this Workflow Deployment will produce when it is executed.
+ """
+
+ description: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A human-readable description of the workflow deployment
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(SlimWorkflowDeployment)
diff --git a/src/vellum/types/slim_workflow_execution_read.py b/src/vellum/types/slim_workflow_execution_read.py
index a5c53a1ced..9c3083d657 100644
--- a/src/vellum/types/slim_workflow_execution_read.py
+++ b/src/vellum/types/slim_workflow_execution_read.py
@@ -1,3 +1,51 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.slim_workflow_execution_read import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .execution_vellum_value import ExecutionVellumValue
+from .workflow_error import WorkflowError
+from .workflow_execution_actual import WorkflowExecutionActual
+from .workflow_execution_usage_result import WorkflowExecutionUsageResult
+from .workflow_execution_view_online_eval_metric_result import WorkflowExecutionViewOnlineEvalMetricResult
+
+
+class SlimWorkflowExecutionRead(UniversalBaseModel):
+ span_id: str
+ start: dt.datetime
+ end: typing.Optional[dt.datetime] = None
+ inputs: typing.List[ExecutionVellumValue]
+ outputs: typing.List[ExecutionVellumValue]
+ error: typing.Optional[WorkflowError] = None
+ usage_results: typing.Optional[typing.List[WorkflowExecutionUsageResult]] = None
+ parent_context: typing.Optional["WorkflowDeploymentParentContext"] = None
+ latest_actual: typing.Optional[WorkflowExecutionActual] = None
+ metric_results: typing.List[WorkflowExecutionViewOnlineEvalMetricResult]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+
+update_forward_refs(SlimWorkflowExecutionRead)
diff --git a/src/vellum/types/span_link.py b/src/vellum/types/span_link.py
index 67f9059cb2..ecffabc687 100644
--- a/src/vellum/types/span_link.py
+++ b/src/vellum/types/span_link.py
@@ -1,3 +1,38 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.span_link import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .span_link_type_enum import SpanLinkTypeEnum
+
+
+class SpanLink(UniversalBaseModel):
+ trace_id: str
+ type: SpanLinkTypeEnum
+ span_context: "ParentContext"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(SpanLink)
diff --git a/src/vellum/types/span_link_type_enum.py b/src/vellum/types/span_link_type_enum.py
index 1d7209c0b7..639bc889ef 100644
--- a/src/vellum/types/span_link_type_enum.py
+++ b/src/vellum/types/span_link_type_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.span_link_type_enum import *
+import typing
+
+SpanLinkTypeEnum = typing.Union[typing.Literal["TRIGGERED_BY", "PREVIOUS_SPAN", "ROOT_SPAN"], typing.Any]
diff --git a/src/vellum/types/streaming_ad_hoc_execute_prompt_event.py b/src/vellum/types/streaming_ad_hoc_execute_prompt_event.py
index b89bd44504..11c5c3be6f 100644
--- a/src/vellum/types/streaming_ad_hoc_execute_prompt_event.py
+++ b/src/vellum/types/streaming_ad_hoc_execute_prompt_event.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.streaming_ad_hoc_execute_prompt_event import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ad_hoc_streaming_prompt_execution_meta import AdHocStreamingPromptExecutionMeta
+from .prompt_output import PromptOutput
+
+
+class StreamingAdHocExecutePromptEvent(UniversalBaseModel):
+ """
+ The data returned for each delta during the prompt execution stream.
+ """
+
+ state: typing.Literal["STREAMING"] = "STREAMING"
+ output: PromptOutput
+ output_index: int
+ execution_id: str
+ meta: typing.Optional[AdHocStreamingPromptExecutionMeta] = None
+ raw: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ The subset of the raw response from the model that the request opted into with `expand_raw`.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/streaming_execute_prompt_event.py b/src/vellum/types/streaming_execute_prompt_event.py
index 3eb9c98cc1..ae47fe060f 100644
--- a/src/vellum/types/streaming_execute_prompt_event.py
+++ b/src/vellum/types/streaming_execute_prompt_event.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.streaming_execute_prompt_event import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .prompt_output import PromptOutput
+from .streaming_prompt_execution_meta import StreamingPromptExecutionMeta
+
+
+class StreamingExecutePromptEvent(UniversalBaseModel):
+ """
+ The data returned for each delta during the prompt execution stream.
+ """
+
+ state: typing.Literal["STREAMING"] = "STREAMING"
+ output: PromptOutput
+ output_index: int
+ execution_id: str
+ meta: typing.Optional[StreamingPromptExecutionMeta] = None
+ raw: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ The subset of the raw response from the model that the request opted into with `expand_raw`.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/streaming_prompt_execution_meta.py b/src/vellum/types/streaming_prompt_execution_meta.py
index 9ad433549b..580f795fd0 100644
--- a/src/vellum/types/streaming_prompt_execution_meta.py
+++ b/src/vellum/types/streaming_prompt_execution_meta.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.streaming_prompt_execution_meta import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class StreamingPromptExecutionMeta(UniversalBaseModel):
+ """
+ The subset of the metadata tracked by Vellum during prompt execution that the request opted into with `expand_meta`.
+ """
+
+ latency: typing.Optional[int] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/streaming_workflow_node_result_event.py b/src/vellum/types/streaming_workflow_node_result_event.py
index e3c3ab6098..9603071f8c 100644
--- a/src/vellum/types/streaming_workflow_node_result_event.py
+++ b/src/vellum/types/streaming_workflow_node_result_event.py
@@ -1,3 +1,41 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.streaming_workflow_node_result_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .node_output_compiled_value import NodeOutputCompiledValue
+from .workflow_node_result_data import WorkflowNodeResultData
+
+
+class StreamingWorkflowNodeResultEvent(UniversalBaseModel):
+ """
+ An event that indicates that the node has execution is in progress.
+ """
+
+ id: str
+ node_id: str
+ node_result_id: str
+ state: typing.Literal["STREAMING"] = "STREAMING"
+ ts: typing.Optional[dt.datetime] = None
+ data: typing.Optional[WorkflowNodeResultData] = None
+ source_execution_id: typing.Optional[str] = None
+ output: typing.Optional[NodeOutputCompiledValue] = None
+ output_index: typing.Optional[int] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(StreamingWorkflowNodeResultEvent)
diff --git a/src/vellum/types/string_chat_message_content.py b/src/vellum/types/string_chat_message_content.py
index 0598c2e3d2..739e90118c 100644
--- a/src/vellum/types/string_chat_message_content.py
+++ b/src/vellum/types/string_chat_message_content.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.string_chat_message_content import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class StringChatMessageContent(UniversalBaseModel):
+ """
+ A string value that is used in a chat message.
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/string_chat_message_content_request.py b/src/vellum/types/string_chat_message_content_request.py
index 982830c9f8..aff6f2cce5 100644
--- a/src/vellum/types/string_chat_message_content_request.py
+++ b/src/vellum/types/string_chat_message_content_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.string_chat_message_content_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class StringChatMessageContentRequest(UniversalBaseModel):
+ """
+ A string value that is used in a chat message.
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/string_input.py b/src/vellum/types/string_input.py
index accb7df709..6ddba5748e 100644
--- a/src/vellum/types/string_input.py
+++ b/src/vellum/types/string_input.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.string_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class StringInput(UniversalBaseModel):
+ """
+ A user input representing a string value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/string_input_request.py b/src/vellum/types/string_input_request.py
index d53eb658b6..f29855bc95 100644
--- a/src/vellum/types/string_input_request.py
+++ b/src/vellum/types/string_input_request.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.string_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class StringInputRequest(UniversalBaseModel):
+ """
+ A user input representing a string value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/string_vellum_value.py b/src/vellum/types/string_vellum_value.py
index b74d923308..9eb2b74904 100644
--- a/src/vellum/types/string_vellum_value.py
+++ b/src/vellum/types/string_vellum_value.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.string_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class StringVellumValue(UniversalBaseModel):
+ """
+ A value representing a string.
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/string_vellum_value_request.py b/src/vellum/types/string_vellum_value_request.py
index d02b1e9fda..fc95ee4e27 100644
--- a/src/vellum/types/string_vellum_value_request.py
+++ b/src/vellum/types/string_vellum_value_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.string_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class StringVellumValueRequest(UniversalBaseModel):
+ """
+ A value representing a string.
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/submit_completion_actual_request.py b/src/vellum/types/submit_completion_actual_request.py
index ed6be1ef9c..5377ccebd7 100644
--- a/src/vellum/types/submit_completion_actual_request.py
+++ b/src/vellum/types/submit_completion_actual_request.py
@@ -1,3 +1,48 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.submit_completion_actual_request import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class SubmitCompletionActualRequest(UniversalBaseModel):
+ id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The Vellum-generated ID of a previously generated completion. Must provide either this or external_id.
+ """
+
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The external ID that was originally provided when generating the completion that you'd now like to submit actuals for. Must provide either this or id.
+ """
+
+ text: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Text representing what the completion _should_ have been.
+ """
+
+ quality: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ A number between 0 and 1 representing the quality of the completion. 0 is the worst, 1 is the best.
+ """
+
+ timestamp: typing.Optional[dt.datetime] = pydantic.Field(default=None)
+ """
+ Optionally provide the timestamp representing when this feedback was collected. Used for reporting purposes.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ Optionally provide additional metadata about the feedback submission.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/submit_workflow_execution_actual_request.py b/src/vellum/types/submit_workflow_execution_actual_request.py
index bf80af550e..13eecea2d5 100644
--- a/src/vellum/types/submit_workflow_execution_actual_request.py
+++ b/src/vellum/types/submit_workflow_execution_actual_request.py
@@ -1,3 +1,11 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.submit_workflow_execution_actual_request import *
+import typing
+
+from .workflow_execution_actual_chat_history_request import WorkflowExecutionActualChatHistoryRequest
+from .workflow_execution_actual_json_request import WorkflowExecutionActualJsonRequest
+from .workflow_execution_actual_string_request import WorkflowExecutionActualStringRequest
+
+SubmitWorkflowExecutionActualRequest = typing.Union[
+ WorkflowExecutionActualStringRequest, WorkflowExecutionActualJsonRequest, WorkflowExecutionActualChatHistoryRequest
+]
diff --git a/src/vellum/types/subworkflow_node_result.py b/src/vellum/types/subworkflow_node_result.py
index 233982cc42..972a0c09ce 100644
--- a/src/vellum/types/subworkflow_node_result.py
+++ b/src/vellum/types/subworkflow_node_result.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.subworkflow_node_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .subworkflow_node_result_data import SubworkflowNodeResultData
+
+
+class SubworkflowNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from a Subworkflow Node.
+ """
+
+ type: typing.Literal["SUBWORKFLOW"] = "SUBWORKFLOW"
+ data: typing.Optional[SubworkflowNodeResultData] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/subworkflow_node_result_data.py b/src/vellum/types/subworkflow_node_result_data.py
index 57759e3470..df4775fdeb 100644
--- a/src/vellum/types/subworkflow_node_result_data.py
+++ b/src/vellum/types/subworkflow_node_result_data.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.subworkflow_node_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class SubworkflowNodeResultData(UniversalBaseModel):
+ execution_id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/templating_node_array_result.py b/src/vellum/types/templating_node_array_result.py
index 57a1cc8c23..855434bb53 100644
--- a/src/vellum/types/templating_node_array_result.py
+++ b/src/vellum/types/templating_node_array_result.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_array_result import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class TemplatingNodeArrayResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TemplatingNodeArrayResult)
diff --git a/src/vellum/types/templating_node_chat_history_result.py b/src/vellum/types/templating_node_chat_history_result.py
index 6c323fd3ec..32f63bb642 100644
--- a/src/vellum/types/templating_node_chat_history_result.py
+++ b/src/vellum/types/templating_node_chat_history_result.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_chat_history_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class TemplatingNodeChatHistoryResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/templating_node_error_result.py b/src/vellum/types/templating_node_error_result.py
index 2423ca6062..75423c81da 100644
--- a/src/vellum/types/templating_node_error_result.py
+++ b/src/vellum/types/templating_node_error_result.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_error_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class TemplatingNodeErrorResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/templating_node_function_call_result.py b/src/vellum/types/templating_node_function_call_result.py
index 76835daa05..83be35a229 100644
--- a/src/vellum/types/templating_node_function_call_result.py
+++ b/src/vellum/types/templating_node_function_call_result.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_function_call_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class TemplatingNodeFunctionCallResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/templating_node_json_result.py b/src/vellum/types/templating_node_json_result.py
index 77ceedffcc..8eba79fb25 100644
--- a/src/vellum/types/templating_node_json_result.py
+++ b/src/vellum/types/templating_node_json_result.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_json_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TemplatingNodeJsonResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/templating_node_number_result.py b/src/vellum/types/templating_node_number_result.py
index e00d33385b..c7dbdab502 100644
--- a/src/vellum/types/templating_node_number_result.py
+++ b/src/vellum/types/templating_node_number_result.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_number_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TemplatingNodeNumberResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/templating_node_result.py b/src/vellum/types/templating_node_result.py
index 4fd39c6f3f..6b7ae241f4 100644
--- a/src/vellum/types/templating_node_result.py
+++ b/src/vellum/types/templating_node_result.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_result import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .templating_node_result_data import TemplatingNodeResultData
+
+
+class TemplatingNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from a Templating Node.
+ """
+
+ type: typing.Literal["TEMPLATING"] = "TEMPLATING"
+ data: TemplatingNodeResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TemplatingNodeResult)
diff --git a/src/vellum/types/templating_node_result_data.py b/src/vellum/types/templating_node_result_data.py
index ab72e11e90..5b3180adb3 100644
--- a/src/vellum/types/templating_node_result_data.py
+++ b/src/vellum/types/templating_node_result_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_result_data import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .templating_node_result_output import TemplatingNodeResultOutput
+
+
+class TemplatingNodeResultData(UniversalBaseModel):
+ output: TemplatingNodeResultOutput
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TemplatingNodeResultData)
diff --git a/src/vellum/types/templating_node_result_output.py b/src/vellum/types/templating_node_result_output.py
index 2594ac505a..f3bdafe882 100644
--- a/src/vellum/types/templating_node_result_output.py
+++ b/src/vellum/types/templating_node_result_output.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_result_output import *
+import typing
+
+from .templating_node_array_result import TemplatingNodeArrayResult
+from .templating_node_chat_history_result import TemplatingNodeChatHistoryResult
+from .templating_node_error_result import TemplatingNodeErrorResult
+from .templating_node_function_call_result import TemplatingNodeFunctionCallResult
+from .templating_node_json_result import TemplatingNodeJsonResult
+from .templating_node_number_result import TemplatingNodeNumberResult
+from .templating_node_search_results_result import TemplatingNodeSearchResultsResult
+from .templating_node_string_result import TemplatingNodeStringResult
+
+TemplatingNodeResultOutput = typing.Union[
+ TemplatingNodeStringResult,
+ TemplatingNodeNumberResult,
+ TemplatingNodeJsonResult,
+ TemplatingNodeChatHistoryResult,
+ TemplatingNodeSearchResultsResult,
+ TemplatingNodeErrorResult,
+ TemplatingNodeArrayResult,
+ TemplatingNodeFunctionCallResult,
+]
diff --git a/src/vellum/types/templating_node_search_results_result.py b/src/vellum/types/templating_node_search_results_result.py
index dbaee1d197..6b0e2bce87 100644
--- a/src/vellum/types/templating_node_search_results_result.py
+++ b/src/vellum/types/templating_node_search_results_result.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_search_results_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class TemplatingNodeSearchResultsResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/templating_node_string_result.py b/src/vellum/types/templating_node_string_result.py
index e14662d42b..6daeee7647 100644
--- a/src/vellum/types/templating_node_string_result.py
+++ b/src/vellum/types/templating_node_string_result.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.templating_node_string_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TemplatingNodeStringResult(UniversalBaseModel):
+ id: str
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/terminal_node_array_result.py b/src/vellum/types/terminal_node_array_result.py
index ad9ed9314b..444f746282 100644
--- a/src/vellum/types/terminal_node_array_result.py
+++ b/src/vellum/types/terminal_node_array_result.py
@@ -1,3 +1,34 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_array_result import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class TerminalNodeArrayResult(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ name: str = pydantic.Field()
+ """
+ The unique name given to the terminal node that produced this output.
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TerminalNodeArrayResult)
diff --git a/src/vellum/types/terminal_node_chat_history_result.py b/src/vellum/types/terminal_node_chat_history_result.py
index a0ce33daaf..f9a93f864e 100644
--- a/src/vellum/types/terminal_node_chat_history_result.py
+++ b/src/vellum/types/terminal_node_chat_history_result.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_chat_history_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class TerminalNodeChatHistoryResult(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ name: str = pydantic.Field()
+ """
+ The unique name given to the terminal node that produced this output.
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/terminal_node_error_result.py b/src/vellum/types/terminal_node_error_result.py
index 6100315f7f..769c59ba91 100644
--- a/src/vellum/types/terminal_node_error_result.py
+++ b/src/vellum/types/terminal_node_error_result.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_error_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class TerminalNodeErrorResult(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ name: str = pydantic.Field()
+ """
+ The unique name given to the terminal node that produced this output.
+ """
+
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/terminal_node_function_call_result.py b/src/vellum/types/terminal_node_function_call_result.py
index ed05f87b22..b9476276a3 100644
--- a/src/vellum/types/terminal_node_function_call_result.py
+++ b/src/vellum/types/terminal_node_function_call_result.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_function_call_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class TerminalNodeFunctionCallResult(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ name: str = pydantic.Field()
+ """
+ The unique name given to the terminal node that produced this output.
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/terminal_node_json_result.py b/src/vellum/types/terminal_node_json_result.py
index f976deddd5..d43dc36c57 100644
--- a/src/vellum/types/terminal_node_json_result.py
+++ b/src/vellum/types/terminal_node_json_result.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_json_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TerminalNodeJsonResult(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ name: str = pydantic.Field()
+ """
+ The unique name given to the terminal node that produced this output.
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/terminal_node_number_result.py b/src/vellum/types/terminal_node_number_result.py
index fd2fde5b1a..550db2c9ba 100644
--- a/src/vellum/types/terminal_node_number_result.py
+++ b/src/vellum/types/terminal_node_number_result.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_number_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TerminalNodeNumberResult(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ name: str = pydantic.Field()
+ """
+ The unique name given to the terminal node that produced this output.
+ """
+
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/terminal_node_result.py b/src/vellum/types/terminal_node_result.py
index 632635820a..42b32ef719 100644
--- a/src/vellum/types/terminal_node_result.py
+++ b/src/vellum/types/terminal_node_result.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_result import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .terminal_node_result_data import TerminalNodeResultData
+
+
+class TerminalNodeResult(UniversalBaseModel):
+ """
+ A Node Result Event emitted from a Terminal Node.
+ """
+
+ type: typing.Literal["TERMINAL"] = "TERMINAL"
+ data: TerminalNodeResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TerminalNodeResult)
diff --git a/src/vellum/types/terminal_node_result_data.py b/src/vellum/types/terminal_node_result_data.py
index aba6571d66..089931bc40 100644
--- a/src/vellum/types/terminal_node_result_data.py
+++ b/src/vellum/types/terminal_node_result_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_result_data import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .terminal_node_result_output import TerminalNodeResultOutput
+
+
+class TerminalNodeResultData(UniversalBaseModel):
+ output: TerminalNodeResultOutput
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TerminalNodeResultData)
diff --git a/src/vellum/types/terminal_node_result_output.py b/src/vellum/types/terminal_node_result_output.py
index 9db35bca8a..912b2eeb92 100644
--- a/src/vellum/types/terminal_node_result_output.py
+++ b/src/vellum/types/terminal_node_result_output.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_result_output import *
+import typing
+
+from .terminal_node_array_result import TerminalNodeArrayResult
+from .terminal_node_chat_history_result import TerminalNodeChatHistoryResult
+from .terminal_node_error_result import TerminalNodeErrorResult
+from .terminal_node_function_call_result import TerminalNodeFunctionCallResult
+from .terminal_node_json_result import TerminalNodeJsonResult
+from .terminal_node_number_result import TerminalNodeNumberResult
+from .terminal_node_search_results_result import TerminalNodeSearchResultsResult
+from .terminal_node_string_result import TerminalNodeStringResult
+
+TerminalNodeResultOutput = typing.Union[
+ TerminalNodeStringResult,
+ TerminalNodeNumberResult,
+ TerminalNodeJsonResult,
+ TerminalNodeChatHistoryResult,
+ TerminalNodeSearchResultsResult,
+ TerminalNodeErrorResult,
+ TerminalNodeArrayResult,
+ TerminalNodeFunctionCallResult,
+]
diff --git a/src/vellum/types/terminal_node_search_results_result.py b/src/vellum/types/terminal_node_search_results_result.py
index 7435ff8957..ecbf875185 100644
--- a/src/vellum/types/terminal_node_search_results_result.py
+++ b/src/vellum/types/terminal_node_search_results_result.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_search_results_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class TerminalNodeSearchResultsResult(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ name: str = pydantic.Field()
+ """
+ The unique name given to the terminal node that produced this output.
+ """
+
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/terminal_node_string_result.py b/src/vellum/types/terminal_node_string_result.py
index 907b32c2ae..299e68125b 100644
--- a/src/vellum/types/terminal_node_string_result.py
+++ b/src/vellum/types/terminal_node_string_result.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.terminal_node_string_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TerminalNodeStringResult(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ name: str = pydantic.Field()
+ """
+ The unique name given to the terminal node that produced this output.
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_array_variable_value.py b/src/vellum/types/test_case_array_variable_value.py
index c9671cbb18..1f457220c8 100644
--- a/src/vellum/types/test_case_array_variable_value.py
+++ b/src/vellum/types/test_case_array_variable_value.py
@@ -1,3 +1,34 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_array_variable_value import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class TestCaseArrayVariableValue(UniversalBaseModel):
+ """
+ An Array value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: str
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TestCaseArrayVariableValue)
diff --git a/src/vellum/types/test_case_audio_variable_value.py b/src/vellum/types/test_case_audio_variable_value.py
index df594d988b..d27fa8d0bf 100644
--- a/src/vellum/types/test_case_audio_variable_value.py
+++ b/src/vellum/types/test_case_audio_variable_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_audio_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio import VellumAudio
+
+
+class TestCaseAudioVariableValue(UniversalBaseModel):
+ """
+ An audio value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: typing.Optional[str] = None
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: typing.Optional[VellumAudio] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_chat_history_variable_value.py b/src/vellum/types/test_case_chat_history_variable_value.py
index e0ec46d9e0..a2f6a9ff84 100644
--- a/src/vellum/types/test_case_chat_history_variable_value.py
+++ b/src/vellum/types/test_case_chat_history_variable_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_chat_history_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class TestCaseChatHistoryVariableValue(UniversalBaseModel):
+ """
+ A chat history value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: str
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_document_variable_value.py b/src/vellum/types/test_case_document_variable_value.py
index ab1a7593e7..b464b3c631 100644
--- a/src/vellum/types/test_case_document_variable_value.py
+++ b/src/vellum/types/test_case_document_variable_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_document_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document import VellumDocument
+
+
+class TestCaseDocumentVariableValue(UniversalBaseModel):
+ """
+ A document value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: typing.Optional[str] = None
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: typing.Optional[VellumDocument] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_error_variable_value.py b/src/vellum/types/test_case_error_variable_value.py
index 9e2b55a295..df966880b5 100644
--- a/src/vellum/types/test_case_error_variable_value.py
+++ b/src/vellum/types/test_case_error_variable_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_error_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class TestCaseErrorVariableValue(UniversalBaseModel):
+ """
+ An error value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: str
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_function_call_variable_value.py b/src/vellum/types/test_case_function_call_variable_value.py
index a614dcc360..f3f67be80e 100644
--- a/src/vellum/types/test_case_function_call_variable_value.py
+++ b/src/vellum/types/test_case_function_call_variable_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_function_call_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class TestCaseFunctionCallVariableValue(UniversalBaseModel):
+ """
+ A function call value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: str
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_image_variable_value.py b/src/vellum/types/test_case_image_variable_value.py
index 81eb4ae961..512f40ef42 100644
--- a/src/vellum/types/test_case_image_variable_value.py
+++ b/src/vellum/types/test_case_image_variable_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_image_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image import VellumImage
+
+
+class TestCaseImageVariableValue(UniversalBaseModel):
+ """
+ An image value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: typing.Optional[str] = None
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: typing.Optional[VellumImage] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_json_variable_value.py b/src/vellum/types/test_case_json_variable_value.py
index 37cc4bcd76..8178399f22 100644
--- a/src/vellum/types/test_case_json_variable_value.py
+++ b/src/vellum/types/test_case_json_variable_value.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_json_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestCaseJsonVariableValue(UniversalBaseModel):
+ """
+ A JSON value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: str
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_number_variable_value.py b/src/vellum/types/test_case_number_variable_value.py
index 9a48244dd5..d374ef6e11 100644
--- a/src/vellum/types/test_case_number_variable_value.py
+++ b/src/vellum/types/test_case_number_variable_value.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_number_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestCaseNumberVariableValue(UniversalBaseModel):
+ """
+ A numerical value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: str
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_search_results_variable_value.py b/src/vellum/types/test_case_search_results_variable_value.py
index 8a2ebd769c..b6f0100b64 100644
--- a/src/vellum/types/test_case_search_results_variable_value.py
+++ b/src/vellum/types/test_case_search_results_variable_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_search_results_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class TestCaseSearchResultsVariableValue(UniversalBaseModel):
+ """
+ A search results value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: str
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_string_variable_value.py b/src/vellum/types/test_case_string_variable_value.py
index f1e6a6e33c..53de74415e 100644
--- a/src/vellum/types/test_case_string_variable_value.py
+++ b/src/vellum/types/test_case_string_variable_value.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_string_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestCaseStringVariableValue(UniversalBaseModel):
+ """
+ A string value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: str
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_case_variable_value.py b/src/vellum/types/test_case_variable_value.py
index 51b938a7eb..670bef94d3 100644
--- a/src/vellum/types/test_case_variable_value.py
+++ b/src/vellum/types/test_case_variable_value.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_variable_value import *
+import typing
+
+from .test_case_array_variable_value import TestCaseArrayVariableValue
+from .test_case_audio_variable_value import TestCaseAudioVariableValue
+from .test_case_chat_history_variable_value import TestCaseChatHistoryVariableValue
+from .test_case_document_variable_value import TestCaseDocumentVariableValue
+from .test_case_error_variable_value import TestCaseErrorVariableValue
+from .test_case_function_call_variable_value import TestCaseFunctionCallVariableValue
+from .test_case_image_variable_value import TestCaseImageVariableValue
+from .test_case_json_variable_value import TestCaseJsonVariableValue
+from .test_case_number_variable_value import TestCaseNumberVariableValue
+from .test_case_search_results_variable_value import TestCaseSearchResultsVariableValue
+from .test_case_string_variable_value import TestCaseStringVariableValue
+from .test_case_video_variable_value import TestCaseVideoVariableValue
+
+TestCaseVariableValue = typing.Union[
+ TestCaseStringVariableValue,
+ TestCaseNumberVariableValue,
+ TestCaseJsonVariableValue,
+ TestCaseChatHistoryVariableValue,
+ TestCaseSearchResultsVariableValue,
+ TestCaseErrorVariableValue,
+ TestCaseFunctionCallVariableValue,
+ TestCaseArrayVariableValue,
+ TestCaseAudioVariableValue,
+ TestCaseImageVariableValue,
+ TestCaseVideoVariableValue,
+ TestCaseDocumentVariableValue,
+]
diff --git a/src/vellum/types/test_case_video_variable_value.py b/src/vellum/types/test_case_video_variable_value.py
index 8edcb3f2d3..4efab47fed 100644
--- a/src/vellum/types/test_case_video_variable_value.py
+++ b/src/vellum/types/test_case_video_variable_value.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_case_video_variable_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video import VellumVideo
+
+
+class TestCaseVideoVariableValue(UniversalBaseModel):
+ """
+ A video value for a variable in a Test Case.
+ """
+
+ variable_id: str
+ name: typing.Optional[str] = None
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: typing.Optional[VellumVideo] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_deployment_release_tag_exec_config.py b/src/vellum/types/test_suite_run_deployment_release_tag_exec_config.py
index 170b404a2b..4a7de8011d 100644
--- a/src/vellum/types/test_suite_run_deployment_release_tag_exec_config.py
+++ b/src/vellum/types/test_suite_run_deployment_release_tag_exec_config.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_deployment_release_tag_exec_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_run_deployment_release_tag_exec_config_data import TestSuiteRunDeploymentReleaseTagExecConfigData
+
+
+class TestSuiteRunDeploymentReleaseTagExecConfig(UniversalBaseModel):
+ """
+ Execution configuration for running a Test Suite against a Prompt Deployment
+ """
+
+ type: typing.Literal["DEPLOYMENT_RELEASE_TAG"] = "DEPLOYMENT_RELEASE_TAG"
+ data: TestSuiteRunDeploymentReleaseTagExecConfigData
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_data.py b/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_data.py
index c2a829144b..a495c1f8eb 100644
--- a/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_data.py
+++ b/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_deployment_release_tag_exec_config_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunDeploymentReleaseTagExecConfigData(UniversalBaseModel):
+ deployment_id: str = pydantic.Field()
+ """
+ The ID of the Prompt Deployment to run the Test Suite against.
+ """
+
+ tag: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A tag identifying which release of the Prompt Deployment to run the Test Suite against. Useful for testing past versions of the Prompt Deployment
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_data_request.py b/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_data_request.py
index 81e4e23f7a..b9bc6e9b6a 100644
--- a/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_data_request.py
+++ b/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_data_request.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_deployment_release_tag_exec_config_data_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunDeploymentReleaseTagExecConfigDataRequest(UniversalBaseModel):
+ deployment_id: str = pydantic.Field()
+ """
+ The ID of the Prompt Deployment to run the Test Suite against.
+ """
+
+ tag: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A tag identifying which release of the Prompt Deployment to run the Test Suite against. Useful for testing past versions of the Prompt Deployment
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_request.py b/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_request.py
index 00f44d4c67..5bd85d7a03 100644
--- a/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_request.py
+++ b/src/vellum/types/test_suite_run_deployment_release_tag_exec_config_request.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_deployment_release_tag_exec_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_run_deployment_release_tag_exec_config_data_request import (
+ TestSuiteRunDeploymentReleaseTagExecConfigDataRequest,
+)
+
+
+class TestSuiteRunDeploymentReleaseTagExecConfigRequest(UniversalBaseModel):
+ """
+ Execution configuration for running a Test Suite against a Prompt Deployment
+ """
+
+ type: typing.Literal["DEPLOYMENT_RELEASE_TAG"] = "DEPLOYMENT_RELEASE_TAG"
+ data: TestSuiteRunDeploymentReleaseTagExecConfigDataRequest
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_exec_config.py b/src/vellum/types/test_suite_run_exec_config.py
index 900993c3ee..d332b1a314 100644
--- a/src/vellum/types/test_suite_run_exec_config.py
+++ b/src/vellum/types/test_suite_run_exec_config.py
@@ -1,3 +1,17 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_exec_config import *
+import typing
+
+from .test_suite_run_deployment_release_tag_exec_config import TestSuiteRunDeploymentReleaseTagExecConfig
+from .test_suite_run_external_exec_config import TestSuiteRunExternalExecConfig
+from .test_suite_run_prompt_sandbox_history_item_exec_config import TestSuiteRunPromptSandboxHistoryItemExecConfig
+from .test_suite_run_workflow_release_tag_exec_config import TestSuiteRunWorkflowReleaseTagExecConfig
+from .test_suite_run_workflow_sandbox_history_item_exec_config import TestSuiteRunWorkflowSandboxHistoryItemExecConfig
+
+TestSuiteRunExecConfig = typing.Union[
+ TestSuiteRunDeploymentReleaseTagExecConfig,
+ TestSuiteRunPromptSandboxHistoryItemExecConfig,
+ TestSuiteRunWorkflowReleaseTagExecConfig,
+ TestSuiteRunWorkflowSandboxHistoryItemExecConfig,
+ TestSuiteRunExternalExecConfig,
+]
diff --git a/src/vellum/types/test_suite_run_exec_config_request.py b/src/vellum/types/test_suite_run_exec_config_request.py
index 9ed88aa769..2c3239da5a 100644
--- a/src/vellum/types/test_suite_run_exec_config_request.py
+++ b/src/vellum/types/test_suite_run_exec_config_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_exec_config_request import *
+import typing
+
+from .test_suite_run_deployment_release_tag_exec_config_request import TestSuiteRunDeploymentReleaseTagExecConfigRequest
+from .test_suite_run_external_exec_config_request import TestSuiteRunExternalExecConfigRequest
+from .test_suite_run_prompt_sandbox_exec_config_request import TestSuiteRunPromptSandboxExecConfigRequest
+from .test_suite_run_prompt_sandbox_history_item_exec_config_request import (
+ TestSuiteRunPromptSandboxHistoryItemExecConfigRequest,
+)
+from .test_suite_run_workflow_release_tag_exec_config_request import TestSuiteRunWorkflowReleaseTagExecConfigRequest
+from .test_suite_run_workflow_sandbox_exec_config_request import TestSuiteRunWorkflowSandboxExecConfigRequest
+from .test_suite_run_workflow_sandbox_history_item_exec_config_request import (
+ TestSuiteRunWorkflowSandboxHistoryItemExecConfigRequest,
+)
+
+TestSuiteRunExecConfigRequest = typing.Union[
+ TestSuiteRunDeploymentReleaseTagExecConfigRequest,
+ TestSuiteRunPromptSandboxExecConfigRequest,
+ TestSuiteRunPromptSandboxHistoryItemExecConfigRequest,
+ TestSuiteRunWorkflowReleaseTagExecConfigRequest,
+ TestSuiteRunWorkflowSandboxExecConfigRequest,
+ TestSuiteRunWorkflowSandboxHistoryItemExecConfigRequest,
+ TestSuiteRunExternalExecConfigRequest,
+]
diff --git a/src/vellum/types/test_suite_run_execution.py b/src/vellum/types/test_suite_run_execution.py
index 6daf1c23e2..8c08e21cd3 100644
--- a/src/vellum/types/test_suite_run_execution.py
+++ b/src/vellum/types/test_suite_run_execution.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .test_suite_run_execution_metric_result import TestSuiteRunExecutionMetricResult
+from .test_suite_run_execution_output import TestSuiteRunExecutionOutput
+
+
+class TestSuiteRunExecution(UniversalBaseModel):
+ id: str
+ test_case_id: str
+ outputs: typing.List[TestSuiteRunExecutionOutput]
+ metric_results: typing.List[TestSuiteRunExecutionMetricResult]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteRunExecution)
diff --git a/src/vellum/types/test_suite_run_execution_array_output.py b/src/vellum/types/test_suite_run_execution_array_output.py
index 931dc6ba47..80cd06373b 100644
--- a/src/vellum/types/test_suite_run_execution_array_output.py
+++ b/src/vellum/types/test_suite_run_execution_array_output.py
@@ -1,3 +1,34 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_array_output import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class TestSuiteRunExecutionArrayOutput(UniversalBaseModel):
+ """
+ Execution output of an entity evaluated during a Test Suite Run that is of type ARRAY
+ """
+
+ name: str
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+ output_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteRunExecutionArrayOutput)
diff --git a/src/vellum/types/test_suite_run_execution_chat_history_output.py b/src/vellum/types/test_suite_run_execution_chat_history_output.py
index 60c76e4333..4a6817e43e 100644
--- a/src/vellum/types/test_suite_run_execution_chat_history_output.py
+++ b/src/vellum/types/test_suite_run_execution_chat_history_output.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_chat_history_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class TestSuiteRunExecutionChatHistoryOutput(UniversalBaseModel):
+ """
+ Execution output of an entity evaluated during a Test Suite Run that is of type CHAT_HISTORY
+ """
+
+ name: str
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+ output_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_execution_error_output.py b/src/vellum/types/test_suite_run_execution_error_output.py
index b0e74153d2..5e3adc3df9 100644
--- a/src/vellum/types/test_suite_run_execution_error_output.py
+++ b/src/vellum/types/test_suite_run_execution_error_output.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_error_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class TestSuiteRunExecutionErrorOutput(UniversalBaseModel):
+ """
+ Execution output of an entity evaluated during a Test Suite Run that is of type ERROR
+ """
+
+ name: str
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+ output_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_execution_function_call_output.py b/src/vellum/types/test_suite_run_execution_function_call_output.py
index 9b0d5fbb37..c57a0b82ca 100644
--- a/src/vellum/types/test_suite_run_execution_function_call_output.py
+++ b/src/vellum/types/test_suite_run_execution_function_call_output.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_function_call_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class TestSuiteRunExecutionFunctionCallOutput(UniversalBaseModel):
+ """
+ Execution output of an entity evaluated during a Test Suite Run that is of type FUNCTION_CALL
+ """
+
+ name: str
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+ output_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_execution_json_output.py b/src/vellum/types/test_suite_run_execution_json_output.py
index f34e5f39e8..0f6eff5bd7 100644
--- a/src/vellum/types/test_suite_run_execution_json_output.py
+++ b/src/vellum/types/test_suite_run_execution_json_output.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_json_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunExecutionJsonOutput(UniversalBaseModel):
+ """
+ Execution output of an entity evaluated during a Test Suite Run that is of type JSON
+ """
+
+ name: str
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+ output_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_execution_metric_definition.py b/src/vellum/types/test_suite_run_execution_metric_definition.py
index 7212abaa82..354c04e4a7 100644
--- a/src/vellum/types/test_suite_run_execution_metric_definition.py
+++ b/src/vellum/types/test_suite_run_execution_metric_definition.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_metric_definition import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunExecutionMetricDefinition(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ label: typing.Optional[str] = None
+ name: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_execution_metric_result.py b/src/vellum/types/test_suite_run_execution_metric_result.py
index 0cf1e81a14..cd52d11752 100644
--- a/src/vellum/types/test_suite_run_execution_metric_result.py
+++ b/src/vellum/types/test_suite_run_execution_metric_result.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_metric_result import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .test_suite_run_execution_metric_definition import TestSuiteRunExecutionMetricDefinition
+from .test_suite_run_metric_output import TestSuiteRunMetricOutput
+
+
+class TestSuiteRunExecutionMetricResult(UniversalBaseModel):
+ metric_id: str
+ outputs: typing.List[TestSuiteRunMetricOutput]
+ metric_label: typing.Optional[str] = None
+ metric_definition: typing.Optional[TestSuiteRunExecutionMetricDefinition] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteRunExecutionMetricResult)
diff --git a/src/vellum/types/test_suite_run_execution_number_output.py b/src/vellum/types/test_suite_run_execution_number_output.py
index 10531074b6..ebc6ff63af 100644
--- a/src/vellum/types/test_suite_run_execution_number_output.py
+++ b/src/vellum/types/test_suite_run_execution_number_output.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_number_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunExecutionNumberOutput(UniversalBaseModel):
+ """
+ Execution output of an entity evaluated during a Test Suite Run that is of type NUMBER
+ """
+
+ name: str
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+ output_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_execution_output.py b/src/vellum/types/test_suite_run_execution_output.py
index 36e4682317..0d6cfeff9f 100644
--- a/src/vellum/types/test_suite_run_execution_output.py
+++ b/src/vellum/types/test_suite_run_execution_output.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_output import *
+import typing
+
+from .test_suite_run_execution_array_output import TestSuiteRunExecutionArrayOutput
+from .test_suite_run_execution_chat_history_output import TestSuiteRunExecutionChatHistoryOutput
+from .test_suite_run_execution_error_output import TestSuiteRunExecutionErrorOutput
+from .test_suite_run_execution_function_call_output import TestSuiteRunExecutionFunctionCallOutput
+from .test_suite_run_execution_json_output import TestSuiteRunExecutionJsonOutput
+from .test_suite_run_execution_number_output import TestSuiteRunExecutionNumberOutput
+from .test_suite_run_execution_search_results_output import TestSuiteRunExecutionSearchResultsOutput
+from .test_suite_run_execution_string_output import TestSuiteRunExecutionStringOutput
+
+TestSuiteRunExecutionOutput = typing.Union[
+ TestSuiteRunExecutionStringOutput,
+ TestSuiteRunExecutionNumberOutput,
+ TestSuiteRunExecutionJsonOutput,
+ TestSuiteRunExecutionChatHistoryOutput,
+ TestSuiteRunExecutionSearchResultsOutput,
+ TestSuiteRunExecutionErrorOutput,
+ TestSuiteRunExecutionFunctionCallOutput,
+ TestSuiteRunExecutionArrayOutput,
+]
diff --git a/src/vellum/types/test_suite_run_execution_search_results_output.py b/src/vellum/types/test_suite_run_execution_search_results_output.py
index 9472206732..58361d0aae 100644
--- a/src/vellum/types/test_suite_run_execution_search_results_output.py
+++ b/src/vellum/types/test_suite_run_execution_search_results_output.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_search_results_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class TestSuiteRunExecutionSearchResultsOutput(UniversalBaseModel):
+ """
+ Execution output of an entity evaluated during a Test Suite Run that is of type SEARCH_RESULTS
+ """
+
+ name: str
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+ output_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_execution_string_output.py b/src/vellum/types/test_suite_run_execution_string_output.py
index 5e1f620703..14ffe10e47 100644
--- a/src/vellum/types/test_suite_run_execution_string_output.py
+++ b/src/vellum/types/test_suite_run_execution_string_output.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_execution_string_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunExecutionStringOutput(UniversalBaseModel):
+ """
+ Execution output of an entity evaluated during a Test Suite Run that is of type STRING
+ """
+
+ name: str
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+ output_variable_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_external_exec_config.py b/src/vellum/types/test_suite_run_external_exec_config.py
index cbcc7b0892..57e7316cf1 100644
--- a/src/vellum/types/test_suite_run_external_exec_config.py
+++ b/src/vellum/types/test_suite_run_external_exec_config.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_external_exec_config import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .test_suite_run_external_exec_config_data import TestSuiteRunExternalExecConfigData
+
+
+class TestSuiteRunExternalExecConfig(UniversalBaseModel):
+ """
+ Execution configuration for running a Vellum Test Suite against an external callable
+ """
+
+ data: TestSuiteRunExternalExecConfigData
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ type: typing.Literal["EXTERNAL"] = "EXTERNAL"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteRunExternalExecConfig)
diff --git a/src/vellum/types/test_suite_run_external_exec_config_data.py b/src/vellum/types/test_suite_run_external_exec_config_data.py
index 24bf4d615d..ac69faaf61 100644
--- a/src/vellum/types/test_suite_run_external_exec_config_data.py
+++ b/src/vellum/types/test_suite_run_external_exec_config_data.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_external_exec_config_data import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .external_test_case_execution import ExternalTestCaseExecution
+
+
+class TestSuiteRunExternalExecConfigData(UniversalBaseModel):
+ executions: typing.List[ExternalTestCaseExecution] = pydantic.Field()
+ """
+ The executions of some callable external to Vellum whose outputs you would like to evaluate.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteRunExternalExecConfigData)
diff --git a/src/vellum/types/test_suite_run_external_exec_config_data_request.py b/src/vellum/types/test_suite_run_external_exec_config_data_request.py
index 5a7dadda81..e965e240bb 100644
--- a/src/vellum/types/test_suite_run_external_exec_config_data_request.py
+++ b/src/vellum/types/test_suite_run_external_exec_config_data_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_external_exec_config_data_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .external_test_case_execution_request import ExternalTestCaseExecutionRequest
+
+
+class TestSuiteRunExternalExecConfigDataRequest(UniversalBaseModel):
+ executions: typing.List[ExternalTestCaseExecutionRequest] = pydantic.Field()
+ """
+ The executions of some callable external to Vellum whose outputs you would like to evaluate.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteRunExternalExecConfigDataRequest)
diff --git a/src/vellum/types/test_suite_run_external_exec_config_request.py b/src/vellum/types/test_suite_run_external_exec_config_request.py
index 4b9d02af4f..aa9fa360b8 100644
--- a/src/vellum/types/test_suite_run_external_exec_config_request.py
+++ b/src/vellum/types/test_suite_run_external_exec_config_request.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_external_exec_config_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .test_suite_run_external_exec_config_data_request import TestSuiteRunExternalExecConfigDataRequest
+
+
+class TestSuiteRunExternalExecConfigRequest(UniversalBaseModel):
+ """
+ Execution configuration for running a Vellum Test Suite against an external callable
+ """
+
+ data: TestSuiteRunExternalExecConfigDataRequest
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ type: typing.Literal["EXTERNAL"] = "EXTERNAL"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteRunExternalExecConfigRequest)
diff --git a/src/vellum/types/test_suite_run_metric_array_output.py b/src/vellum/types/test_suite_run_metric_array_output.py
index 806467b24c..d0db2fe96e 100644
--- a/src/vellum/types/test_suite_run_metric_array_output.py
+++ b/src/vellum/types/test_suite_run_metric_array_output.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_metric_array_output import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class TestSuiteRunMetricArrayOutput(UniversalBaseModel):
+ """
+ Output for a test suite run metric that is of type ARRAY
+ """
+
+ value: typing.Optional[typing.List["VellumValue"]] = None
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteRunMetricArrayOutput)
diff --git a/src/vellum/types/test_suite_run_metric_error_output.py b/src/vellum/types/test_suite_run_metric_error_output.py
index 3b3908531a..a86bc27e35 100644
--- a/src/vellum/types/test_suite_run_metric_error_output.py
+++ b/src/vellum/types/test_suite_run_metric_error_output.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_metric_error_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class TestSuiteRunMetricErrorOutput(UniversalBaseModel):
+ """
+ Output for a test suite run metric that is of type ERROR
+ """
+
+ value: VellumError
+ type: typing.Literal["ERROR"] = "ERROR"
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_metric_json_output.py b/src/vellum/types/test_suite_run_metric_json_output.py
index 5c0744235f..ad18a77bf2 100644
--- a/src/vellum/types/test_suite_run_metric_json_output.py
+++ b/src/vellum/types/test_suite_run_metric_json_output.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_metric_json_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunMetricJsonOutput(UniversalBaseModel):
+ """
+ Output for a test suite run metric that is of type NUMBER
+ """
+
+ value: typing.Optional[typing.Any] = None
+ type: typing.Literal["JSON"] = "JSON"
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_metric_number_output.py b/src/vellum/types/test_suite_run_metric_number_output.py
index 6600d51310..f6a620f582 100644
--- a/src/vellum/types/test_suite_run_metric_number_output.py
+++ b/src/vellum/types/test_suite_run_metric_number_output.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_metric_number_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunMetricNumberOutput(UniversalBaseModel):
+ """
+ Output for a test suite run metric that is of type NUMBER
+ """
+
+ value: typing.Optional[float] = None
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_metric_output.py b/src/vellum/types/test_suite_run_metric_output.py
index d4700aade6..8bace42c84 100644
--- a/src/vellum/types/test_suite_run_metric_output.py
+++ b/src/vellum/types/test_suite_run_metric_output.py
@@ -1,3 +1,17 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_metric_output import *
+import typing
+
+from .test_suite_run_metric_array_output import TestSuiteRunMetricArrayOutput
+from .test_suite_run_metric_error_output import TestSuiteRunMetricErrorOutput
+from .test_suite_run_metric_json_output import TestSuiteRunMetricJsonOutput
+from .test_suite_run_metric_number_output import TestSuiteRunMetricNumberOutput
+from .test_suite_run_metric_string_output import TestSuiteRunMetricStringOutput
+
+TestSuiteRunMetricOutput = typing.Union[
+ TestSuiteRunMetricStringOutput,
+ TestSuiteRunMetricNumberOutput,
+ TestSuiteRunMetricJsonOutput,
+ TestSuiteRunMetricErrorOutput,
+ TestSuiteRunMetricArrayOutput,
+]
diff --git a/src/vellum/types/test_suite_run_metric_string_output.py b/src/vellum/types/test_suite_run_metric_string_output.py
index 4feb71490b..73e6296e30 100644
--- a/src/vellum/types/test_suite_run_metric_string_output.py
+++ b/src/vellum/types/test_suite_run_metric_string_output.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_metric_string_output import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunMetricStringOutput(UniversalBaseModel):
+ """
+ Output for a test suite run metric that is of type STRING
+ """
+
+ value: typing.Optional[str] = None
+ type: typing.Literal["STRING"] = "STRING"
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_progress.py b/src/vellum/types/test_suite_run_progress.py
index 53accd2356..ddd2bfaf3a 100644
--- a/src/vellum/types/test_suite_run_progress.py
+++ b/src/vellum/types/test_suite_run_progress.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_progress import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunProgress(UniversalBaseModel):
+ number_of_requested_test_cases: int
+ number_of_completed_test_cases: int
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_prompt_sandbox_exec_config_data_request.py b/src/vellum/types/test_suite_run_prompt_sandbox_exec_config_data_request.py
index caabf44dfc..36073c1ced 100644
--- a/src/vellum/types/test_suite_run_prompt_sandbox_exec_config_data_request.py
+++ b/src/vellum/types/test_suite_run_prompt_sandbox_exec_config_data_request.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_prompt_sandbox_exec_config_data_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunPromptSandboxExecConfigDataRequest(UniversalBaseModel):
+ prompt_sandbox_id: str = pydantic.Field()
+ """
+ The ID of the Prompt Sandbox to run the Test Suite against.
+ """
+
+ prompt_variant_id: str = pydantic.Field()
+ """
+ The ID of the Prompt Variant within the Prompt Sandbox that you'd like to run the Test Suite against.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_prompt_sandbox_exec_config_request.py b/src/vellum/types/test_suite_run_prompt_sandbox_exec_config_request.py
index 5e04240327..2f26b30732 100644
--- a/src/vellum/types/test_suite_run_prompt_sandbox_exec_config_request.py
+++ b/src/vellum/types/test_suite_run_prompt_sandbox_exec_config_request.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_prompt_sandbox_exec_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_run_prompt_sandbox_exec_config_data_request import TestSuiteRunPromptSandboxExecConfigDataRequest
+
+
+class TestSuiteRunPromptSandboxExecConfigRequest(UniversalBaseModel):
+ """
+ Execution configuration for running a Test Suite against a Prompt Sandbox
+ """
+
+ type: typing.Literal["PROMPT_SANDBOX"] = "PROMPT_SANDBOX"
+ data: TestSuiteRunPromptSandboxExecConfigDataRequest
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config.py b/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config.py
index 5363c735c5..e6a1ec094d 100644
--- a/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config.py
+++ b/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_prompt_sandbox_history_item_exec_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_run_prompt_sandbox_history_item_exec_config_data import (
+ TestSuiteRunPromptSandboxHistoryItemExecConfigData,
+)
+
+
+class TestSuiteRunPromptSandboxHistoryItemExecConfig(UniversalBaseModel):
+ """
+ Execution configuration for running a Test Suite against a Prompt Sandbox History Item
+ """
+
+ type: typing.Literal["PROMPT_SANDBOX_HISTORY_ITEM"] = "PROMPT_SANDBOX_HISTORY_ITEM"
+ data: TestSuiteRunPromptSandboxHistoryItemExecConfigData
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py b/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py
index edf41693dd..2bb6fae1a0 100644
--- a/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py
+++ b/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_prompt_sandbox_history_item_exec_config_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunPromptSandboxHistoryItemExecConfigData(UniversalBaseModel):
+ history_item_id: str = pydantic.Field()
+ """
+ The ID of the Prompt Sandbox History Item that the Test Suite will run against.
+ """
+
+ prompt_variant_id: str = pydantic.Field()
+ """
+ The ID of the Prompt Variant within the Prompt Sandbox History Item that you'd like to run the Test Suite against.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py b/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py
index 4ac536d289..3fba2694a5 100644
--- a/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py
+++ b/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_data_request.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_prompt_sandbox_history_item_exec_config_data_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunPromptSandboxHistoryItemExecConfigDataRequest(UniversalBaseModel):
+ history_item_id: str = pydantic.Field()
+ """
+ The ID of the Prompt Sandbox History Item that the Test Suite will run against.
+ """
+
+ prompt_variant_id: str = pydantic.Field()
+ """
+ The ID of the Prompt Variant within the Prompt Sandbox History Item that you'd like to run the Test Suite against.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py b/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py
index 6e44e39b27..78753f22be 100644
--- a/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py
+++ b/src/vellum/types/test_suite_run_prompt_sandbox_history_item_exec_config_request.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_prompt_sandbox_history_item_exec_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_run_prompt_sandbox_history_item_exec_config_data_request import (
+ TestSuiteRunPromptSandboxHistoryItemExecConfigDataRequest,
+)
+
+
+class TestSuiteRunPromptSandboxHistoryItemExecConfigRequest(UniversalBaseModel):
+ """
+ Execution configuration for running a Test Suite against a Prompt Sandbox History Item
+ """
+
+ type: typing.Literal["PROMPT_SANDBOX_HISTORY_ITEM"] = "PROMPT_SANDBOX_HISTORY_ITEM"
+ data: TestSuiteRunPromptSandboxHistoryItemExecConfigDataRequest
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_read.py b/src/vellum/types/test_suite_run_read.py
index 8757996946..5c2ada16ef 100644
--- a/src/vellum/types/test_suite_run_read.py
+++ b/src/vellum/types/test_suite_run_read.py
@@ -1,3 +1,50 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_read import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .test_suite_run_exec_config import TestSuiteRunExecConfig
+from .test_suite_run_progress import TestSuiteRunProgress
+from .test_suite_run_state import TestSuiteRunState
+from .test_suite_run_test_suite import TestSuiteRunTestSuite
+
+
+class TestSuiteRunRead(UniversalBaseModel):
+ id: str
+ created: dt.datetime
+ test_suite: TestSuiteRunTestSuite
+ state: TestSuiteRunState = pydantic.Field()
+ """
+ The current state of this run
+
+ * `QUEUED` - Queued
+ * `RUNNING` - Running
+ * `COMPLETE` - Complete
+ * `FAILED` - Failed
+ * `CANCELLED` - Cancelled
+ """
+
+ exec_config: typing.Optional[TestSuiteRunExecConfig] = pydantic.Field(default=None)
+ """
+ Configuration that defines how the Test Suite should be run
+ """
+
+ progress: typing.Optional[TestSuiteRunProgress] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteRunRead)
diff --git a/src/vellum/types/test_suite_run_state.py b/src/vellum/types/test_suite_run_state.py
index 1ff53cfdf6..8de80455bd 100644
--- a/src/vellum/types/test_suite_run_state.py
+++ b/src/vellum/types/test_suite_run_state.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_state import *
+import typing
+
+TestSuiteRunState = typing.Union[typing.Literal["QUEUED", "RUNNING", "COMPLETE", "FAILED", "CANCELLED"], typing.Any]
diff --git a/src/vellum/types/test_suite_run_test_suite.py b/src/vellum/types/test_suite_run_test_suite.py
index 3da494c269..821940efd1 100644
--- a/src/vellum/types/test_suite_run_test_suite.py
+++ b/src/vellum/types/test_suite_run_test_suite.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_test_suite import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunTestSuite(UniversalBaseModel):
+ id: str
+ history_item_id: str
+ label: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_workflow_release_tag_exec_config.py b/src/vellum/types/test_suite_run_workflow_release_tag_exec_config.py
index 194fcc0840..a939c78856 100644
--- a/src/vellum/types/test_suite_run_workflow_release_tag_exec_config.py
+++ b/src/vellum/types/test_suite_run_workflow_release_tag_exec_config.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_workflow_release_tag_exec_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_run_workflow_release_tag_exec_config_data import TestSuiteRunWorkflowReleaseTagExecConfigData
+
+
+class TestSuiteRunWorkflowReleaseTagExecConfig(UniversalBaseModel):
+ """
+ Execution configuration for running a Test Suite against a Workflow Deployment
+ """
+
+ type: typing.Literal["WORKFLOW_RELEASE_TAG"] = "WORKFLOW_RELEASE_TAG"
+ data: TestSuiteRunWorkflowReleaseTagExecConfigData
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py b/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py
index 634596f17d..18b02006fd 100644
--- a/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py
+++ b/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_workflow_release_tag_exec_config_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunWorkflowReleaseTagExecConfigData(UniversalBaseModel):
+ workflow_deployment_id: str = pydantic.Field()
+ """
+ The ID of the Workflow Deployment to run the Test Suite against.
+ """
+
+ tag: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A tag identifying which release of the Workflow Deployment to run the Test Suite against. Useful for testing past versions of the Workflow Deployment
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py b/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py
index 18192fd2ef..fdb38b17c5 100644
--- a/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py
+++ b/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_data_request.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_workflow_release_tag_exec_config_data_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunWorkflowReleaseTagExecConfigDataRequest(UniversalBaseModel):
+ workflow_deployment_id: str = pydantic.Field()
+ """
+ The ID of the Workflow Deployment to run the Test Suite against.
+ """
+
+ tag: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A tag identifying which release of the Workflow Deployment to run the Test Suite against. Useful for testing past versions of the Workflow Deployment
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py b/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py
index 8bad5cdac0..7f078a8ac3 100644
--- a/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py
+++ b/src/vellum/types/test_suite_run_workflow_release_tag_exec_config_request.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_workflow_release_tag_exec_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_run_workflow_release_tag_exec_config_data_request import (
+ TestSuiteRunWorkflowReleaseTagExecConfigDataRequest,
+)
+
+
+class TestSuiteRunWorkflowReleaseTagExecConfigRequest(UniversalBaseModel):
+ """
+ Execution configuration for running a Test Suite against a Workflow Deployment
+ """
+
+ type: typing.Literal["WORKFLOW_RELEASE_TAG"] = "WORKFLOW_RELEASE_TAG"
+ data: TestSuiteRunWorkflowReleaseTagExecConfigDataRequest
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_workflow_sandbox_exec_config_data_request.py b/src/vellum/types/test_suite_run_workflow_sandbox_exec_config_data_request.py
index 1854660997..b82c820868 100644
--- a/src/vellum/types/test_suite_run_workflow_sandbox_exec_config_data_request.py
+++ b/src/vellum/types/test_suite_run_workflow_sandbox_exec_config_data_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_workflow_sandbox_exec_config_data_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunWorkflowSandboxExecConfigDataRequest(UniversalBaseModel):
+ workflow_sandbox_id: str = pydantic.Field()
+ """
+ The ID of the Workflow Sandbox to run the Test Suite against.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_workflow_sandbox_exec_config_request.py b/src/vellum/types/test_suite_run_workflow_sandbox_exec_config_request.py
index 5030fa8a5a..21be5c82a4 100644
--- a/src/vellum/types/test_suite_run_workflow_sandbox_exec_config_request.py
+++ b/src/vellum/types/test_suite_run_workflow_sandbox_exec_config_request.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_workflow_sandbox_exec_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_run_workflow_sandbox_exec_config_data_request import TestSuiteRunWorkflowSandboxExecConfigDataRequest
+
+
+class TestSuiteRunWorkflowSandboxExecConfigRequest(UniversalBaseModel):
+ """
+ Execution configuration for running a Test Suite against a Workflow Sandbox
+ """
+
+ type: typing.Literal["WORKFLOW_SANDBOX"] = "WORKFLOW_SANDBOX"
+ data: TestSuiteRunWorkflowSandboxExecConfigDataRequest
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config.py b/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config.py
index e4058710fe..11882bb7c1 100644
--- a/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config.py
+++ b/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_workflow_sandbox_history_item_exec_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_run_workflow_sandbox_history_item_exec_config_data import (
+ TestSuiteRunWorkflowSandboxHistoryItemExecConfigData,
+)
+
+
+class TestSuiteRunWorkflowSandboxHistoryItemExecConfig(UniversalBaseModel):
+ """
+ Execution configuration for running a Test Suite against a Workflow Sandbox History Item
+ """
+
+ type: typing.Literal["WORKFLOW_SANDBOX_HISTORY_ITEM"] = "WORKFLOW_SANDBOX_HISTORY_ITEM"
+ data: TestSuiteRunWorkflowSandboxHistoryItemExecConfigData
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py b/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py
index 63fdad0936..ea8d7f2528 100644
--- a/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py
+++ b/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_workflow_sandbox_history_item_exec_config_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunWorkflowSandboxHistoryItemExecConfigData(UniversalBaseModel):
+ history_item_id: str = pydantic.Field()
+ """
+ The ID of the Workflow Sandbox History Item that the Test Suite will run against.
+ """
+
+ workflow_variant_id: str = pydantic.Field()
+ """
+ The ID of the Workflow Variant within the Workflow Sandbox History Item that you'd like to run the Test Suite against.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py b/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py
index 98ff1c7938..67f67fb0a6 100644
--- a/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py
+++ b/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_data_request.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_workflow_sandbox_history_item_exec_config_data_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteRunWorkflowSandboxHistoryItemExecConfigDataRequest(UniversalBaseModel):
+ history_item_id: str = pydantic.Field()
+ """
+ The ID of the Workflow Sandbox History Item that the Test Suite will run against.
+ """
+
+ workflow_variant_id: str = pydantic.Field()
+ """
+ The ID of the Workflow Variant within the Workflow Sandbox History Item that you'd like to run the Test Suite against.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py b/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py
index c7c73c0e59..8dc53c9bd9 100644
--- a/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py
+++ b/src/vellum/types/test_suite_run_workflow_sandbox_history_item_exec_config_request.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_run_workflow_sandbox_history_item_exec_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_run_workflow_sandbox_history_item_exec_config_data_request import (
+ TestSuiteRunWorkflowSandboxHistoryItemExecConfigDataRequest,
+)
+
+
+class TestSuiteRunWorkflowSandboxHistoryItemExecConfigRequest(UniversalBaseModel):
+ """
+ Execution configuration for running a Test Suite against a Workflow Sandbox History Item
+ """
+
+ type: typing.Literal["WORKFLOW_SANDBOX_HISTORY_ITEM"] = "WORKFLOW_SANDBOX_HISTORY_ITEM"
+ data: TestSuiteRunWorkflowSandboxHistoryItemExecConfigDataRequest
+ test_case_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
+ """
+ Optionally specify a subset of test case ids to run. If not provided, all test cases within the test suite will be run by default.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_test_case.py b/src/vellum/types/test_suite_test_case.py
index dc01a55332..0913cfbf27 100644
--- a/src/vellum/types/test_suite_test_case.py
+++ b/src/vellum/types/test_suite_test_case.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .test_case_variable_value import TestCaseVariableValue
+
+
+class TestSuiteTestCase(UniversalBaseModel):
+ id: typing.Optional[str] = None
+ external_id: typing.Optional[str] = None
+ label: typing.Optional[str] = None
+ input_values: typing.List[TestCaseVariableValue]
+ evaluation_values: typing.List[TestCaseVariableValue]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteTestCase)
diff --git a/src/vellum/types/test_suite_test_case_bulk_operation_request.py b/src/vellum/types/test_suite_test_case_bulk_operation_request.py
index 708aca83d6..a41c4378ec 100644
--- a/src/vellum/types/test_suite_test_case_bulk_operation_request.py
+++ b/src/vellum/types/test_suite_test_case_bulk_operation_request.py
@@ -1,3 +1,15 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_bulk_operation_request import *
+import typing
+
+from .test_suite_test_case_create_bulk_operation_request import TestSuiteTestCaseCreateBulkOperationRequest
+from .test_suite_test_case_delete_bulk_operation_request import TestSuiteTestCaseDeleteBulkOperationRequest
+from .test_suite_test_case_replace_bulk_operation_request import TestSuiteTestCaseReplaceBulkOperationRequest
+from .test_suite_test_case_upsert_bulk_operation_request import TestSuiteTestCaseUpsertBulkOperationRequest
+
+TestSuiteTestCaseBulkOperationRequest = typing.Union[
+ TestSuiteTestCaseCreateBulkOperationRequest,
+ TestSuiteTestCaseReplaceBulkOperationRequest,
+ TestSuiteTestCaseUpsertBulkOperationRequest,
+ TestSuiteTestCaseDeleteBulkOperationRequest,
+]
diff --git a/src/vellum/types/test_suite_test_case_bulk_result.py b/src/vellum/types/test_suite_test_case_bulk_result.py
index 622db3caf0..98ea05b23c 100644
--- a/src/vellum/types/test_suite_test_case_bulk_result.py
+++ b/src/vellum/types/test_suite_test_case_bulk_result.py
@@ -1,3 +1,15 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_bulk_result import *
+import typing
+
+from .test_suite_test_case_created_bulk_result import TestSuiteTestCaseCreatedBulkResult
+from .test_suite_test_case_deleted_bulk_result import TestSuiteTestCaseDeletedBulkResult
+from .test_suite_test_case_rejected_bulk_result import TestSuiteTestCaseRejectedBulkResult
+from .test_suite_test_case_replaced_bulk_result import TestSuiteTestCaseReplacedBulkResult
+
+TestSuiteTestCaseBulkResult = typing.Union[
+ TestSuiteTestCaseCreatedBulkResult,
+ TestSuiteTestCaseReplacedBulkResult,
+ TestSuiteTestCaseDeletedBulkResult,
+ TestSuiteTestCaseRejectedBulkResult,
+]
diff --git a/src/vellum/types/test_suite_test_case_create_bulk_operation_request.py b/src/vellum/types/test_suite_test_case_create_bulk_operation_request.py
index 9e9b9efdee..875ccf7dff 100644
--- a/src/vellum/types/test_suite_test_case_create_bulk_operation_request.py
+++ b/src/vellum/types/test_suite_test_case_create_bulk_operation_request.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_create_bulk_operation_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .create_test_suite_test_case_request import CreateTestSuiteTestCaseRequest
+
+
+class TestSuiteTestCaseCreateBulkOperationRequest(UniversalBaseModel):
+ """
+ A bulk operation that represents the creation of a Test Case.
+ """
+
+ id: str = pydantic.Field()
+ """
+ An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
+ """
+
+ type: typing.Literal["CREATE"] = "CREATE"
+ data: CreateTestSuiteTestCaseRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteTestCaseCreateBulkOperationRequest)
diff --git a/src/vellum/types/test_suite_test_case_created_bulk_result.py b/src/vellum/types/test_suite_test_case_created_bulk_result.py
index 6db05d89ce..e7495451ab 100644
--- a/src/vellum/types/test_suite_test_case_created_bulk_result.py
+++ b/src/vellum/types/test_suite_test_case_created_bulk_result.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_created_bulk_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_test_case_created_bulk_result_data import TestSuiteTestCaseCreatedBulkResultData
+
+
+class TestSuiteTestCaseCreatedBulkResult(UniversalBaseModel):
+ """
+ The result of a bulk operation that created a Test Case.
+ """
+
+ id: str
+ type: typing.Literal["CREATED"] = "CREATED"
+ data: TestSuiteTestCaseCreatedBulkResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_test_case_created_bulk_result_data.py b/src/vellum/types/test_suite_test_case_created_bulk_result_data.py
index 9a19dff6b9..303b92ac75 100644
--- a/src/vellum/types/test_suite_test_case_created_bulk_result_data.py
+++ b/src/vellum/types/test_suite_test_case_created_bulk_result_data.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_created_bulk_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteTestCaseCreatedBulkResultData(UniversalBaseModel):
+ """
+ Information about the Test Case that was created.
+ """
+
+ id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_test_case_delete_bulk_operation_data_request.py b/src/vellum/types/test_suite_test_case_delete_bulk_operation_data_request.py
index 287d39f1fc..5fcbd99913 100644
--- a/src/vellum/types/test_suite_test_case_delete_bulk_operation_data_request.py
+++ b/src/vellum/types/test_suite_test_case_delete_bulk_operation_data_request.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_delete_bulk_operation_data_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteTestCaseDeleteBulkOperationDataRequest(UniversalBaseModel):
+ id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_test_case_delete_bulk_operation_request.py b/src/vellum/types/test_suite_test_case_delete_bulk_operation_request.py
index 8b4d163ff4..5a9e604152 100644
--- a/src/vellum/types/test_suite_test_case_delete_bulk_operation_request.py
+++ b/src/vellum/types/test_suite_test_case_delete_bulk_operation_request.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_delete_bulk_operation_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_test_case_delete_bulk_operation_data_request import TestSuiteTestCaseDeleteBulkOperationDataRequest
+
+
+class TestSuiteTestCaseDeleteBulkOperationRequest(UniversalBaseModel):
+ """
+ A bulk operation that represents the deletion of a Test Case.
+ """
+
+ id: str = pydantic.Field()
+ """
+ An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
+ """
+
+ type: typing.Literal["DELETE"] = "DELETE"
+ data: TestSuiteTestCaseDeleteBulkOperationDataRequest = pydantic.Field()
+ """
+ Information about the Test Case to delete
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_test_case_deleted_bulk_result.py b/src/vellum/types/test_suite_test_case_deleted_bulk_result.py
index a58fed5634..9404673c4f 100644
--- a/src/vellum/types/test_suite_test_case_deleted_bulk_result.py
+++ b/src/vellum/types/test_suite_test_case_deleted_bulk_result.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_deleted_bulk_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_test_case_deleted_bulk_result_data import TestSuiteTestCaseDeletedBulkResultData
+
+
+class TestSuiteTestCaseDeletedBulkResult(UniversalBaseModel):
+ """
+ The result of a bulk operation that deleted a Test Case.
+ """
+
+ id: str = pydantic.Field()
+ """
+ An ID that maps back to one of the initially supplied operations. Can be used to determine the result of a given operation.
+ """
+
+ type: typing.Literal["DELETED"] = "DELETED"
+ data: TestSuiteTestCaseDeletedBulkResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_test_case_deleted_bulk_result_data.py b/src/vellum/types/test_suite_test_case_deleted_bulk_result_data.py
index e3c8ce58a6..3a578e02e1 100644
--- a/src/vellum/types/test_suite_test_case_deleted_bulk_result_data.py
+++ b/src/vellum/types/test_suite_test_case_deleted_bulk_result_data.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_deleted_bulk_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteTestCaseDeletedBulkResultData(UniversalBaseModel):
+ """
+ Information about the Test Case that was deleted
+ """
+
+ id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_test_case_rejected_bulk_result.py b/src/vellum/types/test_suite_test_case_rejected_bulk_result.py
index daf122ce35..5d09c526f0 100644
--- a/src/vellum/types/test_suite_test_case_rejected_bulk_result.py
+++ b/src/vellum/types/test_suite_test_case_rejected_bulk_result.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_rejected_bulk_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteTestCaseRejectedBulkResult(UniversalBaseModel):
+ """
+ The result of a bulk operation that failed to operate on a Test Case.
+ """
+
+ id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ An ID that maps back to one of the initially supplied operations. Can be used to determine the result of a given operation.
+ """
+
+ type: typing.Literal["REJECTED"] = "REJECTED"
+ data: typing.Dict[str, typing.Optional[typing.Any]] = pydantic.Field()
+ """
+ Details about the error that occurred
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_test_case_replace_bulk_operation_request.py b/src/vellum/types/test_suite_test_case_replace_bulk_operation_request.py
index 479e1e00a6..ff52afbc0b 100644
--- a/src/vellum/types/test_suite_test_case_replace_bulk_operation_request.py
+++ b/src/vellum/types/test_suite_test_case_replace_bulk_operation_request.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_replace_bulk_operation_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .replace_test_suite_test_case_request import ReplaceTestSuiteTestCaseRequest
+
+
+class TestSuiteTestCaseReplaceBulkOperationRequest(UniversalBaseModel):
+ """
+ A bulk operation that represents the replacing of a Test Case.
+ """
+
+ id: str = pydantic.Field()
+ """
+ An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
+ """
+
+ type: typing.Literal["REPLACE"] = "REPLACE"
+ data: ReplaceTestSuiteTestCaseRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteTestCaseReplaceBulkOperationRequest)
diff --git a/src/vellum/types/test_suite_test_case_replaced_bulk_result.py b/src/vellum/types/test_suite_test_case_replaced_bulk_result.py
index 74eef8ba81..d0f4b9af31 100644
--- a/src/vellum/types/test_suite_test_case_replaced_bulk_result.py
+++ b/src/vellum/types/test_suite_test_case_replaced_bulk_result.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_replaced_bulk_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .test_suite_test_case_replaced_bulk_result_data import TestSuiteTestCaseReplacedBulkResultData
+
+
+class TestSuiteTestCaseReplacedBulkResult(UniversalBaseModel):
+ """
+ The result of a bulk operation that replaced a Test Case.
+ """
+
+ id: str = pydantic.Field()
+ """
+ An ID that maps back to one of the initially supplied operations. Can be used to determine the result of a given operation.
+ """
+
+ type: typing.Literal["REPLACED"] = "REPLACED"
+ data: TestSuiteTestCaseReplacedBulkResultData
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_test_case_replaced_bulk_result_data.py b/src/vellum/types/test_suite_test_case_replaced_bulk_result_data.py
index a791996854..2df1c742b5 100644
--- a/src/vellum/types/test_suite_test_case_replaced_bulk_result_data.py
+++ b/src/vellum/types/test_suite_test_case_replaced_bulk_result_data.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_replaced_bulk_result_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TestSuiteTestCaseReplacedBulkResultData(UniversalBaseModel):
+ """
+ Information about the Test Case that was replaced
+ """
+
+ id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/test_suite_test_case_upsert_bulk_operation_request.py b/src/vellum/types/test_suite_test_case_upsert_bulk_operation_request.py
index 127e11d186..3db69dae4b 100644
--- a/src/vellum/types/test_suite_test_case_upsert_bulk_operation_request.py
+++ b/src/vellum/types/test_suite_test_case_upsert_bulk_operation_request.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.test_suite_test_case_upsert_bulk_operation_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .upsert_test_suite_test_case_request import UpsertTestSuiteTestCaseRequest
+
+
+class TestSuiteTestCaseUpsertBulkOperationRequest(UniversalBaseModel):
+ """
+ A bulk operation that represents the upserting of a Test Case.
+ """
+
+ id: str = pydantic.Field()
+ """
+ An ID representing this specific operation. Can later be used to look up information about the operation's success in the response.
+ """
+
+ type: typing.Literal["UPSERT"] = "UPSERT"
+ data: UpsertTestSuiteTestCaseRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(TestSuiteTestCaseUpsertBulkOperationRequest)
diff --git a/src/vellum/types/thinking_vellum_value.py b/src/vellum/types/thinking_vellum_value.py
index 9efe5f39db..e96f4277c4 100644
--- a/src/vellum/types/thinking_vellum_value.py
+++ b/src/vellum/types/thinking_vellum_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.thinking_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .string_vellum_value import StringVellumValue
+
+
+class ThinkingVellumValue(UniversalBaseModel):
+ """
+ A value representing Thinking mode output.
+ """
+
+ type: typing.Literal["THINKING"] = "THINKING"
+ value: typing.Optional[StringVellumValue] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/thinking_vellum_value_request.py b/src/vellum/types/thinking_vellum_value_request.py
index 112638d869..f5f33ceb9f 100644
--- a/src/vellum/types/thinking_vellum_value_request.py
+++ b/src/vellum/types/thinking_vellum_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.thinking_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .string_vellum_value_request import StringVellumValueRequest
+
+
+class ThinkingVellumValueRequest(UniversalBaseModel):
+ """
+ A value representing Thinking mode output.
+ """
+
+ type: typing.Literal["THINKING"] = "THINKING"
+ value: typing.Optional[StringVellumValueRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/token_overlapping_window_chunker_config.py b/src/vellum/types/token_overlapping_window_chunker_config.py
index e1b751088e..1e54ceed8f 100644
--- a/src/vellum/types/token_overlapping_window_chunker_config.py
+++ b/src/vellum/types/token_overlapping_window_chunker_config.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.token_overlapping_window_chunker_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TokenOverlappingWindowChunkerConfig(UniversalBaseModel):
+ """
+ Configuration for token overlapping window chunking
+ """
+
+ token_limit: typing.Optional[int] = None
+ overlap_ratio: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/token_overlapping_window_chunker_config_request.py b/src/vellum/types/token_overlapping_window_chunker_config_request.py
index 0d756515ee..7e1f161602 100644
--- a/src/vellum/types/token_overlapping_window_chunker_config_request.py
+++ b/src/vellum/types/token_overlapping_window_chunker_config_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.token_overlapping_window_chunker_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class TokenOverlappingWindowChunkerConfigRequest(UniversalBaseModel):
+ """
+ Configuration for token overlapping window chunking
+ """
+
+ token_limit: typing.Optional[int] = None
+ overlap_ratio: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/token_overlapping_window_chunking.py b/src/vellum/types/token_overlapping_window_chunking.py
index cbf72a7ab5..7f71298f27 100644
--- a/src/vellum/types/token_overlapping_window_chunking.py
+++ b/src/vellum/types/token_overlapping_window_chunking.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.token_overlapping_window_chunking import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .token_overlapping_window_chunker_config import TokenOverlappingWindowChunkerConfig
+
+
+class TokenOverlappingWindowChunking(UniversalBaseModel):
+ """
+ Token overlapping window chunking
+ """
+
+ chunker_name: typing.Literal["token-overlapping-window-chunker"] = "token-overlapping-window-chunker"
+ chunker_config: typing.Optional[TokenOverlappingWindowChunkerConfig] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/token_overlapping_window_chunking_request.py b/src/vellum/types/token_overlapping_window_chunking_request.py
index 306e1736d8..2c12f699b0 100644
--- a/src/vellum/types/token_overlapping_window_chunking_request.py
+++ b/src/vellum/types/token_overlapping_window_chunking_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.token_overlapping_window_chunking_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .token_overlapping_window_chunker_config_request import TokenOverlappingWindowChunkerConfigRequest
+
+
+class TokenOverlappingWindowChunkingRequest(UniversalBaseModel):
+ """
+ Token overlapping window chunking
+ """
+
+ chunker_name: typing.Literal["token-overlapping-window-chunker"] = "token-overlapping-window-chunker"
+ chunker_config: typing.Optional[TokenOverlappingWindowChunkerConfigRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/unit_enum.py b/src/vellum/types/unit_enum.py
index 47834e2f4d..cf1e8005e6 100644
--- a/src/vellum/types/unit_enum.py
+++ b/src/vellum/types/unit_enum.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.unit_enum import *
+import typing
+
+UnitEnum = typing.Literal["USD"]
diff --git a/src/vellum/types/update_active_workspace_response.py b/src/vellum/types/update_active_workspace_response.py
index 04bd616f25..ec4a692941 100644
--- a/src/vellum/types/update_active_workspace_response.py
+++ b/src/vellum/types/update_active_workspace_response.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.update_active_workspace_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class UpdateActiveWorkspaceResponse(UniversalBaseModel):
+ update_active_workspace_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The id of the workspace that the user should update to, or null if no workspace change needed.
+ """
+
+ update_active_environment_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The id of the environment that the user should update to, or null if no environment change needed.
+ """
+
+ is_staff: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ Whether or not the user is a staff member of Vellum.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/upload_document_response.py b/src/vellum/types/upload_document_response.py
index b054493f32..98917d3bff 100644
--- a/src/vellum/types/upload_document_response.py
+++ b/src/vellum/types/upload_document_response.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.upload_document_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class UploadDocumentResponse(UniversalBaseModel):
+ document_id: str = pydantic.Field()
+ """
+ The ID of the newly created document.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/client/types/function_call.py b/src/vellum/types/uploaded_file_read.py
similarity index 68%
rename from src/vellum/client/types/function_call.py
rename to src/vellum/types/uploaded_file_read.py
index 4e0defa296..1429a79203 100644
--- a/src/vellum/client/types/function_call.py
+++ b/src/vellum/types/uploaded_file_read.py
@@ -6,14 +6,16 @@
from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
-class FunctionCall(UniversalBaseModel):
+class UploadedFileRead(UniversalBaseModel):
"""
- The final resolved function call value.
+ Represents a file that has been uploaded to a Vellum Workspace.
"""
- arguments: typing.Dict[str, typing.Optional[typing.Any]]
id: typing.Optional[str] = None
- name: str
+ file_url: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A signed URL to download the uploaded file.
+ """
if IS_PYDANTIC_V2:
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
diff --git a/src/vellum/types/upsert_test_suite_test_case_request.py b/src/vellum/types/upsert_test_suite_test_case_request.py
index 5edd18c57e..2254b28f6b 100644
--- a/src/vellum/types/upsert_test_suite_test_case_request.py
+++ b/src/vellum/types/upsert_test_suite_test_case_request.py
@@ -1,3 +1,50 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.upsert_test_suite_test_case_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
+
+
+class UpsertTestSuiteTestCaseRequest(UniversalBaseModel):
+ id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The Vellum-generated ID of an existing Test Case whose data you'd like to replace. If specified and no Test Case exists with this ID, a 404 will be returned.
+ """
+
+ external_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ An ID external to Vellum that uniquely identifies the Test Case that you'd like to create/update. If there's a match on a Test Case that was previously created with the same external_id, it will be updated. Otherwise, a new Test Case will be created with this value as its external_id. If no external_id is specified, then a new Test Case will always be created.
+ """
+
+ label: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A human-readable label used to convey the intention of this Test Case
+ """
+
+ input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
+ """
+ Values for each of the Test Case's input variables
+ """
+
+ evaluation_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic.Field()
+ """
+ Values for each of the Test Case's evaluation variables
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(UpsertTestSuiteTestCaseRequest)
diff --git a/src/vellum/types/variable_prompt_block.py b/src/vellum/types/variable_prompt_block.py
index 38a144e580..3ffe8bbe83 100644
--- a/src/vellum/types/variable_prompt_block.py
+++ b/src/vellum/types/variable_prompt_block.py
@@ -1,3 +1,28 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.variable_prompt_block import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+
+
+class VariablePromptBlock(UniversalBaseModel):
+ """
+ A block that represents a variable in a prompt template.
+ """
+
+ block_type: typing.Literal["VARIABLE"] = "VARIABLE"
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ input_variable: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_audio.py b/src/vellum/types/vellum_audio.py
index 4c15cdf21a..afb0bf3cec 100644
--- a/src/vellum/types/vellum_audio.py
+++ b/src/vellum/types/vellum_audio.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_audio import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumAudio(UniversalBaseModel):
+ src: str = pydantic.Field()
+ """
+ A valid data URL containing the audio data.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_audio_request.py b/src/vellum/types/vellum_audio_request.py
index 7b81d79947..8564faa9ab 100644
--- a/src/vellum/types/vellum_audio_request.py
+++ b/src/vellum/types/vellum_audio_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_audio_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumAudioRequest(UniversalBaseModel):
+ src: str = pydantic.Field()
+ """
+ A valid data URL containing the audio data.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_code_resource_definition.py b/src/vellum/types/vellum_code_resource_definition.py
index 8cec855fd1..1cad71da35 100644
--- a/src/vellum/types/vellum_code_resource_definition.py
+++ b/src/vellum/types/vellum_code_resource_definition.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_code_resource_definition import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumCodeResourceDefinition(UniversalBaseModel):
+ name: str
+ module: typing.List[str] = pydantic.Field()
+ """
+ The module that this resource is defined in.
+ """
+
+ id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_document.py b/src/vellum/types/vellum_document.py
index 3ebeee6abe..f75b720ef4 100644
--- a/src/vellum/types/vellum_document.py
+++ b/src/vellum/types/vellum_document.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_document import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumDocument(UniversalBaseModel):
+ src: str = pydantic.Field()
+ """
+ A valid data URL containing the document data.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_document_request.py b/src/vellum/types/vellum_document_request.py
index 58a5e04983..67d5238bfa 100644
--- a/src/vellum/types/vellum_document_request.py
+++ b/src/vellum/types/vellum_document_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_document_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumDocumentRequest(UniversalBaseModel):
+ src: str = pydantic.Field()
+ """
+ A valid data URL containing the document data.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_error.py b/src/vellum/types/vellum_error.py
index 240d298395..b0e39c0c02 100644
--- a/src/vellum/types/vellum_error.py
+++ b/src/vellum/types/vellum_error.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_error import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error_code_enum import VellumErrorCodeEnum
+
+
+class VellumError(UniversalBaseModel):
+ code: VellumErrorCodeEnum
+ message: str
+ raw_data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_error_code_enum.py b/src/vellum/types/vellum_error_code_enum.py
index aa47faaf19..1c56b9102a 100644
--- a/src/vellum/types/vellum_error_code_enum.py
+++ b/src/vellum/types/vellum_error_code_enum.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_error_code_enum import *
+import typing
+
+VellumErrorCodeEnum = typing.Union[
+ typing.Literal[
+ "INVALID_REQUEST",
+ "INVALID_INPUTS",
+ "PROVIDER_ERROR",
+ "PROVIDER_CREDENTIALS_UNAVAILABLE",
+ "INTEGRATION_CREDENTIALS_UNAVAILABLE",
+ "REQUEST_TIMEOUT",
+ "INTERNAL_SERVER_ERROR",
+ "USER_DEFINED_ERROR",
+ "WORKFLOW_CANCELLED",
+ "NODE_CANCELLED",
+ "PROVIDER_QUOTA_EXCEEDED",
+ "CHAT_QUOTA_EXCEEDED",
+ ],
+ typing.Any,
+]
diff --git a/src/vellum/types/vellum_error_request.py b/src/vellum/types/vellum_error_request.py
index 0b4cc00a89..7aac1d534e 100644
--- a/src/vellum/types/vellum_error_request.py
+++ b/src/vellum/types/vellum_error_request.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_error_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error_code_enum import VellumErrorCodeEnum
+
+
+class VellumErrorRequest(UniversalBaseModel):
+ code: VellumErrorCodeEnum
+ message: str
+ raw_data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_image.py b/src/vellum/types/vellum_image.py
index e5a9f2b8b9..b891ba3454 100644
--- a/src/vellum/types/vellum_image.py
+++ b/src/vellum/types/vellum_image.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_image import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumImage(UniversalBaseModel):
+ src: str = pydantic.Field()
+ """
+ A valid data URL containing the image data.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_image_request.py b/src/vellum/types/vellum_image_request.py
index deed1c1ae0..7e3b4025e0 100644
--- a/src/vellum/types/vellum_image_request.py
+++ b/src/vellum/types/vellum_image_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_image_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumImageRequest(UniversalBaseModel):
+ src: str = pydantic.Field()
+ """
+ A valid data URL containing the image data.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_node_execution_event.py b/src/vellum/types/vellum_node_execution_event.py
index e109003267..86efc9c771 100644
--- a/src/vellum/types/vellum_node_execution_event.py
+++ b/src/vellum/types/vellum_node_execution_event.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_node_execution_event import *
+import typing
+
+from .node_execution_fulfilled_event import NodeExecutionFulfilledEvent
+from .node_execution_initiated_event import NodeExecutionInitiatedEvent
+from .node_execution_paused_event import NodeExecutionPausedEvent
+from .node_execution_rejected_event import NodeExecutionRejectedEvent
+from .node_execution_resumed_event import NodeExecutionResumedEvent
+from .node_execution_streaming_event import NodeExecutionStreamingEvent
+
+VellumNodeExecutionEvent = typing.Union[
+ NodeExecutionInitiatedEvent,
+ NodeExecutionStreamingEvent,
+ NodeExecutionFulfilledEvent,
+ NodeExecutionRejectedEvent,
+ NodeExecutionPausedEvent,
+ NodeExecutionResumedEvent,
+]
diff --git a/src/vellum/types/vellum_sdk_error.py b/src/vellum/types/vellum_sdk_error.py
index b7b29b80bb..a3ecf9dd57 100644
--- a/src/vellum/types/vellum_sdk_error.py
+++ b/src/vellum/types/vellum_sdk_error.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_sdk_error import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_sdk_error_code_enum import VellumSdkErrorCodeEnum
+
+
+class VellumSdkError(UniversalBaseModel):
+ message: str
+ code: VellumSdkErrorCodeEnum
+ raw_data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_sdk_error_code_enum.py b/src/vellum/types/vellum_sdk_error_code_enum.py
index 4fec684f6b..d49bd26461 100644
--- a/src/vellum/types/vellum_sdk_error_code_enum.py
+++ b/src/vellum/types/vellum_sdk_error_code_enum.py
@@ -1,3 +1,26 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_sdk_error_code_enum import *
+import typing
+
+VellumSdkErrorCodeEnum = typing.Union[
+ typing.Literal[
+ "INVALID_WORKFLOW",
+ "INVALID_INPUTS",
+ "INVALID_OUTPUTS",
+ "INVALID_STATE",
+ "INVALID_CODE",
+ "INVALID_TEMPLATE",
+ "INTERNAL_ERROR",
+ "PROVIDER_CREDENTIALS_UNAVAILABLE",
+ "INTEGRATION_CREDENTIALS_UNAVAILABLE",
+ "PROVIDER_ERROR",
+ "PROVIDER_QUOTA_EXCEEDED",
+ "USER_DEFINED_ERROR",
+ "WORKFLOW_CANCELLED",
+ "WORKFLOW_TIMEOUT",
+ "NODE_CANCELLED",
+ "NODE_TIMEOUT",
+ "NODE_EXECUTION",
+ ],
+ typing.Any,
+]
diff --git a/src/vellum/types/vellum_secret.py b/src/vellum/types/vellum_secret.py
index d91a9f8fc7..21622fa1b3 100644
--- a/src/vellum/types/vellum_secret.py
+++ b/src/vellum/types/vellum_secret.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_secret import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumSecret(UniversalBaseModel):
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_span.py b/src/vellum/types/vellum_span.py
index 98dc6a15ff..f98393dfff 100644
--- a/src/vellum/types/vellum_span.py
+++ b/src/vellum/types/vellum_span.py
@@ -1,3 +1,8 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_span import *
+import typing
+
+from .node_execution_span import NodeExecutionSpan
+from .workflow_execution_span import WorkflowExecutionSpan
+
+VellumSpan = typing.Union[WorkflowExecutionSpan, NodeExecutionSpan]
diff --git a/src/vellum/types/vellum_value.py b/src/vellum/types/vellum_value.py
index ddb61637bb..3dc45b50fd 100644
--- a/src/vellum/types/vellum_value.py
+++ b/src/vellum/types/vellum_value.py
@@ -1,3 +1,36 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_value import *
+from __future__ import annotations
+
+import typing
+
+from .audio_vellum_value import AudioVellumValue
+from .chat_history_vellum_value import ChatHistoryVellumValue
+from .document_vellum_value import DocumentVellumValue
+from .error_vellum_value import ErrorVellumValue
+from .function_call_vellum_value import FunctionCallVellumValue
+from .image_vellum_value import ImageVellumValue
+from .json_vellum_value import JsonVellumValue
+from .number_vellum_value import NumberVellumValue
+from .search_results_vellum_value import SearchResultsVellumValue
+from .string_vellum_value import StringVellumValue
+from .thinking_vellum_value import ThinkingVellumValue
+from .video_vellum_value import VideoVellumValue
+
+if typing.TYPE_CHECKING:
+ from .array_vellum_value import ArrayVellumValue
+VellumValue = typing.Union[
+ StringVellumValue,
+ NumberVellumValue,
+ JsonVellumValue,
+ AudioVellumValue,
+ VideoVellumValue,
+ ImageVellumValue,
+ DocumentVellumValue,
+ FunctionCallVellumValue,
+ ErrorVellumValue,
+ "ArrayVellumValue",
+ ChatHistoryVellumValue,
+ SearchResultsVellumValue,
+ ThinkingVellumValue,
+]
diff --git a/src/vellum/types/vellum_value_logical_condition_group_request.py b/src/vellum/types/vellum_value_logical_condition_group_request.py
index 8bb15db5d9..62ee55619d 100644
--- a/src/vellum/types/vellum_value_logical_condition_group_request.py
+++ b/src/vellum/types/vellum_value_logical_condition_group_request.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_value_logical_condition_group_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .condition_combinator import ConditionCombinator
+
+
+class VellumValueLogicalConditionGroupRequest(UniversalBaseModel):
+ """
+ A higher-order condition that combines one or more basic conditions or other higher-order conditions.
+ """
+
+ type: typing.Literal["LOGICAL_CONDITION_GROUP"] = "LOGICAL_CONDITION_GROUP"
+ conditions: typing.List["VellumValueLogicalExpressionRequest"]
+ combinator: ConditionCombinator
+ negated: bool
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+from .vellum_value_logical_expression_request import VellumValueLogicalExpressionRequest # noqa: E402, F401, I001
+
+update_forward_refs(VellumValueLogicalConditionGroupRequest)
diff --git a/src/vellum/types/vellum_value_logical_condition_request.py b/src/vellum/types/vellum_value_logical_condition_request.py
index c8c57e0f17..a06562dfc9 100644
--- a/src/vellum/types/vellum_value_logical_condition_request.py
+++ b/src/vellum/types/vellum_value_logical_condition_request.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_value_logical_condition_request import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .logical_operator import LogicalOperator
+
+
+class VellumValueLogicalConditionRequest(UniversalBaseModel):
+ """
+ A basic condition comparing two Vellum values.
+ """
+
+ type: typing.Literal["LOGICAL_CONDITION"] = "LOGICAL_CONDITION"
+ lhs_variable: "VellumValueRequest"
+ operator: LogicalOperator
+ rhs_variable: "VellumValueRequest"
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value_request import ArrayVellumValueRequest # noqa: E402, F401, I001
+from .vellum_value_request import VellumValueRequest # noqa: E402, F401, I001
+
+update_forward_refs(VellumValueLogicalConditionRequest)
diff --git a/src/vellum/types/vellum_value_logical_expression_request.py b/src/vellum/types/vellum_value_logical_expression_request.py
index 524a4340ef..6cf718bea7 100644
--- a/src/vellum/types/vellum_value_logical_expression_request.py
+++ b/src/vellum/types/vellum_value_logical_expression_request.py
@@ -1,3 +1,13 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_value_logical_expression_request import *
+from __future__ import annotations
+
+import typing
+
+from .vellum_value_logical_condition_request import VellumValueLogicalConditionRequest
+
+if typing.TYPE_CHECKING:
+ from .vellum_value_logical_condition_group_request import VellumValueLogicalConditionGroupRequest
+VellumValueLogicalExpressionRequest = typing.Union[
+ VellumValueLogicalConditionRequest, "VellumValueLogicalConditionGroupRequest"
+]
diff --git a/src/vellum/types/vellum_value_request.py b/src/vellum/types/vellum_value_request.py
index c5032573e1..884c53da56 100644
--- a/src/vellum/types/vellum_value_request.py
+++ b/src/vellum/types/vellum_value_request.py
@@ -1,3 +1,36 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_value_request import *
+from __future__ import annotations
+
+import typing
+
+from .audio_vellum_value_request import AudioVellumValueRequest
+from .chat_history_vellum_value_request import ChatHistoryVellumValueRequest
+from .document_vellum_value_request import DocumentVellumValueRequest
+from .error_vellum_value_request import ErrorVellumValueRequest
+from .function_call_vellum_value_request import FunctionCallVellumValueRequest
+from .image_vellum_value_request import ImageVellumValueRequest
+from .json_vellum_value_request import JsonVellumValueRequest
+from .number_vellum_value_request import NumberVellumValueRequest
+from .search_results_vellum_value_request import SearchResultsVellumValueRequest
+from .string_vellum_value_request import StringVellumValueRequest
+from .thinking_vellum_value_request import ThinkingVellumValueRequest
+from .video_vellum_value_request import VideoVellumValueRequest
+
+if typing.TYPE_CHECKING:
+ from .array_vellum_value_request import ArrayVellumValueRequest
+VellumValueRequest = typing.Union[
+ StringVellumValueRequest,
+ NumberVellumValueRequest,
+ JsonVellumValueRequest,
+ AudioVellumValueRequest,
+ VideoVellumValueRequest,
+ ImageVellumValueRequest,
+ DocumentVellumValueRequest,
+ FunctionCallVellumValueRequest,
+ ErrorVellumValueRequest,
+ "ArrayVellumValueRequest",
+ ChatHistoryVellumValueRequest,
+ SearchResultsVellumValueRequest,
+ ThinkingVellumValueRequest,
+]
diff --git a/src/vellum/types/vellum_variable.py b/src/vellum/types/vellum_variable.py
index fd2f9bf81d..e8bd8f57b7 100644
--- a/src/vellum/types/vellum_variable.py
+++ b/src/vellum/types/vellum_variable.py
@@ -1,3 +1,34 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_variable import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .vellum_variable_extensions import VellumVariableExtensions
+from .vellum_variable_type import VellumVariableType
+
+
+class VellumVariable(UniversalBaseModel):
+ id: str
+ key: str
+ type: VellumVariableType
+ required: typing.Optional[bool] = None
+ default: typing.Optional["VellumValue"] = None
+ extensions: typing.Optional[VellumVariableExtensions] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(VellumVariable)
diff --git a/src/vellum/types/vellum_variable_extensions.py b/src/vellum/types/vellum_variable_extensions.py
index af75412db3..07168e235d 100644
--- a/src/vellum/types/vellum_variable_extensions.py
+++ b/src/vellum/types/vellum_variable_extensions.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_variable_extensions import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumVariableExtensions(UniversalBaseModel):
+ """
+ A set of fields with additional properties for use in Vellum Variables.
+ """
+
+ color: typing.Optional[str] = None
+ description: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_variable_type.py b/src/vellum/types/vellum_variable_type.py
index e451f0c35d..6f88b197c6 100644
--- a/src/vellum/types/vellum_variable_type.py
+++ b/src/vellum/types/vellum_variable_type.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_variable_type import *
+import typing
+
+VellumVariableType = typing.Union[
+ typing.Literal[
+ "STRING",
+ "NUMBER",
+ "JSON",
+ "CHAT_HISTORY",
+ "SEARCH_RESULTS",
+ "ERROR",
+ "ARRAY",
+ "FUNCTION_CALL",
+ "AUDIO",
+ "VIDEO",
+ "IMAGE",
+ "DOCUMENT",
+ "NULL",
+ "THINKING",
+ ],
+ typing.Any,
+]
diff --git a/src/vellum/types/vellum_video.py b/src/vellum/types/vellum_video.py
index cb51f6da26..3c41a059ca 100644
--- a/src/vellum/types/vellum_video.py
+++ b/src/vellum/types/vellum_video.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_video import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumVideo(UniversalBaseModel):
+ src: str = pydantic.Field()
+ """
+ A valid data URL containing the video data.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_video_request.py b/src/vellum/types/vellum_video_request.py
index 99e660351b..368554fc25 100644
--- a/src/vellum/types/vellum_video_request.py
+++ b/src/vellum/types/vellum_video_request.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_video_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class VellumVideoRequest(UniversalBaseModel):
+ src: str = pydantic.Field()
+ """
+ A valid data URL containing the video data.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/vellum_workflow_execution_event.py b/src/vellum/types/vellum_workflow_execution_event.py
index f3980ab142..9d738e6012 100644
--- a/src/vellum/types/vellum_workflow_execution_event.py
+++ b/src/vellum/types/vellum_workflow_execution_event.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.vellum_workflow_execution_event import *
+import typing
+
+from .workflow_execution_fulfilled_event import WorkflowExecutionFulfilledEvent
+from .workflow_execution_initiated_event import WorkflowExecutionInitiatedEvent
+from .workflow_execution_paused_event import WorkflowExecutionPausedEvent
+from .workflow_execution_rejected_event import WorkflowExecutionRejectedEvent
+from .workflow_execution_resumed_event import WorkflowExecutionResumedEvent
+from .workflow_execution_snapshotted_event import WorkflowExecutionSnapshottedEvent
+from .workflow_execution_streaming_event import WorkflowExecutionStreamingEvent
+
+VellumWorkflowExecutionEvent = typing.Union[
+ WorkflowExecutionInitiatedEvent,
+ WorkflowExecutionStreamingEvent,
+ WorkflowExecutionFulfilledEvent,
+ WorkflowExecutionRejectedEvent,
+ WorkflowExecutionPausedEvent,
+ WorkflowExecutionResumedEvent,
+ WorkflowExecutionSnapshottedEvent,
+]
diff --git a/src/vellum/types/video_chat_message_content.py b/src/vellum/types/video_chat_message_content.py
index af43801a10..515cac340c 100644
--- a/src/vellum/types/video_chat_message_content.py
+++ b/src/vellum/types/video_chat_message_content.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.video_chat_message_content import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video import VellumVideo
+
+
+class VideoChatMessageContent(UniversalBaseModel):
+ """
+ A video value that is used in a chat message.
+ """
+
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: VellumVideo
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/video_chat_message_content_request.py b/src/vellum/types/video_chat_message_content_request.py
index d27278c421..5c9ade695c 100644
--- a/src/vellum/types/video_chat_message_content_request.py
+++ b/src/vellum/types/video_chat_message_content_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.video_chat_message_content_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video_request import VellumVideoRequest
+
+
+class VideoChatMessageContentRequest(UniversalBaseModel):
+ """
+ A video value that is used in a chat message.
+ """
+
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: VellumVideoRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/video_input.py b/src/vellum/types/video_input.py
index 7c9e4f816a..294275e079 100644
--- a/src/vellum/types/video_input.py
+++ b/src/vellum/types/video_input.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.video_input import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video import VellumVideo
+
+
+class VideoInput(UniversalBaseModel):
+ """
+ A user input representing a Vellum Video value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: VellumVideo
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/video_input_request.py b/src/vellum/types/video_input_request.py
index cdfd741b47..dfa31f4cb1 100644
--- a/src/vellum/types/video_input_request.py
+++ b/src/vellum/types/video_input_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.video_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video_request import VellumVideoRequest
+
+
+class VideoInputRequest(UniversalBaseModel):
+ """
+ A user input representing a Vellum Video value
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name
+ """
+
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: VellumVideoRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/video_prompt_block.py b/src/vellum/types/video_prompt_block.py
index ef8e13aaf3..9a62c8c98b 100644
--- a/src/vellum/types/video_prompt_block.py
+++ b/src/vellum/types/video_prompt_block.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.video_prompt_block import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ephemeral_prompt_cache_config import EphemeralPromptCacheConfig
+from .prompt_block_state import PromptBlockState
+
+
+class VideoPromptBlock(UniversalBaseModel):
+ """
+ A block that represents an video file in a prompt template.
+ """
+
+ block_type: typing.Literal["VIDEO"] = "VIDEO"
+ state: typing.Optional[PromptBlockState] = None
+ cache_config: typing.Optional[EphemeralPromptCacheConfig] = None
+ src: str
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/video_vellum_value.py b/src/vellum/types/video_vellum_value.py
index 7c8d70cb62..2719b68dde 100644
--- a/src/vellum/types/video_vellum_value.py
+++ b/src/vellum/types/video_vellum_value.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.video_vellum_value import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video import VellumVideo
+
+
+class VideoVellumValue(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing a video.
+ """
+
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: typing.Optional[VellumVideo] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/video_vellum_value_request.py b/src/vellum/types/video_vellum_value_request.py
index 492b134462..7f20f903d4 100644
--- a/src/vellum/types/video_vellum_value_request.py
+++ b/src/vellum/types/video_vellum_value_request.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.video_vellum_value_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video_request import VellumVideoRequest
+
+
+class VideoVellumValueRequest(UniversalBaseModel):
+ """
+ A base Vellum primitive value representing a video.
+ """
+
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: typing.Optional[VellumVideoRequest] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_deployment_display_data.py b/src/vellum/types/workflow_deployment_display_data.py
index ee8e62b196..c787c289b6 100644
--- a/src/vellum/types/workflow_deployment_display_data.py
+++ b/src/vellum/types/workflow_deployment_display_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_deployment_display_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_display_icon import WorkflowDisplayIcon
+
+
+class WorkflowDeploymentDisplayData(UniversalBaseModel):
+ """
+ Workflow Deployment display data
+ """
+
+ icon: typing.Optional[WorkflowDisplayIcon] = pydantic.Field(default=None)
+ """
+ The icon associated with this Workflow Deployment.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_deployment_event_executions_response.py b/src/vellum/types/workflow_deployment_event_executions_response.py
index 2e74e73705..4412923e4c 100644
--- a/src/vellum/types/workflow_deployment_event_executions_response.py
+++ b/src/vellum/types/workflow_deployment_event_executions_response.py
@@ -1,3 +1,38 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_deployment_event_executions_response import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .slim_workflow_execution_read import SlimWorkflowExecutionRead
+
+
+class WorkflowDeploymentEventExecutionsResponse(UniversalBaseModel):
+ count: int
+ results: typing.List[SlimWorkflowExecutionRead]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowDeploymentEventExecutionsResponse)
diff --git a/src/vellum/types/workflow_deployment_history_item.py b/src/vellum/types/workflow_deployment_history_item.py
index 212f7103a3..d4eb0930d0 100644
--- a/src/vellum/types/workflow_deployment_history_item.py
+++ b/src/vellum/types/workflow_deployment_history_item.py
@@ -1,3 +1,46 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_deployment_history_item import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .vellum_variable import VellumVariable
+
+
+class WorkflowDeploymentHistoryItem(UniversalBaseModel):
+ id: str
+ workflow_deployment_id: str
+ timestamp: dt.datetime
+ label: str = pydantic.Field()
+ """
+ A human-readable label for the workflow deployment
+ """
+
+ name: str = pydantic.Field()
+ """
+ A name that uniquely identifies this workflow deployment within its workspace
+ """
+
+ input_variables: typing.List[VellumVariable]
+ output_variables: typing.List[VellumVariable]
+ description: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A human-readable description of the workflow deployment
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowDeploymentHistoryItem)
diff --git a/src/vellum/types/workflow_deployment_parent_context.py b/src/vellum/types/workflow_deployment_parent_context.py
index 3a3fdfcab6..33353eae51 100644
--- a/src/vellum/types/workflow_deployment_parent_context.py
+++ b/src/vellum/types/workflow_deployment_parent_context.py
@@ -1,3 +1,46 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_deployment_parent_context import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class WorkflowDeploymentParentContext(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ type: typing.Literal["WORKFLOW_RELEASE_TAG"] = "WORKFLOW_RELEASE_TAG"
+ span_id: str
+ deployment_id: str
+ deployment_name: str
+ deployment_history_item_id: str
+ release_tag_id: str
+ release_tag_name: str
+ external_id: typing.Optional[str] = None
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+ workflow_version_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowDeploymentParentContext)
diff --git a/src/vellum/types/workflow_deployment_read.py b/src/vellum/types/workflow_deployment_read.py
index fd2f458434..62a5fdb7ef 100644
--- a/src/vellum/types/workflow_deployment_read.py
+++ b/src/vellum/types/workflow_deployment_read.py
@@ -1,3 +1,84 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_deployment_read import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .entity_status import EntityStatus
+from .environment_enum import EnvironmentEnum
+from .vellum_variable import VellumVariable
+from .workflow_deployment_display_data import WorkflowDeploymentDisplayData
+
+
+class WorkflowDeploymentRead(UniversalBaseModel):
+ """
+ A Workflow Deployment's full details.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ A name that uniquely identifies this workflow deployment within its workspace
+ """
+
+ label: str = pydantic.Field()
+ """
+ A human-readable label for the workflow deployment
+ """
+
+ status: typing.Optional[EntityStatus] = pydantic.Field(default=None)
+ """
+ The current status of the workflow deployment
+
+ * `ACTIVE` - Active
+ * `ARCHIVED` - Archived
+ """
+
+ environment: typing.Optional[EnvironmentEnum] = pydantic.Field(default=None)
+ """
+ Deprecated. The value returned will always be 'PRODUCTION'.
+ """
+
+ created: dt.datetime
+ last_deployed_on: dt.datetime
+ last_deployed_history_item_id: str = pydantic.Field()
+ """
+ The ID of the history item associated with this Workflow Deployment's LATEST Release Tag
+ """
+
+ input_variables: typing.List[VellumVariable] = pydantic.Field()
+ """
+ The input variables this Workflow Deployment expects to receive values for when it is executed.
+ """
+
+ output_variables: typing.List[VellumVariable] = pydantic.Field()
+ """
+ The output variables this Workflow Deployment produces values for when it's executed.
+ """
+
+ description: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ A human-readable description of the workflow deployment
+ """
+
+ display_data: typing.Optional[WorkflowDeploymentDisplayData] = pydantic.Field(default=None)
+ """
+ Information used to display this Workflow Deployment.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowDeploymentRead)
diff --git a/src/vellum/types/workflow_deployment_release.py b/src/vellum/types/workflow_deployment_release.py
index 153f166b6c..6d5ff02fe9 100644
--- a/src/vellum/types/workflow_deployment_release.py
+++ b/src/vellum/types/workflow_deployment_release.py
@@ -1,3 +1,41 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_deployment_release import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .release_created_by import ReleaseCreatedBy
+from .release_environment import ReleaseEnvironment
+from .release_release_tag import ReleaseReleaseTag
+from .slim_release_review import SlimReleaseReview
+from .workflow_deployment_release_workflow_deployment import WorkflowDeploymentReleaseWorkflowDeployment
+from .workflow_deployment_release_workflow_version import WorkflowDeploymentReleaseWorkflowVersion
+
+
+class WorkflowDeploymentRelease(UniversalBaseModel):
+ id: str
+ created: dt.datetime
+ environment: ReleaseEnvironment
+ created_by: typing.Optional[ReleaseCreatedBy] = None
+ workflow_version: WorkflowDeploymentReleaseWorkflowVersion
+ deployment: WorkflowDeploymentReleaseWorkflowDeployment
+ description: typing.Optional[str] = None
+ release_tags: typing.List[ReleaseReleaseTag]
+ reviews: typing.List[SlimReleaseReview]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowDeploymentRelease)
diff --git a/src/vellum/types/workflow_deployment_release_workflow_deployment.py b/src/vellum/types/workflow_deployment_release_workflow_deployment.py
index 3421e74749..257d7bafb4 100644
--- a/src/vellum/types/workflow_deployment_release_workflow_deployment.py
+++ b/src/vellum/types/workflow_deployment_release_workflow_deployment.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_deployment_release_workflow_deployment import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowDeploymentReleaseWorkflowDeployment(UniversalBaseModel):
+ name: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_deployment_release_workflow_version.py b/src/vellum/types/workflow_deployment_release_workflow_version.py
index eaf7918b2b..b2f9c67e7f 100644
--- a/src/vellum/types/workflow_deployment_release_workflow_version.py
+++ b/src/vellum/types/workflow_deployment_release_workflow_version.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_deployment_release_workflow_version import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .vellum_variable import VellumVariable
+
+
+class WorkflowDeploymentReleaseWorkflowVersion(UniversalBaseModel):
+ id: str
+ input_variables: typing.List[VellumVariable]
+ output_variables: typing.List[VellumVariable]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowDeploymentReleaseWorkflowVersion)
diff --git a/src/vellum/types/workflow_display_icon.py b/src/vellum/types/workflow_display_icon.py
index 89307dc369..eabb7f471c 100644
--- a/src/vellum/types/workflow_display_icon.py
+++ b/src/vellum/types/workflow_display_icon.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_display_icon import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowDisplayIcon(UniversalBaseModel):
+ """
+ Icon to be used alongside a Workflow
+ """
+
+ src: typing.Optional[str] = None
+ color: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_error.py b/src/vellum/types/workflow_error.py
index 4da44637e2..7ae5613637 100644
--- a/src/vellum/types/workflow_error.py
+++ b/src/vellum/types/workflow_error.py
@@ -1,3 +1,8 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_error import *
+import typing
+
+from .workflow_event_error import WorkflowEventError
+from .workflow_initialization_error import WorkflowInitializationError
+
+WorkflowError = typing.Union[WorkflowEventError, WorkflowInitializationError]
diff --git a/src/vellum/types/workflow_event.py b/src/vellum/types/workflow_event.py
index bec2ece496..820bdb7e40 100644
--- a/src/vellum/types/workflow_event.py
+++ b/src/vellum/types/workflow_event.py
@@ -1,3 +1,33 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_event import *
+import typing
+
+from .node_execution_fulfilled_event import NodeExecutionFulfilledEvent
+from .node_execution_initiated_event import NodeExecutionInitiatedEvent
+from .node_execution_paused_event import NodeExecutionPausedEvent
+from .node_execution_rejected_event import NodeExecutionRejectedEvent
+from .node_execution_resumed_event import NodeExecutionResumedEvent
+from .node_execution_streaming_event import NodeExecutionStreamingEvent
+from .workflow_execution_fulfilled_event import WorkflowExecutionFulfilledEvent
+from .workflow_execution_initiated_event import WorkflowExecutionInitiatedEvent
+from .workflow_execution_paused_event import WorkflowExecutionPausedEvent
+from .workflow_execution_rejected_event import WorkflowExecutionRejectedEvent
+from .workflow_execution_resumed_event import WorkflowExecutionResumedEvent
+from .workflow_execution_snapshotted_event import WorkflowExecutionSnapshottedEvent
+from .workflow_execution_streaming_event import WorkflowExecutionStreamingEvent
+
+WorkflowEvent = typing.Union[
+ NodeExecutionInitiatedEvent,
+ NodeExecutionStreamingEvent,
+ NodeExecutionFulfilledEvent,
+ NodeExecutionRejectedEvent,
+ NodeExecutionPausedEvent,
+ NodeExecutionResumedEvent,
+ WorkflowExecutionInitiatedEvent,
+ WorkflowExecutionStreamingEvent,
+ WorkflowExecutionRejectedEvent,
+ WorkflowExecutionFulfilledEvent,
+ WorkflowExecutionPausedEvent,
+ WorkflowExecutionResumedEvent,
+ WorkflowExecutionSnapshottedEvent,
+]
diff --git a/src/vellum/types/workflow_event_error.py b/src/vellum/types/workflow_event_error.py
index fc686276c3..e21dadaf21 100644
--- a/src/vellum/types/workflow_event_error.py
+++ b/src/vellum/types/workflow_event_error.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_event_error import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_execution_event_error_code import WorkflowExecutionEventErrorCode
+
+
+class WorkflowEventError(UniversalBaseModel):
+ message: str
+ code: WorkflowExecutionEventErrorCode
+ raw_data: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+ stacktrace: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_event_execution_read.py b/src/vellum/types/workflow_event_execution_read.py
index 0ee54a15a4..de9689e418 100644
--- a/src/vellum/types/workflow_event_execution_read.py
+++ b/src/vellum/types/workflow_event_execution_read.py
@@ -1,3 +1,54 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_event_execution_read import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .execution_vellum_value import ExecutionVellumValue
+from .vellum_span import VellumSpan
+from .workflow_error import WorkflowError
+from .workflow_execution_actual import WorkflowExecutionActual
+from .workflow_execution_usage_result import WorkflowExecutionUsageResult
+from .workflow_execution_view_online_eval_metric_result import WorkflowExecutionViewOnlineEvalMetricResult
+
+
+class WorkflowEventExecutionRead(UniversalBaseModel):
+ span_id: str
+ start: dt.datetime
+ end: typing.Optional[dt.datetime] = None
+ inputs: typing.List[ExecutionVellumValue]
+ outputs: typing.List[ExecutionVellumValue]
+ error: typing.Optional[WorkflowError] = None
+ usage_results: typing.Optional[typing.List[WorkflowExecutionUsageResult]] = None
+ parent_context: typing.Optional["WorkflowDeploymentParentContext"] = None
+ latest_actual: typing.Optional[WorkflowExecutionActual] = None
+ metric_results: typing.List[WorkflowExecutionViewOnlineEvalMetricResult]
+ spans: typing.List[VellumSpan]
+ state: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowEventExecutionRead)
diff --git a/src/vellum/types/workflow_execution_actual.py b/src/vellum/types/workflow_execution_actual.py
index e62610d20d..ecfcd82e4c 100644
--- a/src/vellum/types/workflow_execution_actual.py
+++ b/src/vellum/types/workflow_execution_actual.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_actual import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .execution_vellum_value import ExecutionVellumValue
+
+
+class WorkflowExecutionActual(UniversalBaseModel):
+ output: ExecutionVellumValue
+ timestamp: dt.datetime
+ quality: typing.Optional[float] = None
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionActual)
diff --git a/src/vellum/types/workflow_execution_actual_chat_history_request.py b/src/vellum/types/workflow_execution_actual_chat_history_request.py
index 684868f946..70d0d7a829 100644
--- a/src/vellum/types/workflow_execution_actual_chat_history_request.py
+++ b/src/vellum/types/workflow_execution_actual_chat_history_request.py
@@ -1,3 +1,49 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_actual_chat_history_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message_request import ChatMessageRequest
+
+
+class WorkflowExecutionActualChatHistoryRequest(UniversalBaseModel):
+ output_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The Vellum-generated ID of a workflow output. Must provide either this or output_key. output_key is typically preferred.
+ """
+
+ output_key: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The user-defined name of a workflow output. Must provide either this or output_id. Should correspond to the `Name` specified in a Final Output Node. Generally preferred over output_id.
+ """
+
+ quality: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ Optionally provide a decimal number between 0.0 and 1.0 (inclusive) representing the quality of the output. 0 is the worst, 1 is the best.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ Optionally provide additional metadata about the feedback submission.
+ """
+
+ timestamp: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ Optionally provide the timestamp representing when this feedback was collected. Used for reporting purposes.
+ """
+
+ output_type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ desired_output_value: typing.Optional[typing.List[ChatMessageRequest]] = pydantic.Field(default=None)
+ """
+ Optionally provide the value that the output ideally should have been.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_actual_json_request.py b/src/vellum/types/workflow_execution_actual_json_request.py
index e4546f15c7..a93d064a2e 100644
--- a/src/vellum/types/workflow_execution_actual_json_request.py
+++ b/src/vellum/types/workflow_execution_actual_json_request.py
@@ -1,3 +1,48 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_actual_json_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowExecutionActualJsonRequest(UniversalBaseModel):
+ output_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The Vellum-generated ID of a workflow output. Must provide either this or output_key. output_key is typically preferred.
+ """
+
+ output_key: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The user-defined name of a workflow output. Must provide either this or output_id. Should correspond to the `Name` specified in a Final Output Node. Generally preferred over output_id.
+ """
+
+ quality: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ Optionally provide a decimal number between 0.0 and 1.0 (inclusive) representing the quality of the output. 0 is the worst, 1 is the best.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ Optionally provide additional metadata about the feedback submission.
+ """
+
+ timestamp: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ Optionally provide the timestamp representing when this feedback was collected. Used for reporting purposes.
+ """
+
+ output_type: typing.Literal["JSON"] = "JSON"
+ desired_output_value: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ Optionally provide the value that the output ideally should have been.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_actual_string_request.py b/src/vellum/types/workflow_execution_actual_string_request.py
index 045c4c09c2..471c1e79f9 100644
--- a/src/vellum/types/workflow_execution_actual_string_request.py
+++ b/src/vellum/types/workflow_execution_actual_string_request.py
@@ -1,3 +1,48 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_actual_string_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowExecutionActualStringRequest(UniversalBaseModel):
+ output_id: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The Vellum-generated ID of a workflow output. Must provide either this or output_key. output_key is typically preferred.
+ """
+
+ output_key: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The user-defined name of a workflow output. Must provide either this or output_id. Should correspond to the `Name` specified in a Final Output Node. Generally preferred over output_id.
+ """
+
+ quality: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ Optionally provide a decimal number between 0.0 and 1.0 (inclusive) representing the quality of the output. 0 is the worst, 1 is the best.
+ """
+
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
+ """
+ Optionally provide additional metadata about the feedback submission.
+ """
+
+ timestamp: typing.Optional[float] = pydantic.Field(default=None)
+ """
+ Optionally provide the timestamp representing when this feedback was collected. Used for reporting purposes.
+ """
+
+ output_type: typing.Literal["STRING"] = "STRING"
+ desired_output_value: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ Optionally provide the value that the output ideally should have been.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_detail.py b/src/vellum/types/workflow_execution_detail.py
index 4074e13caf..c6cc3d910f 100644
--- a/src/vellum/types/workflow_execution_detail.py
+++ b/src/vellum/types/workflow_execution_detail.py
@@ -1,3 +1,51 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_detail import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .execution_vellum_value import ExecutionVellumValue
+from .vellum_span import VellumSpan
+from .workflow_error import WorkflowError
+from .workflow_execution_usage_result import WorkflowExecutionUsageResult
+
+
+class WorkflowExecutionDetail(UniversalBaseModel):
+ span_id: str
+ parent_context: typing.Optional["ParentContext"] = None
+ start: dt.datetime
+ end: typing.Optional[dt.datetime] = None
+ inputs: typing.List[ExecutionVellumValue]
+ outputs: typing.List[ExecutionVellumValue]
+ error: typing.Optional[WorkflowError] = None
+ usage_results: typing.Optional[typing.List[WorkflowExecutionUsageResult]] = None
+ spans: typing.List[VellumSpan]
+ state: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionDetail)
diff --git a/src/vellum/types/workflow_execution_event_error_code.py b/src/vellum/types/workflow_execution_event_error_code.py
index 36f0c85c44..83a0d36f18 100644
--- a/src/vellum/types/workflow_execution_event_error_code.py
+++ b/src/vellum/types/workflow_execution_event_error_code.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_event_error_code import *
+import typing
+
+WorkflowExecutionEventErrorCode = typing.Union[
+ typing.Literal[
+ "WORKFLOW_INITIALIZATION",
+ "WORKFLOW_CANCELLED",
+ "WORKFLOW_TIMEOUT",
+ "PROVIDER_CREDENTIALS_UNAVAILABLE",
+ "INTEGRATION_CREDENTIALS_UNAVAILABLE",
+ "NODE_EXECUTION_COUNT_LIMIT_REACHED",
+ "INTERNAL_SERVER_ERROR",
+ "NODE_EXECUTION",
+ "NODE_CANCELLED",
+ "NODE_TIMEOUT",
+ "LLM_PROVIDER",
+ "INVALID_TEMPLATE",
+ "INVALID_INPUTS",
+ "PROVIDER_QUOTA_EXCEEDED",
+ "USER_DEFINED_ERROR",
+ ],
+ typing.Any,
+]
diff --git a/src/vellum/types/workflow_execution_event_type.py b/src/vellum/types/workflow_execution_event_type.py
index 600f3e7245..3b0bc50c84 100644
--- a/src/vellum/types/workflow_execution_event_type.py
+++ b/src/vellum/types/workflow_execution_event_type.py
@@ -1,3 +1,5 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_event_type import *
+import typing
+
+WorkflowExecutionEventType = typing.Union[typing.Literal["NODE", "WORKFLOW"], typing.Any]
diff --git a/src/vellum/types/workflow_execution_fulfilled_body.py b/src/vellum/types/workflow_execution_fulfilled_body.py
index 561d599b89..4be75f6170 100644
--- a/src/vellum/types/workflow_execution_fulfilled_body.py
+++ b/src/vellum/types/workflow_execution_fulfilled_body.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_fulfilled_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class WorkflowExecutionFulfilledBody(UniversalBaseModel):
+ workflow_definition: VellumCodeResourceDefinition
+ outputs: typing.Dict[str, typing.Optional[typing.Any]]
+ final_state: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+ server_metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_fulfilled_event.py b/src/vellum/types/workflow_execution_fulfilled_event.py
index 374f4f6ce1..752e7b4c1a 100644
--- a/src/vellum/types/workflow_execution_fulfilled_event.py
+++ b/src/vellum/types/workflow_execution_fulfilled_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_fulfilled_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .workflow_execution_fulfilled_body import WorkflowExecutionFulfilledBody
+
+
+class WorkflowExecutionFulfilledEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["workflow.execution.fulfilled"] = "workflow.execution.fulfilled"
+ body: WorkflowExecutionFulfilledBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionFulfilledEvent)
diff --git a/src/vellum/types/workflow_execution_initiated_body.py b/src/vellum/types/workflow_execution_initiated_body.py
index 7a2ac4d74b..3f794ef796 100644
--- a/src/vellum/types/workflow_execution_initiated_body.py
+++ b/src/vellum/types/workflow_execution_initiated_body.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_initiated_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class WorkflowExecutionInitiatedBody(UniversalBaseModel):
+ workflow_definition: VellumCodeResourceDefinition
+ inputs: typing.Dict[str, typing.Optional[typing.Any]]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_initiated_event.py b/src/vellum/types/workflow_execution_initiated_event.py
index 2197806a2a..ff228c12ba 100644
--- a/src/vellum/types/workflow_execution_initiated_event.py
+++ b/src/vellum/types/workflow_execution_initiated_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_initiated_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .workflow_execution_initiated_body import WorkflowExecutionInitiatedBody
+
+
+class WorkflowExecutionInitiatedEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["workflow.execution.initiated"] = "workflow.execution.initiated"
+ body: WorkflowExecutionInitiatedBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionInitiatedEvent)
diff --git a/src/vellum/types/workflow_execution_node_result_event.py b/src/vellum/types/workflow_execution_node_result_event.py
index 8e8e07052d..bc1a81f672 100644
--- a/src/vellum/types/workflow_execution_node_result_event.py
+++ b/src/vellum/types/workflow_execution_node_result_event.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_node_result_event import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .workflow_node_result_event import WorkflowNodeResultEvent
+
+
+class WorkflowExecutionNodeResultEvent(UniversalBaseModel):
+ """
+ A NODE-level event emitted from the workflow's execution.
+ """
+
+ execution_id: str
+ run_id: typing.Optional[str] = None
+ external_id: typing.Optional[str] = None
+ type: typing.Literal["NODE"] = "NODE"
+ data: WorkflowNodeResultEvent
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionNodeResultEvent)
diff --git a/src/vellum/types/workflow_execution_paused_body.py b/src/vellum/types/workflow_execution_paused_body.py
index 3e3b806a1d..336c7a529e 100644
--- a/src/vellum/types/workflow_execution_paused_body.py
+++ b/src/vellum/types/workflow_execution_paused_body.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_paused_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .external_input_descriptor import ExternalInputDescriptor
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class WorkflowExecutionPausedBody(UniversalBaseModel):
+ workflow_definition: VellumCodeResourceDefinition
+ external_inputs: typing.List[ExternalInputDescriptor]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_paused_event.py b/src/vellum/types/workflow_execution_paused_event.py
index 502cedf69d..a7821a099b 100644
--- a/src/vellum/types/workflow_execution_paused_event.py
+++ b/src/vellum/types/workflow_execution_paused_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_paused_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .workflow_execution_paused_body import WorkflowExecutionPausedBody
+
+
+class WorkflowExecutionPausedEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["workflow.execution.paused"] = "workflow.execution.paused"
+ body: WorkflowExecutionPausedBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionPausedEvent)
diff --git a/src/vellum/types/workflow_execution_rejected_body.py b/src/vellum/types/workflow_execution_rejected_body.py
index 08f3d3e904..1bcb98798d 100644
--- a/src/vellum/types/workflow_execution_rejected_body.py
+++ b/src/vellum/types/workflow_execution_rejected_body.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_rejected_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+from .vellum_sdk_error import VellumSdkError
+
+
+class WorkflowExecutionRejectedBody(UniversalBaseModel):
+ workflow_definition: VellumCodeResourceDefinition
+ error: VellumSdkError
+ stacktrace: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_rejected_event.py b/src/vellum/types/workflow_execution_rejected_event.py
index 93e13c5673..8a92e835c2 100644
--- a/src/vellum/types/workflow_execution_rejected_event.py
+++ b/src/vellum/types/workflow_execution_rejected_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_rejected_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .workflow_execution_rejected_body import WorkflowExecutionRejectedBody
+
+
+class WorkflowExecutionRejectedEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["workflow.execution.rejected"] = "workflow.execution.rejected"
+ body: WorkflowExecutionRejectedBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionRejectedEvent)
diff --git a/src/vellum/types/workflow_execution_resumed_body.py b/src/vellum/types/workflow_execution_resumed_body.py
index 5c7f47e08d..87f9cdc6ac 100644
--- a/src/vellum/types/workflow_execution_resumed_body.py
+++ b/src/vellum/types/workflow_execution_resumed_body.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_resumed_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class WorkflowExecutionResumedBody(UniversalBaseModel):
+ workflow_definition: VellumCodeResourceDefinition
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_resumed_event.py b/src/vellum/types/workflow_execution_resumed_event.py
index 6880dc4a5e..235630d142 100644
--- a/src/vellum/types/workflow_execution_resumed_event.py
+++ b/src/vellum/types/workflow_execution_resumed_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_resumed_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .workflow_execution_resumed_body import WorkflowExecutionResumedBody
+
+
+class WorkflowExecutionResumedEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["workflow.execution.resumed"] = "workflow.execution.resumed"
+ body: WorkflowExecutionResumedBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionResumedEvent)
diff --git a/src/vellum/types/workflow_execution_snapshotted_body.py b/src/vellum/types/workflow_execution_snapshotted_body.py
index a02f2a63d7..da15c82a26 100644
--- a/src/vellum/types/workflow_execution_snapshotted_body.py
+++ b/src/vellum/types/workflow_execution_snapshotted_body.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_snapshotted_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class WorkflowExecutionSnapshottedBody(UniversalBaseModel):
+ workflow_definition: VellumCodeResourceDefinition
+ edited_by: typing.Optional[VellumCodeResourceDefinition] = None
+ state: typing.Dict[str, typing.Optional[typing.Any]]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_snapshotted_event.py b/src/vellum/types/workflow_execution_snapshotted_event.py
index fd653e5127..0a233bc31a 100644
--- a/src/vellum/types/workflow_execution_snapshotted_event.py
+++ b/src/vellum/types/workflow_execution_snapshotted_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_snapshotted_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .workflow_execution_snapshotted_body import WorkflowExecutionSnapshottedBody
+
+
+class WorkflowExecutionSnapshottedEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["workflow.execution.snapshotted"] = "workflow.execution.snapshotted"
+ body: WorkflowExecutionSnapshottedBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionSnapshottedEvent)
diff --git a/src/vellum/types/workflow_execution_span.py b/src/vellum/types/workflow_execution_span.py
index 33d0b4d0d1..564fd2594b 100644
--- a/src/vellum/types/workflow_execution_span.py
+++ b/src/vellum/types/workflow_execution_span.py
@@ -1,3 +1,46 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_span import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .vellum_workflow_execution_event import VellumWorkflowExecutionEvent
+from .workflow_execution_span_attributes import WorkflowExecutionSpanAttributes
+from .workflow_execution_usage_calculation_fulfilled_body import WorkflowExecutionUsageCalculationFulfilledBody
+
+
+class WorkflowExecutionSpan(UniversalBaseModel):
+ name: typing.Literal["workflow.execution"] = "workflow.execution"
+ events: typing.List[VellumWorkflowExecutionEvent]
+ attributes: WorkflowExecutionSpanAttributes
+ usage_result: typing.Optional[WorkflowExecutionUsageCalculationFulfilledBody] = None
+ span_id: str
+ start_ts: dt.datetime
+ end_ts: dt.datetime
+ parent_span_id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionSpan)
diff --git a/src/vellum/types/workflow_execution_span_attributes.py b/src/vellum/types/workflow_execution_span_attributes.py
index 22ae11c965..b5469acc21 100644
--- a/src/vellum/types/workflow_execution_span_attributes.py
+++ b/src/vellum/types/workflow_execution_span_attributes.py
@@ -1,3 +1,20 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_span_attributes import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowExecutionSpanAttributes(UniversalBaseModel):
+ label: str
+ workflow_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_streaming_body.py b/src/vellum/types/workflow_execution_streaming_body.py
index 26edde15d4..307ccfeda6 100644
--- a/src/vellum/types/workflow_execution_streaming_body.py
+++ b/src/vellum/types/workflow_execution_streaming_body.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_streaming_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .base_output import BaseOutput
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class WorkflowExecutionStreamingBody(UniversalBaseModel):
+ workflow_definition: VellumCodeResourceDefinition
+ output: BaseOutput
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_streaming_event.py b/src/vellum/types/workflow_execution_streaming_event.py
index 6755c04255..abd4cd6883 100644
--- a/src/vellum/types/workflow_execution_streaming_event.py
+++ b/src/vellum/types/workflow_execution_streaming_event.py
@@ -1,3 +1,47 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_streaming_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .api_version_enum import ApiVersionEnum
+from .workflow_execution_streaming_body import WorkflowExecutionStreamingBody
+
+
+class WorkflowExecutionStreamingEvent(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ name: typing.Literal["workflow.execution.streaming"] = "workflow.execution.streaming"
+ body: WorkflowExecutionStreamingBody
+ id: str
+ timestamp: dt.datetime
+ api_version: typing.Optional[ApiVersionEnum] = None
+ trace_id: str
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionStreamingEvent)
diff --git a/src/vellum/types/workflow_execution_usage_calculation_error.py b/src/vellum/types/workflow_execution_usage_calculation_error.py
index 22c554131e..8a40f057ce 100644
--- a/src/vellum/types/workflow_execution_usage_calculation_error.py
+++ b/src/vellum/types/workflow_execution_usage_calculation_error.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_usage_calculation_error import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_execution_usage_calculation_error_code_enum import WorkflowExecutionUsageCalculationErrorCodeEnum
+
+
+class WorkflowExecutionUsageCalculationError(UniversalBaseModel):
+ code: WorkflowExecutionUsageCalculationErrorCodeEnum
+ message: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_usage_calculation_error_code_enum.py b/src/vellum/types/workflow_execution_usage_calculation_error_code_enum.py
index d7560ece0c..da0c62cce5 100644
--- a/src/vellum/types/workflow_execution_usage_calculation_error_code_enum.py
+++ b/src/vellum/types/workflow_execution_usage_calculation_error_code_enum.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_usage_calculation_error_code_enum import *
+import typing
+
+WorkflowExecutionUsageCalculationErrorCodeEnum = typing.Union[
+ typing.Literal["UNKNOWN", "DEPENDENCIES_FAILED", "NO_USAGE_CALCULATED", "INTERNAL_SERVER_ERROR"], typing.Any
+]
diff --git a/src/vellum/types/workflow_execution_usage_calculation_fulfilled_body.py b/src/vellum/types/workflow_execution_usage_calculation_fulfilled_body.py
index 235d1562c4..53dda783df 100644
--- a/src/vellum/types/workflow_execution_usage_calculation_fulfilled_body.py
+++ b/src/vellum/types/workflow_execution_usage_calculation_fulfilled_body.py
@@ -1,3 +1,22 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_usage_calculation_fulfilled_body import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ml_model_usage_wrapper import MlModelUsageWrapper
+from .price import Price
+
+
+class WorkflowExecutionUsageCalculationFulfilledBody(UniversalBaseModel):
+ usage: typing.List[MlModelUsageWrapper]
+ cost: typing.List[Price]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_usage_result.py b/src/vellum/types/workflow_execution_usage_result.py
index fa5e877650..100050e696 100644
--- a/src/vellum/types/workflow_execution_usage_result.py
+++ b/src/vellum/types/workflow_execution_usage_result.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_usage_result import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .ml_model_usage_wrapper import MlModelUsageWrapper
+from .price import Price
+from .workflow_execution_usage_calculation_error import WorkflowExecutionUsageCalculationError
+
+
+class WorkflowExecutionUsageResult(UniversalBaseModel):
+ usage: typing.Optional[typing.List[MlModelUsageWrapper]] = None
+ cost: typing.Optional[typing.List[Price]] = None
+ error: typing.Optional[WorkflowExecutionUsageCalculationError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_execution_view_online_eval_metric_result.py b/src/vellum/types/workflow_execution_view_online_eval_metric_result.py
index 7254f7f67d..763380f0fd 100644
--- a/src/vellum/types/workflow_execution_view_online_eval_metric_result.py
+++ b/src/vellum/types/workflow_execution_view_online_eval_metric_result.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_view_online_eval_metric_result import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .execution_vellum_value import ExecutionVellumValue
+
+
+class WorkflowExecutionViewOnlineEvalMetricResult(UniversalBaseModel):
+ outputs: typing.List[ExecutionVellumValue]
+ label: str
+ metric_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionViewOnlineEvalMetricResult)
diff --git a/src/vellum/types/workflow_execution_workflow_result_event.py b/src/vellum/types/workflow_execution_workflow_result_event.py
index b6515de4d1..6459c8f8af 100644
--- a/src/vellum/types/workflow_execution_workflow_result_event.py
+++ b/src/vellum/types/workflow_execution_workflow_result_event.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_execution_workflow_result_event import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .workflow_result_event import WorkflowResultEvent
+
+
+class WorkflowExecutionWorkflowResultEvent(UniversalBaseModel):
+ """
+ A WORKFLOW-level event emitted from the workflow's execution.
+ """
+
+ execution_id: str
+ run_id: typing.Optional[str] = None
+ external_id: typing.Optional[str] = None
+ type: typing.Literal["WORKFLOW"] = "WORKFLOW"
+ data: WorkflowResultEvent
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowExecutionWorkflowResultEvent)
diff --git a/src/vellum/types/workflow_expand_meta_request.py b/src/vellum/types/workflow_expand_meta_request.py
index 063792ea7c..84517f8e4a 100644
--- a/src/vellum/types/workflow_expand_meta_request.py
+++ b/src/vellum/types/workflow_expand_meta_request.py
@@ -1,3 +1,32 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_expand_meta_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowExpandMetaRequest(UniversalBaseModel):
+ usage: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the Prompt Node FULFILLED events will include model host usage tracking. This may increase latency for some model hosts.
+ """
+
+ cost: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the Prompt Node FULFILLED events will include model host cost tracking. This may increase latency for some model hosts.
+ """
+
+ model_name: typing.Optional[bool] = pydantic.Field(default=None)
+ """
+ If enabled, the Prompt Node FULFILLED events will include model host name
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_initialization_error.py b/src/vellum/types/workflow_initialization_error.py
index ed34bde7f9..165cf1c9ba 100644
--- a/src/vellum/types/workflow_initialization_error.py
+++ b/src/vellum/types/workflow_initialization_error.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_initialization_error import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowInitializationError(UniversalBaseModel):
+ """
+ Workflow initialization error.
+ """
+
+ code: str
+ message: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_input.py b/src/vellum/types/workflow_input.py
index 631c73ba42..26547d637e 100644
--- a/src/vellum/types/workflow_input.py
+++ b/src/vellum/types/workflow_input.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_input import *
+import typing
+
+from .array_input import ArrayInput
+from .audio_input import AudioInput
+from .chat_history_input import ChatHistoryInput
+from .document_input import DocumentInput
+from .error_input import ErrorInput
+from .function_call_input import FunctionCallInput
+from .image_input import ImageInput
+from .json_input import JsonInput
+from .number_input import NumberInput
+from .search_results_input import SearchResultsInput
+from .string_input import StringInput
+from .video_input import VideoInput
+
+WorkflowInput = typing.Union[
+ StringInput,
+ JsonInput,
+ ChatHistoryInput,
+ NumberInput,
+ SearchResultsInput,
+ ErrorInput,
+ ArrayInput,
+ FunctionCallInput,
+ AudioInput,
+ VideoInput,
+ ImageInput,
+ DocumentInput,
+]
diff --git a/src/vellum/types/workflow_node_result_data.py b/src/vellum/types/workflow_node_result_data.py
index 82381a972a..e057c46507 100644
--- a/src/vellum/types/workflow_node_result_data.py
+++ b/src/vellum/types/workflow_node_result_data.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_node_result_data import *
+import typing
+
+from .api_node_result import ApiNodeResult
+from .code_execution_node_result import CodeExecutionNodeResult
+from .conditional_node_result import ConditionalNodeResult
+from .map_node_result import MapNodeResult
+from .merge_node_result import MergeNodeResult
+from .metric_node_result import MetricNodeResult
+from .prompt_node_result import PromptNodeResult
+from .search_node_result import SearchNodeResult
+from .subworkflow_node_result import SubworkflowNodeResult
+from .templating_node_result import TemplatingNodeResult
+from .terminal_node_result import TerminalNodeResult
+
+WorkflowNodeResultData = typing.Union[
+ PromptNodeResult,
+ SearchNodeResult,
+ TemplatingNodeResult,
+ CodeExecutionNodeResult,
+ ConditionalNodeResult,
+ ApiNodeResult,
+ TerminalNodeResult,
+ MergeNodeResult,
+ SubworkflowNodeResult,
+ MetricNodeResult,
+ MapNodeResult,
+]
diff --git a/src/vellum/types/workflow_node_result_event.py b/src/vellum/types/workflow_node_result_event.py
index 5399aa206c..0edc26f094 100644
--- a/src/vellum/types/workflow_node_result_event.py
+++ b/src/vellum/types/workflow_node_result_event.py
@@ -1,3 +1,15 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_node_result_event import *
+import typing
+
+from .fulfilled_workflow_node_result_event import FulfilledWorkflowNodeResultEvent
+from .initiated_workflow_node_result_event import InitiatedWorkflowNodeResultEvent
+from .rejected_workflow_node_result_event import RejectedWorkflowNodeResultEvent
+from .streaming_workflow_node_result_event import StreamingWorkflowNodeResultEvent
+
+WorkflowNodeResultEvent = typing.Union[
+ InitiatedWorkflowNodeResultEvent,
+ StreamingWorkflowNodeResultEvent,
+ FulfilledWorkflowNodeResultEvent,
+ RejectedWorkflowNodeResultEvent,
+]
diff --git a/src/vellum/types/workflow_node_result_event_state.py b/src/vellum/types/workflow_node_result_event_state.py
index 2336600f4c..24fc32b1f3 100644
--- a/src/vellum/types/workflow_node_result_event_state.py
+++ b/src/vellum/types/workflow_node_result_event_state.py
@@ -1,3 +1,7 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_node_result_event_state import *
+import typing
+
+WorkflowNodeResultEventState = typing.Union[
+ typing.Literal["INITIATED", "STREAMING", "FULFILLED", "REJECTED"], typing.Any
+]
diff --git a/src/vellum/types/workflow_output.py b/src/vellum/types/workflow_output.py
index 440d31cf71..2d38ea9532 100644
--- a/src/vellum/types/workflow_output.py
+++ b/src/vellum/types/workflow_output.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output import *
+import typing
+
+from .workflow_output_array import WorkflowOutputArray
+from .workflow_output_audio import WorkflowOutputAudio
+from .workflow_output_chat_history import WorkflowOutputChatHistory
+from .workflow_output_document import WorkflowOutputDocument
+from .workflow_output_error import WorkflowOutputError
+from .workflow_output_function_call import WorkflowOutputFunctionCall
+from .workflow_output_image import WorkflowOutputImage
+from .workflow_output_json import WorkflowOutputJson
+from .workflow_output_number import WorkflowOutputNumber
+from .workflow_output_search_results import WorkflowOutputSearchResults
+from .workflow_output_string import WorkflowOutputString
+from .workflow_output_video import WorkflowOutputVideo
+
+WorkflowOutput = typing.Union[
+ WorkflowOutputString,
+ WorkflowOutputNumber,
+ WorkflowOutputJson,
+ WorkflowOutputChatHistory,
+ WorkflowOutputSearchResults,
+ WorkflowOutputArray,
+ WorkflowOutputError,
+ WorkflowOutputFunctionCall,
+ WorkflowOutputImage,
+ WorkflowOutputAudio,
+ WorkflowOutputVideo,
+ WorkflowOutputDocument,
+]
diff --git a/src/vellum/types/workflow_output_array.py b/src/vellum/types/workflow_output_array.py
index 38ed0c4cb3..920499fcf9 100644
--- a/src/vellum/types/workflow_output_array.py
+++ b/src/vellum/types/workflow_output_array.py
@@ -1,3 +1,38 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_array import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class WorkflowOutputArray(UniversalBaseModel):
+ """
+ An array output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowOutputArray)
diff --git a/src/vellum/types/workflow_output_audio.py b/src/vellum/types/workflow_output_audio.py
index a993dccb16..e578741b56 100644
--- a/src/vellum/types/workflow_output_audio.py
+++ b/src/vellum/types/workflow_output_audio.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_audio import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio import VellumAudio
+
+
+class WorkflowOutputAudio(UniversalBaseModel):
+ """
+ An audio output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: typing.Optional[VellumAudio] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_output_chat_history.py b/src/vellum/types/workflow_output_chat_history.py
index b32469c4d4..e25ebd6186 100644
--- a/src/vellum/types/workflow_output_chat_history.py
+++ b/src/vellum/types/workflow_output_chat_history.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_chat_history import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+
+
+class WorkflowOutputChatHistory(UniversalBaseModel):
+ """
+ A chat history output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_output_document.py b/src/vellum/types/workflow_output_document.py
index f5ac0dfa2f..6cc37a6b15 100644
--- a/src/vellum/types/workflow_output_document.py
+++ b/src/vellum/types/workflow_output_document.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_document import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document import VellumDocument
+
+
+class WorkflowOutputDocument(UniversalBaseModel):
+ """
+ A document output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: typing.Optional[VellumDocument] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_output_error.py b/src/vellum/types/workflow_output_error.py
index f4d043e7e6..74c33198f5 100644
--- a/src/vellum/types/workflow_output_error.py
+++ b/src/vellum/types/workflow_output_error.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_error import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+
+
+class WorkflowOutputError(UniversalBaseModel):
+ """
+ An error output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_output_function_call.py b/src/vellum/types/workflow_output_function_call.py
index 0dbf1d10e5..c558e1e0d0 100644
--- a/src/vellum/types/workflow_output_function_call.py
+++ b/src/vellum/types/workflow_output_function_call.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_function_call import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+
+
+class WorkflowOutputFunctionCall(UniversalBaseModel):
+ """
+ A function call output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_output_image.py b/src/vellum/types/workflow_output_image.py
index 359fad9b63..0977c8f679 100644
--- a/src/vellum/types/workflow_output_image.py
+++ b/src/vellum/types/workflow_output_image.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_image import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image import VellumImage
+
+
+class WorkflowOutputImage(UniversalBaseModel):
+ """
+ An image output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: typing.Optional[VellumImage] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_output_json.py b/src/vellum/types/workflow_output_json.py
index 71599e54b4..3377c76f7f 100644
--- a/src/vellum/types/workflow_output_json.py
+++ b/src/vellum/types/workflow_output_json.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_json import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowOutputJson(UniversalBaseModel):
+ """
+ A JSON output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_output_number.py b/src/vellum/types/workflow_output_number.py
index 8c44195faf..99448b8d6d 100644
--- a/src/vellum/types/workflow_output_number.py
+++ b/src/vellum/types/workflow_output_number.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_number import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowOutputNumber(UniversalBaseModel):
+ """
+ A number output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_output_search_results.py b/src/vellum/types/workflow_output_search_results.py
index 922ac51016..ba9c96db2b 100644
--- a/src/vellum/types/workflow_output_search_results.py
+++ b/src/vellum/types/workflow_output_search_results.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_search_results import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+
+
+class WorkflowOutputSearchResults(UniversalBaseModel):
+ """
+ A search results output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_output_string.py b/src/vellum/types/workflow_output_string.py
index 52cd22b6c9..21c13969b0 100644
--- a/src/vellum/types/workflow_output_string.py
+++ b/src/vellum/types/workflow_output_string.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_string import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowOutputString(UniversalBaseModel):
+ """
+ A string output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_output_video.py b/src/vellum/types/workflow_output_video.py
index 27c7576ce9..e6f735daed 100644
--- a/src/vellum/types/workflow_output_video.py
+++ b/src/vellum/types/workflow_output_video.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_output_video import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video import VellumVideo
+
+
+class WorkflowOutputVideo(UniversalBaseModel):
+ """
+ A video output from a Workflow execution.
+ """
+
+ id: str
+ name: str = pydantic.Field()
+ """
+ The output's name, as defined in the workflow
+ """
+
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: typing.Optional[VellumVideo] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_parent_context.py b/src/vellum/types/workflow_parent_context.py
index 253bd3bc7a..a0fcb7b376 100644
--- a/src/vellum/types/workflow_parent_context.py
+++ b/src/vellum/types/workflow_parent_context.py
@@ -1,3 +1,40 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_parent_context import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .vellum_code_resource_definition import VellumCodeResourceDefinition
+
+
+class WorkflowParentContext(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ workflow_definition: VellumCodeResourceDefinition
+ type: typing.Literal["WORKFLOW"] = "WORKFLOW"
+ span_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_sandbox_parent_context import WorkflowSandboxParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowParentContext)
diff --git a/src/vellum/types/workflow_push_deployment_config_request.py b/src/vellum/types/workflow_push_deployment_config_request.py
index cc3ba30296..2a6b7c4bf4 100644
--- a/src/vellum/types/workflow_push_deployment_config_request.py
+++ b/src/vellum/types/workflow_push_deployment_config_request.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_push_deployment_config_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowPushDeploymentConfigRequest(UniversalBaseModel):
+ label: typing.Optional[str] = None
+ name: typing.Optional[str] = None
+ description: typing.Optional[str] = None
+ release_tags: typing.Optional[typing.List[str]] = None
+ release_description: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_push_exec_config.py b/src/vellum/types/workflow_push_exec_config.py
index ca32dde1f5..7ea9958c38 100644
--- a/src/vellum/types/workflow_push_exec_config.py
+++ b/src/vellum/types/workflow_push_exec_config.py
@@ -1,3 +1,3 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_push_exec_config import *
+WorkflowPushExecConfig = str
diff --git a/src/vellum/types/workflow_push_response.py b/src/vellum/types/workflow_push_response.py
index 991985f355..443248ed87 100644
--- a/src/vellum/types/workflow_push_response.py
+++ b/src/vellum/types/workflow_push_response.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_push_response import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowPushResponse(UniversalBaseModel):
+ workflow_sandbox_id: str
+ workflow_deployment_id: typing.Optional[str] = None
+ proposed_diffs: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_release_tag_read.py b/src/vellum/types/workflow_release_tag_read.py
index 1e767e910d..19e6d383cc 100644
--- a/src/vellum/types/workflow_release_tag_read.py
+++ b/src/vellum/types/workflow_release_tag_read.py
@@ -1,3 +1,43 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_release_tag_read import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .release_tag_release import ReleaseTagRelease
+from .release_tag_source import ReleaseTagSource
+from .workflow_release_tag_workflow_deployment_history_item import WorkflowReleaseTagWorkflowDeploymentHistoryItem
+
+
+class WorkflowReleaseTagRead(UniversalBaseModel):
+ name: str = pydantic.Field()
+ """
+ The name of the Release Tag
+ """
+
+ source: ReleaseTagSource = pydantic.Field()
+ """
+ The source of how the Release Tag was originally created
+
+ * `SYSTEM` - System
+ * `USER` - User
+ """
+
+ history_item: WorkflowReleaseTagWorkflowDeploymentHistoryItem = pydantic.Field()
+ """
+ Deprecated. Reference the `release` field instead.
+ """
+
+ release: ReleaseTagRelease = pydantic.Field()
+ """
+ The Release that this Release Tag points to.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_release_tag_workflow_deployment_history_item.py b/src/vellum/types/workflow_release_tag_workflow_deployment_history_item.py
index 9157bd107b..6ed94e8633 100644
--- a/src/vellum/types/workflow_release_tag_workflow_deployment_history_item.py
+++ b/src/vellum/types/workflow_release_tag_workflow_deployment_history_item.py
@@ -1,3 +1,21 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_release_tag_workflow_deployment_history_item import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowReleaseTagWorkflowDeploymentHistoryItem(UniversalBaseModel):
+ id: str
+ timestamp: dt.datetime
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_request_audio_input_request.py b/src/vellum/types/workflow_request_audio_input_request.py
index 190b58d20c..93fb14eccf 100644
--- a/src/vellum/types/workflow_request_audio_input_request.py
+++ b/src/vellum/types/workflow_request_audio_input_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_request_audio_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_audio_request import VellumAudioRequest
+
+
+class WorkflowRequestAudioInputRequest(UniversalBaseModel):
+ """
+ The input for an audio variable in a Workflow.
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Workflow.
+ """
+
+ type: typing.Literal["AUDIO"] = "AUDIO"
+ value: VellumAudioRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_request_chat_history_input_request.py b/src/vellum/types/workflow_request_chat_history_input_request.py
index 701e132008..2749b8f25b 100644
--- a/src/vellum/types/workflow_request_chat_history_input_request.py
+++ b/src/vellum/types/workflow_request_chat_history_input_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_request_chat_history_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message_request import ChatMessageRequest
+
+
+class WorkflowRequestChatHistoryInputRequest(UniversalBaseModel):
+ """
+ The input for a chat history variable in a Workflow.
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Workflow.
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.List[ChatMessageRequest]
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_request_document_input_request.py b/src/vellum/types/workflow_request_document_input_request.py
index da5627bf02..c1dfd6e7cd 100644
--- a/src/vellum/types/workflow_request_document_input_request.py
+++ b/src/vellum/types/workflow_request_document_input_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_request_document_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_document_request import VellumDocumentRequest
+
+
+class WorkflowRequestDocumentInputRequest(UniversalBaseModel):
+ """
+ The input for a document variable in a Workflow.
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Workflow.
+ """
+
+ type: typing.Literal["DOCUMENT"] = "DOCUMENT"
+ value: VellumDocumentRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_request_image_input_request.py b/src/vellum/types/workflow_request_image_input_request.py
index 9a4b1646c0..942454262d 100644
--- a/src/vellum/types/workflow_request_image_input_request.py
+++ b/src/vellum/types/workflow_request_image_input_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_request_image_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_image_request import VellumImageRequest
+
+
+class WorkflowRequestImageInputRequest(UniversalBaseModel):
+ """
+ The input for an image variable in a Workflow.
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Workflow.
+ """
+
+ type: typing.Literal["IMAGE"] = "IMAGE"
+ value: VellumImageRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_request_input_request.py b/src/vellum/types/workflow_request_input_request.py
index c021dd76c3..9081643388 100644
--- a/src/vellum/types/workflow_request_input_request.py
+++ b/src/vellum/types/workflow_request_input_request.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_request_input_request import *
+import typing
+
+from .workflow_request_audio_input_request import WorkflowRequestAudioInputRequest
+from .workflow_request_chat_history_input_request import WorkflowRequestChatHistoryInputRequest
+from .workflow_request_document_input_request import WorkflowRequestDocumentInputRequest
+from .workflow_request_image_input_request import WorkflowRequestImageInputRequest
+from .workflow_request_json_input_request import WorkflowRequestJsonInputRequest
+from .workflow_request_number_input_request import WorkflowRequestNumberInputRequest
+from .workflow_request_string_input_request import WorkflowRequestStringInputRequest
+from .workflow_request_video_input_request import WorkflowRequestVideoInputRequest
+
+WorkflowRequestInputRequest = typing.Union[
+ WorkflowRequestStringInputRequest,
+ WorkflowRequestJsonInputRequest,
+ WorkflowRequestChatHistoryInputRequest,
+ WorkflowRequestNumberInputRequest,
+ WorkflowRequestAudioInputRequest,
+ WorkflowRequestVideoInputRequest,
+ WorkflowRequestImageInputRequest,
+ WorkflowRequestDocumentInputRequest,
+]
diff --git a/src/vellum/types/workflow_request_json_input_request.py b/src/vellum/types/workflow_request_json_input_request.py
index 8f789e9354..cc7b97ae04 100644
--- a/src/vellum/types/workflow_request_json_input_request.py
+++ b/src/vellum/types/workflow_request_json_input_request.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_request_json_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowRequestJsonInputRequest(UniversalBaseModel):
+ """
+ The input for a JSON variable in a Workflow.
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Workflow.
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_request_number_input_request.py b/src/vellum/types/workflow_request_number_input_request.py
index e78e3655c4..8ba3386d49 100644
--- a/src/vellum/types/workflow_request_number_input_request.py
+++ b/src/vellum/types/workflow_request_number_input_request.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_request_number_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowRequestNumberInputRequest(UniversalBaseModel):
+ """
+ The input for a number variable in a Workflow.
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Workflow.
+ """
+
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: float
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_request_string_input_request.py b/src/vellum/types/workflow_request_string_input_request.py
index 2fdf4422a9..8134195bab 100644
--- a/src/vellum/types/workflow_request_string_input_request.py
+++ b/src/vellum/types/workflow_request_string_input_request.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_request_string_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowRequestStringInputRequest(UniversalBaseModel):
+ """
+ The input for a string variable in a Workflow.
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Workflow.
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_request_video_input_request.py b/src/vellum/types/workflow_request_video_input_request.py
index 822ddcbf14..88f24e3d31 100644
--- a/src/vellum/types/workflow_request_video_input_request.py
+++ b/src/vellum/types/workflow_request_video_input_request.py
@@ -1,3 +1,30 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_request_video_input_request import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_video_request import VellumVideoRequest
+
+
+class WorkflowRequestVideoInputRequest(UniversalBaseModel):
+ """
+ The input for a video variable in a Workflow.
+ """
+
+ name: str = pydantic.Field()
+ """
+ The variable's name, as defined in the Workflow.
+ """
+
+ type: typing.Literal["VIDEO"] = "VIDEO"
+ value: VellumVideoRequest
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_resolved_state.py b/src/vellum/types/workflow_resolved_state.py
index 3187934b32..f1dde59236 100644
--- a/src/vellum/types/workflow_resolved_state.py
+++ b/src/vellum/types/workflow_resolved_state.py
@@ -1,3 +1,31 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_resolved_state import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowResolvedState(UniversalBaseModel):
+ """
+ The latest execution state of a given Workflow Execution
+ """
+
+ trace_id: str
+ timestamp: dt.datetime
+ span_id: str
+ state: typing.Dict[str, typing.Optional[typing.Any]]
+ previous_span_id: typing.Optional[str] = None
+ previous_trace_id: typing.Optional[str] = None
+ root_span_id: typing.Optional[str] = None
+ root_trace_id: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_result_event.py b/src/vellum/types/workflow_result_event.py
index 8da33006b3..21e5e6c39e 100644
--- a/src/vellum/types/workflow_result_event.py
+++ b/src/vellum/types/workflow_result_event.py
@@ -1,3 +1,38 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_result_event import *
+from __future__ import annotations
+
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .execution_vellum_value import ExecutionVellumValue
+from .workflow_event_error import WorkflowEventError
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+from .workflow_output import WorkflowOutput
+from .workflow_result_event_output_data import WorkflowResultEventOutputData
+
+
+class WorkflowResultEvent(UniversalBaseModel):
+ id: str
+ state: WorkflowNodeResultEventState
+ ts: dt.datetime
+ output: typing.Optional[WorkflowResultEventOutputData] = None
+ error: typing.Optional[WorkflowEventError] = None
+ outputs: typing.Optional[typing.List[WorkflowOutput]] = None
+ inputs: typing.Optional[typing.List[ExecutionVellumValue]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowResultEvent)
diff --git a/src/vellum/types/workflow_result_event_output_data.py b/src/vellum/types/workflow_result_event_output_data.py
index 06e970760d..6f0cce3799 100644
--- a/src/vellum/types/workflow_result_event_output_data.py
+++ b/src/vellum/types/workflow_result_event_output_data.py
@@ -1,3 +1,23 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_result_event_output_data import *
+import typing
+
+from .workflow_result_event_output_data_array import WorkflowResultEventOutputDataArray
+from .workflow_result_event_output_data_chat_history import WorkflowResultEventOutputDataChatHistory
+from .workflow_result_event_output_data_error import WorkflowResultEventOutputDataError
+from .workflow_result_event_output_data_function_call import WorkflowResultEventOutputDataFunctionCall
+from .workflow_result_event_output_data_json import WorkflowResultEventOutputDataJson
+from .workflow_result_event_output_data_number import WorkflowResultEventOutputDataNumber
+from .workflow_result_event_output_data_search_results import WorkflowResultEventOutputDataSearchResults
+from .workflow_result_event_output_data_string import WorkflowResultEventOutputDataString
+
+WorkflowResultEventOutputData = typing.Union[
+ WorkflowResultEventOutputDataString,
+ WorkflowResultEventOutputDataNumber,
+ WorkflowResultEventOutputDataJson,
+ WorkflowResultEventOutputDataChatHistory,
+ WorkflowResultEventOutputDataSearchResults,
+ WorkflowResultEventOutputDataArray,
+ WorkflowResultEventOutputDataFunctionCall,
+ WorkflowResultEventOutputDataError,
+]
diff --git a/src/vellum/types/workflow_result_event_output_data_array.py b/src/vellum/types/workflow_result_event_output_data_array.py
index 3f0e30e186..13eaf0ece3 100644
--- a/src/vellum/types/workflow_result_event_output_data_array.py
+++ b/src/vellum/types/workflow_result_event_output_data_array.py
@@ -1,3 +1,42 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_result_event_output_data_array import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class WorkflowResultEventOutputDataArray(UniversalBaseModel):
+ """
+ An Array output returned from a Workflow execution.
+ """
+
+ id: typing.Optional[str] = None
+ name: str
+ state: WorkflowNodeResultEventState
+ node_id: str
+ delta: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The newly output string value. Only relevant for string outputs with a state of STREAMING.
+ """
+
+ type: typing.Literal["ARRAY"] = "ARRAY"
+ value: typing.Optional[typing.List["VellumValue"]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .array_vellum_value import ArrayVellumValue # noqa: E402, F401, I001
+from .vellum_value import VellumValue # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowResultEventOutputDataArray)
diff --git a/src/vellum/types/workflow_result_event_output_data_chat_history.py b/src/vellum/types/workflow_result_event_output_data_chat_history.py
index b97b4707b7..6fcd7e8c2a 100644
--- a/src/vellum/types/workflow_result_event_output_data_chat_history.py
+++ b/src/vellum/types/workflow_result_event_output_data_chat_history.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_result_event_output_data_chat_history import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .chat_message import ChatMessage
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class WorkflowResultEventOutputDataChatHistory(UniversalBaseModel):
+ """
+ A Chat History output streamed from a Workflow execution.
+ """
+
+ id: typing.Optional[str] = None
+ name: str
+ state: WorkflowNodeResultEventState
+ node_id: str
+ delta: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The newly output string value. Only relevant for string outputs with a state of STREAMING.
+ """
+
+ type: typing.Literal["CHAT_HISTORY"] = "CHAT_HISTORY"
+ value: typing.Optional[typing.List[ChatMessage]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_result_event_output_data_error.py b/src/vellum/types/workflow_result_event_output_data_error.py
index e058d4a3f5..9b6721f8c3 100644
--- a/src/vellum/types/workflow_result_event_output_data_error.py
+++ b/src/vellum/types/workflow_result_event_output_data_error.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_result_event_output_data_error import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .vellum_error import VellumError
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class WorkflowResultEventOutputDataError(UniversalBaseModel):
+ """
+ An Error output streamed from a Workflow execution.
+ """
+
+ id: typing.Optional[str] = None
+ name: str
+ state: WorkflowNodeResultEventState
+ node_id: str
+ delta: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The newly output string value. Only relevant for string outputs with a state of STREAMING.
+ """
+
+ type: typing.Literal["ERROR"] = "ERROR"
+ value: typing.Optional[VellumError] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_result_event_output_data_function_call.py b/src/vellum/types/workflow_result_event_output_data_function_call.py
index 14b5682bea..991ccdaa12 100644
--- a/src/vellum/types/workflow_result_event_output_data_function_call.py
+++ b/src/vellum/types/workflow_result_event_output_data_function_call.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_result_event_output_data_function_call import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .function_call import FunctionCall
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class WorkflowResultEventOutputDataFunctionCall(UniversalBaseModel):
+ """
+ A Function Call output returned from a Workflow execution.
+ """
+
+ id: typing.Optional[str] = None
+ name: str
+ state: WorkflowNodeResultEventState
+ node_id: str
+ delta: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The newly output string value. Only relevant for string outputs with a state of STREAMING.
+ """
+
+ type: typing.Literal["FUNCTION_CALL"] = "FUNCTION_CALL"
+ value: typing.Optional[FunctionCall] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_result_event_output_data_json.py b/src/vellum/types/workflow_result_event_output_data_json.py
index 716298a020..5589ce9443 100644
--- a/src/vellum/types/workflow_result_event_output_data_json.py
+++ b/src/vellum/types/workflow_result_event_output_data_json.py
@@ -1,3 +1,34 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_result_event_output_data_json import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class WorkflowResultEventOutputDataJson(UniversalBaseModel):
+ """
+ A JSON output streamed from a Workflow execution.
+ """
+
+ id: typing.Optional[str] = None
+ name: str
+ state: WorkflowNodeResultEventState
+ node_id: str
+ delta: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The newly output string value. Only relevant for string outputs with a state of STREAMING.
+ """
+
+ type: typing.Literal["JSON"] = "JSON"
+ value: typing.Optional[typing.Any] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_result_event_output_data_number.py b/src/vellum/types/workflow_result_event_output_data_number.py
index 50627ef160..ac045f6811 100644
--- a/src/vellum/types/workflow_result_event_output_data_number.py
+++ b/src/vellum/types/workflow_result_event_output_data_number.py
@@ -1,3 +1,34 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_result_event_output_data_number import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class WorkflowResultEventOutputDataNumber(UniversalBaseModel):
+ """
+ A number output streamed from a Workflow execution.
+ """
+
+ id: typing.Optional[str] = None
+ name: str
+ state: WorkflowNodeResultEventState
+ node_id: str
+ delta: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The newly output string value. Only relevant for string outputs with a state of STREAMING.
+ """
+
+ type: typing.Literal["NUMBER"] = "NUMBER"
+ value: typing.Optional[float] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_result_event_output_data_search_results.py b/src/vellum/types/workflow_result_event_output_data_search_results.py
index 07045bd3eb..4daea96847 100644
--- a/src/vellum/types/workflow_result_event_output_data_search_results.py
+++ b/src/vellum/types/workflow_result_event_output_data_search_results.py
@@ -1,3 +1,35 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_result_event_output_data_search_results import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .search_result import SearchResult
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class WorkflowResultEventOutputDataSearchResults(UniversalBaseModel):
+ """
+ A Search Results output streamed from a Workflow execution.
+ """
+
+ id: typing.Optional[str] = None
+ name: str
+ state: WorkflowNodeResultEventState
+ node_id: str
+ delta: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The newly output string value. Only relevant for string outputs with a state of STREAMING.
+ """
+
+ type: typing.Literal["SEARCH_RESULTS"] = "SEARCH_RESULTS"
+ value: typing.Optional[typing.List[SearchResult]] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_result_event_output_data_string.py b/src/vellum/types/workflow_result_event_output_data_string.py
index 565d0e6787..020168db02 100644
--- a/src/vellum/types/workflow_result_event_output_data_string.py
+++ b/src/vellum/types/workflow_result_event_output_data_string.py
@@ -1,3 +1,37 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_result_event_output_data_string import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_node_result_event_state import WorkflowNodeResultEventState
+
+
+class WorkflowResultEventOutputDataString(UniversalBaseModel):
+ """
+ A string output streamed from a Workflow execution.
+ """
+
+ id: typing.Optional[str] = None
+ name: str
+ state: WorkflowNodeResultEventState
+ node_id: str
+ delta: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The newly output string value, meant to be concatenated with all previous. Will be non-null for events of state STREAMING.
+ """
+
+ type: typing.Literal["STRING"] = "STRING"
+ value: typing.Optional[str] = pydantic.Field(default=None)
+ """
+ The entire string value. Will be non-null for events of state FULFILLED.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_sandbox_display_data.py b/src/vellum/types/workflow_sandbox_display_data.py
index 80fc71a155..23eed731f5 100644
--- a/src/vellum/types/workflow_sandbox_display_data.py
+++ b/src/vellum/types/workflow_sandbox_display_data.py
@@ -1,3 +1,27 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_sandbox_display_data import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workflow_display_icon import WorkflowDisplayIcon
+
+
+class WorkflowSandboxDisplayData(UniversalBaseModel):
+ """
+ Information used to display this Workflow Sandbox.
+ """
+
+ icon: typing.Optional[WorkflowDisplayIcon] = pydantic.Field(default=None)
+ """
+ The icon associated with this Workflow Sandbox.
+ """
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_sandbox_example.py b/src/vellum/types/workflow_sandbox_example.py
index 649307b27e..1465d41c2c 100644
--- a/src/vellum/types/workflow_sandbox_example.py
+++ b/src/vellum/types/workflow_sandbox_example.py
@@ -1,3 +1,24 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_sandbox_example import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkflowSandboxExample(UniversalBaseModel):
+ id: str
+ label: str
+ description: typing.Optional[str] = None
+ icon_name: typing.Optional[str] = None
+ ui_image_url: typing.Optional[str] = None
+ code_image_url: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workflow_sandbox_parent_context.py b/src/vellum/types/workflow_sandbox_parent_context.py
index 8836da78d5..779ba91420 100644
--- a/src/vellum/types/workflow_sandbox_parent_context.py
+++ b/src/vellum/types/workflow_sandbox_parent_context.py
@@ -1,3 +1,41 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_sandbox_parent_context import *
+from __future__ import annotations
+
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel, update_forward_refs
+
+
+class WorkflowSandboxParentContext(UniversalBaseModel):
+ parent: typing.Optional["ParentContext"] = None
+ links: typing.Optional[typing.List["SpanLink"]] = None
+ type: typing.Literal["WORKFLOW_SANDBOX"] = "WORKFLOW_SANDBOX"
+ span_id: str
+ sandbox_id: str
+ sandbox_history_item_id: str
+ scenario_id: str
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
+
+
+from .api_request_parent_context import ApiRequestParentContext # noqa: E402, F401, I001
+from .external_parent_context import ExternalParentContext # noqa: E402, F401, I001
+from .integration_trigger_context import IntegrationTriggerContext # noqa: E402, F401, I001
+from .node_parent_context import NodeParentContext # noqa: E402, F401, I001
+from .prompt_deployment_parent_context import PromptDeploymentParentContext # noqa: E402, F401, I001
+from .scheduled_trigger_context import ScheduledTriggerContext # noqa: E402, F401, I001
+from .span_link import SpanLink # noqa: E402, F401, I001
+from .workflow_deployment_parent_context import WorkflowDeploymentParentContext # noqa: E402, F401, I001
+from .workflow_parent_context import WorkflowParentContext # noqa: E402, F401, I001
+from .parent_context import ParentContext # noqa: E402, F401, I001
+
+update_forward_refs(WorkflowSandboxParentContext)
diff --git a/src/vellum/types/workflow_stream_event.py b/src/vellum/types/workflow_stream_event.py
index 3b1237b6af..1bbc469d15 100644
--- a/src/vellum/types/workflow_stream_event.py
+++ b/src/vellum/types/workflow_stream_event.py
@@ -1,3 +1,8 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workflow_stream_event import *
+import typing
+
+from .workflow_execution_node_result_event import WorkflowExecutionNodeResultEvent
+from .workflow_execution_workflow_result_event import WorkflowExecutionWorkflowResultEvent
+
+WorkflowStreamEvent = typing.Union[WorkflowExecutionWorkflowResultEvent, WorkflowExecutionNodeResultEvent]
diff --git a/src/vellum/types/workspace_display_config.py b/src/vellum/types/workspace_display_config.py
index c59bb85fae..c3ce9f176e 100644
--- a/src/vellum/types/workspace_display_config.py
+++ b/src/vellum/types/workspace_display_config.py
@@ -1,3 +1,19 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workspace_display_config import *
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+
+
+class WorkspaceDisplayConfig(UniversalBaseModel):
+ color: typing.Optional[str] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workspace_read.py b/src/vellum/types/workspace_read.py
index 9680ad2e61..2911a3f45a 100644
--- a/src/vellum/types/workspace_read.py
+++ b/src/vellum/types/workspace_read.py
@@ -1,3 +1,29 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workspace_read import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .workspace_display_config import WorkspaceDisplayConfig
+
+
+class WorkspaceRead(UniversalBaseModel):
+ id: str
+ name: str = pydantic.Field()
+ """
+ The name of the Workspace.
+ """
+
+ label: str
+ created: dt.datetime
+ display_config: typing.Optional[WorkspaceDisplayConfig] = None
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/src/vellum/types/workspace_secret_read.py b/src/vellum/types/workspace_secret_read.py
index 4087a8663d..942d0617b7 100644
--- a/src/vellum/types/workspace_secret_read.py
+++ b/src/vellum/types/workspace_secret_read.py
@@ -1,3 +1,25 @@
-# WARNING: This file will be removed in a future release. Please import from "vellum.client" instead.
+# This file was auto-generated by Fern from our API Definition.
-from vellum.client.types.workspace_secret_read import *
+import datetime as dt
+import typing
+
+import pydantic
+from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
+from .secret_type_enum import SecretTypeEnum
+
+
+class WorkspaceSecretRead(UniversalBaseModel):
+ id: str
+ modified: dt.datetime
+ name: str
+ label: str
+ secret_type: SecretTypeEnum
+
+ if IS_PYDANTIC_V2:
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
+ else:
+
+ class Config:
+ frozen = True
+ smart_union = True
+ extra = pydantic.Extra.allow
diff --git a/tests/__init__.py b/tests/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/tests/client/custom/test_client.py b/tests/custom/test_client.py
similarity index 100%
rename from tests/client/custom/test_client.py
rename to tests/custom/test_client.py
diff --git a/tests/client/utils/__init__.py b/tests/utils/__init__.py
similarity index 100%
rename from tests/client/utils/__init__.py
rename to tests/utils/__init__.py
diff --git a/tests/client/utils/assets/models/__init__.py b/tests/utils/assets/models/__init__.py
similarity index 100%
rename from tests/client/utils/assets/models/__init__.py
rename to tests/utils/assets/models/__init__.py
diff --git a/tests/client/utils/assets/models/circle.py b/tests/utils/assets/models/circle.py
similarity index 83%
rename from tests/client/utils/assets/models/circle.py
rename to tests/utils/assets/models/circle.py
index fc97db7eef..e80f3b7541 100644
--- a/tests/client/utils/assets/models/circle.py
+++ b/tests/utils/assets/models/circle.py
@@ -4,7 +4,7 @@
import typing_extensions
-from vellum.client.core.serialization import FieldMetadata
+from vellum.core.serialization import FieldMetadata
class CircleParams(typing_extensions.TypedDict):
diff --git a/tests/client/utils/assets/models/color.py b/tests/utils/assets/models/color.py
similarity index 100%
rename from tests/client/utils/assets/models/color.py
rename to tests/utils/assets/models/color.py
diff --git a/tests/client/utils/assets/models/object_with_defaults.py b/tests/utils/assets/models/object_with_defaults.py
similarity index 100%
rename from tests/client/utils/assets/models/object_with_defaults.py
rename to tests/utils/assets/models/object_with_defaults.py
diff --git a/tests/client/utils/assets/models/object_with_optional_field.py b/tests/utils/assets/models/object_with_optional_field.py
similarity index 96%
rename from tests/client/utils/assets/models/object_with_optional_field.py
rename to tests/utils/assets/models/object_with_optional_field.py
index c9f7c9117e..c6f5232f3d 100644
--- a/tests/client/utils/assets/models/object_with_optional_field.py
+++ b/tests/utils/assets/models/object_with_optional_field.py
@@ -11,7 +11,7 @@
from .shape import ShapeParams
from .undiscriminated_shape import UndiscriminatedShapeParams
-from vellum.client.core.serialization import FieldMetadata
+from vellum.core.serialization import FieldMetadata
class ObjectWithOptionalFieldParams(typing_extensions.TypedDict):
diff --git a/tests/client/utils/assets/models/shape.py b/tests/utils/assets/models/shape.py
similarity index 93%
rename from tests/client/utils/assets/models/shape.py
rename to tests/utils/assets/models/shape.py
index 16fcd68b40..c306836500 100644
--- a/tests/client/utils/assets/models/shape.py
+++ b/tests/utils/assets/models/shape.py
@@ -8,7 +8,7 @@
import typing_extensions
-from vellum.client.core.serialization import FieldMetadata
+from vellum.core.serialization import FieldMetadata
class Base(typing_extensions.TypedDict):
diff --git a/tests/client/utils/assets/models/square.py b/tests/utils/assets/models/square.py
similarity index 100%
rename from tests/client/utils/assets/models/square.py
rename to tests/utils/assets/models/square.py
diff --git a/tests/client/utils/assets/models/undiscriminated_shape.py b/tests/utils/assets/models/undiscriminated_shape.py
similarity index 100%
rename from tests/client/utils/assets/models/undiscriminated_shape.py
rename to tests/utils/assets/models/undiscriminated_shape.py
diff --git a/tests/client/utils/test_http_client.py b/tests/utils/test_http_client.py
similarity index 94%
rename from tests/client/utils/test_http_client.py
rename to tests/utils/test_http_client.py
index 87018166d5..9fa0e2c53d 100644
--- a/tests/client/utils/test_http_client.py
+++ b/tests/utils/test_http_client.py
@@ -1,7 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.http_client import get_request_body
-from vellum.client.core.request_options import RequestOptions
+from vellum.core.http_client import get_request_body
+from vellum.core.request_options import RequestOptions
def get_request_options() -> RequestOptions:
diff --git a/tests/client/utils/test_query_encoding.py b/tests/utils/test_query_encoding.py
similarity index 95%
rename from tests/client/utils/test_query_encoding.py
rename to tests/utils/test_query_encoding.py
index 514d8a60d5..8e25c1f622 100644
--- a/tests/client/utils/test_query_encoding.py
+++ b/tests/utils/test_query_encoding.py
@@ -1,7 +1,7 @@
# This file was auto-generated by Fern from our API Definition.
-from vellum.client.core.query_encoder import encode_query
+from vellum.core.query_encoder import encode_query
def test_query_encoding_deep_objects() -> None:
diff --git a/tests/client/utils/test_serialization.py b/tests/utils/test_serialization.py
similarity index 96%
rename from tests/client/utils/test_serialization.py
rename to tests/utils/test_serialization.py
index 79b60f7561..be610d5982 100644
--- a/tests/client/utils/test_serialization.py
+++ b/tests/utils/test_serialization.py
@@ -4,7 +4,7 @@
from .assets.models import ObjectWithOptionalFieldParams, ShapeParams
-from vellum.client.core.serialization import convert_and_respect_annotation_metadata
+from vellum.core.serialization import convert_and_respect_annotation_metadata
UNION_TEST: ShapeParams = {"radius_measurement": 1.0, "shape_type": "circle", "id": "1"}
UNION_TEST_CONVERTED = {"shapeType": "circle", "radiusMeasurement": 1.0, "id": "1"}