vellum-ai 0.9.2__py3-none-any.whl → 0.9.4__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
vellum/__init__.py CHANGED
@@ -21,6 +21,9 @@ from .types import (
21
21
  ArrayVellumValueRequest,
22
22
  AudioChatMessageContent,
23
23
  AudioChatMessageContentRequest,
24
+ AudioVariableValue,
25
+ AudioVellumValue,
26
+ AudioVellumValueRequest,
24
27
  BasicVectorizerIntfloatMultilingualE5Large,
25
28
  BasicVectorizerIntfloatMultilingualE5LargeRequest,
26
29
  BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1,
@@ -68,6 +71,7 @@ from .types import (
68
71
  DeploymentRead,
69
72
  DeploymentReleaseTagDeploymentHistoryItem,
70
73
  DeploymentReleaseTagRead,
74
+ DockerServiceToken,
71
75
  DocumentDocumentToDocumentIndex,
72
76
  DocumentIndexChunking,
73
77
  DocumentIndexChunkingRequest,
@@ -454,6 +458,7 @@ from .types import (
454
458
  WorkflowOutputNumber,
455
459
  WorkflowOutputSearchResults,
456
460
  WorkflowOutputString,
461
+ WorkflowPushDeploymentConfigRequest,
457
462
  WorkflowPushExecConfig,
458
463
  WorkflowPushResponse,
459
464
  WorkflowReleaseTagRead,
@@ -523,6 +528,9 @@ __all__ = [
523
528
  "AsyncVellum",
524
529
  "AudioChatMessageContent",
525
530
  "AudioChatMessageContentRequest",
531
+ "AudioVariableValue",
532
+ "AudioVellumValue",
533
+ "AudioVellumValueRequest",
526
534
  "BadRequestError",
527
535
  "BasicVectorizerIntfloatMultilingualE5Large",
528
536
  "BasicVectorizerIntfloatMultilingualE5LargeRequest",
@@ -572,6 +580,7 @@ __all__ = [
572
580
  "DeploymentReleaseTagDeploymentHistoryItem",
573
581
  "DeploymentReleaseTagRead",
574
582
  "DeploymentsListRequestStatus",
583
+ "DockerServiceToken",
575
584
  "DocumentDocumentToDocumentIndex",
576
585
  "DocumentIndexChunking",
577
586
  "DocumentIndexChunkingRequest",
@@ -966,6 +975,7 @@ __all__ = [
966
975
  "WorkflowOutputNumber",
967
976
  "WorkflowOutputSearchResults",
968
977
  "WorkflowOutputString",
978
+ "WorkflowPushDeploymentConfigRequest",
969
979
  "WorkflowPushExecConfig",
970
980
  "WorkflowPushResponse",
971
981
  "WorkflowReleaseTagRead",
@@ -17,7 +17,7 @@ class BaseClientWrapper:
17
17
  headers: typing.Dict[str, str] = {
18
18
  "X-Fern-Language": "Python",
19
19
  "X-Fern-SDK-Name": "vellum-ai",
20
- "X-Fern-SDK-Version": "0.9.2",
20
+ "X-Fern-SDK-Version": "0.9.4",
21
21
  }
22
22
  headers["X_API_KEY"] = self.api_key
23
23
  return headers
@@ -9,6 +9,7 @@ from json.decoder import JSONDecodeError
9
9
  from ...core.api_error import ApiError
10
10
  from ...types.container_image_read import ContainerImageRead
11
11
  from ...core.jsonable_encoder import jsonable_encoder
12
+ from ...types.docker_service_token import DockerServiceToken
12
13
  from ...core.client_wrapper import AsyncClientWrapper
13
14
 
14
15
  # this is used as the default value for optional parameters
@@ -131,6 +132,49 @@ class ContainerImagesClient:
131
132
  raise ApiError(status_code=_response.status_code, body=_response.text)
132
133
  raise ApiError(status_code=_response.status_code, body=_response_json)
133
134
 
135
+ def docker_service_token(self, *, request_options: typing.Optional[RequestOptions] = None) -> DockerServiceToken:
136
+ """
137
+ An internal-only endpoint that's subject to breaking changes without notice. Not intended for public use.
138
+
139
+ Parameters
140
+ ----------
141
+ request_options : typing.Optional[RequestOptions]
142
+ Request-specific configuration.
143
+
144
+ Returns
145
+ -------
146
+ DockerServiceToken
147
+
148
+
149
+ Examples
150
+ --------
151
+ from vellum import Vellum
152
+
153
+ client = Vellum(
154
+ api_key="YOUR_API_KEY",
155
+ )
156
+ client.container_images.docker_service_token()
157
+ """
158
+ _response = self._client_wrapper.httpx_client.request(
159
+ "v1/container-images/docker-service-token",
160
+ base_url=self._client_wrapper.get_environment().default,
161
+ method="GET",
162
+ request_options=request_options,
163
+ )
164
+ try:
165
+ if 200 <= _response.status_code < 300:
166
+ return typing.cast(
167
+ DockerServiceToken,
168
+ parse_obj_as(
169
+ type_=DockerServiceToken, # type: ignore
170
+ object_=_response.json(),
171
+ ),
172
+ )
173
+ _response_json = _response.json()
174
+ except JSONDecodeError:
175
+ raise ApiError(status_code=_response.status_code, body=_response.text)
176
+ raise ApiError(status_code=_response.status_code, body=_response_json)
177
+
134
178
  def push_container_image(
135
179
  self,
136
180
  *,
@@ -330,6 +374,59 @@ class AsyncContainerImagesClient:
330
374
  raise ApiError(status_code=_response.status_code, body=_response.text)
331
375
  raise ApiError(status_code=_response.status_code, body=_response_json)
332
376
 
377
+ async def docker_service_token(
378
+ self, *, request_options: typing.Optional[RequestOptions] = None
379
+ ) -> DockerServiceToken:
380
+ """
381
+ An internal-only endpoint that's subject to breaking changes without notice. Not intended for public use.
382
+
383
+ Parameters
384
+ ----------
385
+ request_options : typing.Optional[RequestOptions]
386
+ Request-specific configuration.
387
+
388
+ Returns
389
+ -------
390
+ DockerServiceToken
391
+
392
+
393
+ Examples
394
+ --------
395
+ import asyncio
396
+
397
+ from vellum import AsyncVellum
398
+
399
+ client = AsyncVellum(
400
+ api_key="YOUR_API_KEY",
401
+ )
402
+
403
+
404
+ async def main() -> None:
405
+ await client.container_images.docker_service_token()
406
+
407
+
408
+ asyncio.run(main())
409
+ """
410
+ _response = await self._client_wrapper.httpx_client.request(
411
+ "v1/container-images/docker-service-token",
412
+ base_url=self._client_wrapper.get_environment().default,
413
+ method="GET",
414
+ request_options=request_options,
415
+ )
416
+ try:
417
+ if 200 <= _response.status_code < 300:
418
+ return typing.cast(
419
+ DockerServiceToken,
420
+ parse_obj_as(
421
+ type_=DockerServiceToken, # type: ignore
422
+ object_=_response.json(),
423
+ ),
424
+ )
425
+ _response_json = _response.json()
426
+ except JSONDecodeError:
427
+ raise ApiError(status_code=_response.status_code, body=_response.text)
428
+ raise ApiError(status_code=_response.status_code, body=_response_json)
429
+
333
430
  async def push_container_image(
334
431
  self,
335
432
  *,
@@ -2,12 +2,15 @@
2
2
 
3
3
  import typing
4
4
  from ...core.client_wrapper import SyncClientWrapper
5
- from ...types.workflow_push_exec_config import WorkflowPushExecConfig
6
5
  from ...core.request_options import RequestOptions
7
- from ...types.workflow_push_response import WorkflowPushResponse
8
- from ...core.pydantic_utilities import parse_obj_as
6
+ from ...core.jsonable_encoder import jsonable_encoder
9
7
  from json.decoder import JSONDecodeError
10
8
  from ...core.api_error import ApiError
9
+ from ...types.workflow_push_exec_config import WorkflowPushExecConfig
10
+ from ...types.workflow_push_deployment_config_request import WorkflowPushDeploymentConfigRequest
11
+ from ...types.workflow_push_response import WorkflowPushResponse
12
+ from ...core.serialization import convert_and_respect_annotation_metadata
13
+ from ...core.pydantic_utilities import parse_obj_as
11
14
  from ...core.client_wrapper import AsyncClientWrapper
12
15
 
13
16
  # this is used as the default value for optional parameters
@@ -18,12 +21,58 @@ class WorkflowsClient:
18
21
  def __init__(self, *, client_wrapper: SyncClientWrapper):
19
22
  self._client_wrapper = client_wrapper
20
23
 
24
+ def pull(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> typing.Iterator[bytes]:
25
+ """
26
+ An internal-only endpoint that's subject to breaking changes without notice. Not intended for public use.
27
+
28
+ Parameters
29
+ ----------
30
+ id : str
31
+ The ID of the Workflow to pull from
32
+
33
+ request_options : typing.Optional[RequestOptions]
34
+ Request-specific configuration.
35
+
36
+ Yields
37
+ ------
38
+ typing.Iterator[bytes]
39
+
40
+
41
+ Examples
42
+ --------
43
+ from vellum import Vellum
44
+
45
+ client = Vellum(
46
+ api_key="YOUR_API_KEY",
47
+ )
48
+ client.workflows.pull(
49
+ id="string",
50
+ )
51
+ """
52
+ with self._client_wrapper.httpx_client.stream(
53
+ f"v1/workflows/{jsonable_encoder(id)}/pull",
54
+ base_url=self._client_wrapper.get_environment().default,
55
+ method="GET",
56
+ request_options=request_options,
57
+ ) as _response:
58
+ try:
59
+ if 200 <= _response.status_code < 300:
60
+ for _chunk in _response.iter_bytes():
61
+ yield _chunk
62
+ return
63
+ _response.read()
64
+ _response_json = _response.json()
65
+ except JSONDecodeError:
66
+ raise ApiError(status_code=_response.status_code, body=_response.text)
67
+ raise ApiError(status_code=_response.status_code, body=_response_json)
68
+
21
69
  def push(
22
70
  self,
23
71
  *,
24
72
  exec_config: WorkflowPushExecConfig,
25
73
  label: str,
26
74
  workflow_sandbox_id: typing.Optional[str] = OMIT,
75
+ deployment_config: typing.Optional[WorkflowPushDeploymentConfigRequest] = OMIT,
27
76
  request_options: typing.Optional[RequestOptions] = None,
28
77
  ) -> WorkflowPushResponse:
29
78
  """
@@ -37,6 +86,8 @@ class WorkflowsClient:
37
86
 
38
87
  workflow_sandbox_id : typing.Optional[str]
39
88
 
89
+ deployment_config : typing.Optional[WorkflowPushDeploymentConfigRequest]
90
+
40
91
  request_options : typing.Optional[RequestOptions]
41
92
  Request-specific configuration.
42
93
 
@@ -65,6 +116,9 @@ class WorkflowsClient:
65
116
  "exec_config": exec_config,
66
117
  "label": label,
67
118
  "workflow_sandbox_id": workflow_sandbox_id,
119
+ "deployment_config": convert_and_respect_annotation_metadata(
120
+ object_=deployment_config, annotation=WorkflowPushDeploymentConfigRequest, direction="write"
121
+ ),
68
122
  },
69
123
  request_options=request_options,
70
124
  omit=OMIT,
@@ -88,12 +142,68 @@ class AsyncWorkflowsClient:
88
142
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
89
143
  self._client_wrapper = client_wrapper
90
144
 
145
+ async def pull(
146
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
147
+ ) -> typing.AsyncIterator[bytes]:
148
+ """
149
+ An internal-only endpoint that's subject to breaking changes without notice. Not intended for public use.
150
+
151
+ Parameters
152
+ ----------
153
+ id : str
154
+ The ID of the Workflow to pull from
155
+
156
+ request_options : typing.Optional[RequestOptions]
157
+ Request-specific configuration.
158
+
159
+ Yields
160
+ ------
161
+ typing.AsyncIterator[bytes]
162
+
163
+
164
+ Examples
165
+ --------
166
+ import asyncio
167
+
168
+ from vellum import AsyncVellum
169
+
170
+ client = AsyncVellum(
171
+ api_key="YOUR_API_KEY",
172
+ )
173
+
174
+
175
+ async def main() -> None:
176
+ await client.workflows.pull(
177
+ id="string",
178
+ )
179
+
180
+
181
+ asyncio.run(main())
182
+ """
183
+ async with self._client_wrapper.httpx_client.stream(
184
+ f"v1/workflows/{jsonable_encoder(id)}/pull",
185
+ base_url=self._client_wrapper.get_environment().default,
186
+ method="GET",
187
+ request_options=request_options,
188
+ ) as _response:
189
+ try:
190
+ if 200 <= _response.status_code < 300:
191
+ async for _chunk in _response.aiter_bytes():
192
+ yield _chunk
193
+ return
194
+ await _response.aread()
195
+ _response_json = _response.json()
196
+ except JSONDecodeError:
197
+ raise ApiError(status_code=_response.status_code, body=_response.text)
198
+ raise ApiError(status_code=_response.status_code, body=_response_json)
199
+
91
200
  async def push(
92
201
  self,
93
202
  *,
94
203
  exec_config: WorkflowPushExecConfig,
95
204
  label: str,
96
205
  workflow_sandbox_id: typing.Optional[str] = OMIT,
206
+ deployment_config: typing.Optional[WorkflowPushDeploymentConfigRequest] = OMIT,
97
207
  request_options: typing.Optional[RequestOptions] = None,
98
208
  ) -> WorkflowPushResponse:
99
209
  """
@@ -107,6 +217,8 @@ class AsyncWorkflowsClient:
107
217
 
108
218
  workflow_sandbox_id : typing.Optional[str]
109
219
 
220
+ deployment_config : typing.Optional[WorkflowPushDeploymentConfigRequest]
221
+
110
222
  request_options : typing.Optional[RequestOptions]
111
223
  Request-specific configuration.
112
224
 
@@ -143,6 +255,9 @@ class AsyncWorkflowsClient:
143
255
  "exec_config": exec_config,
144
256
  "label": label,
145
257
  "workflow_sandbox_id": workflow_sandbox_id,
258
+ "deployment_config": convert_and_respect_annotation_metadata(
259
+ object_=deployment_config, annotation=WorkflowPushDeploymentConfigRequest, direction="write"
260
+ ),
146
261
  },
147
262
  request_options=request_options,
148
263
  omit=OMIT,
vellum/types/__init__.py CHANGED
@@ -20,6 +20,9 @@ from .array_vellum_value import ArrayVellumValue
20
20
  from .array_vellum_value_request import ArrayVellumValueRequest
21
21
  from .audio_chat_message_content import AudioChatMessageContent
22
22
  from .audio_chat_message_content_request import AudioChatMessageContentRequest
23
+ from .audio_variable_value import AudioVariableValue
24
+ from .audio_vellum_value import AudioVellumValue
25
+ from .audio_vellum_value_request import AudioVellumValueRequest
23
26
  from .basic_vectorizer_intfloat_multilingual_e_5_large import BasicVectorizerIntfloatMultilingualE5Large
24
27
  from .basic_vectorizer_intfloat_multilingual_e_5_large_request import BasicVectorizerIntfloatMultilingualE5LargeRequest
25
28
  from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1 import (
@@ -75,6 +78,7 @@ from .deployment_provider_payload_response_payload import DeploymentProviderPayl
75
78
  from .deployment_read import DeploymentRead
76
79
  from .deployment_release_tag_deployment_history_item import DeploymentReleaseTagDeploymentHistoryItem
77
80
  from .deployment_release_tag_read import DeploymentReleaseTagRead
81
+ from .docker_service_token import DockerServiceToken
78
82
  from .document_document_to_document_index import DocumentDocumentToDocumentIndex
79
83
  from .document_index_chunking import DocumentIndexChunking
80
84
  from .document_index_chunking_request import DocumentIndexChunkingRequest
@@ -469,6 +473,7 @@ from .workflow_output_json import WorkflowOutputJson
469
473
  from .workflow_output_number import WorkflowOutputNumber
470
474
  from .workflow_output_search_results import WorkflowOutputSearchResults
471
475
  from .workflow_output_string import WorkflowOutputString
476
+ from .workflow_push_deployment_config_request import WorkflowPushDeploymentConfigRequest
472
477
  from .workflow_push_exec_config import WorkflowPushExecConfig
473
478
  from .workflow_push_response import WorkflowPushResponse
474
479
  from .workflow_release_tag_read import WorkflowReleaseTagRead
@@ -512,6 +517,9 @@ __all__ = [
512
517
  "ArrayVellumValueRequest",
513
518
  "AudioChatMessageContent",
514
519
  "AudioChatMessageContentRequest",
520
+ "AudioVariableValue",
521
+ "AudioVellumValue",
522
+ "AudioVellumValueRequest",
515
523
  "BasicVectorizerIntfloatMultilingualE5Large",
516
524
  "BasicVectorizerIntfloatMultilingualE5LargeRequest",
517
525
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1",
@@ -559,6 +567,7 @@ __all__ = [
559
567
  "DeploymentRead",
560
568
  "DeploymentReleaseTagDeploymentHistoryItem",
561
569
  "DeploymentReleaseTagRead",
570
+ "DockerServiceToken",
562
571
  "DocumentDocumentToDocumentIndex",
563
572
  "DocumentIndexChunking",
564
573
  "DocumentIndexChunkingRequest",
@@ -945,6 +954,7 @@ __all__ = [
945
954
  "WorkflowOutputNumber",
946
955
  "WorkflowOutputSearchResults",
947
956
  "WorkflowOutputString",
957
+ "WorkflowPushDeploymentConfigRequest",
948
958
  "WorkflowPushExecConfig",
949
959
  "WorkflowPushResponse",
950
960
  "WorkflowReleaseTagRead",
@@ -8,6 +8,7 @@ from .json_variable_value import JsonVariableValue
8
8
  from .error_variable_value import ErrorVariableValue
9
9
  from .function_call_variable_value import FunctionCallVariableValue
10
10
  from .image_variable_value import ImageVariableValue
11
+ from .audio_variable_value import AudioVariableValue
11
12
  from .chat_history_variable_value import ChatHistoryVariableValue
12
13
  from .search_results_variable_value import SearchResultsVariableValue
13
14
  import typing
@@ -21,6 +22,7 @@ ArrayVariableValueItem = typing.Union[
21
22
  ErrorVariableValue,
22
23
  FunctionCallVariableValue,
23
24
  ImageVariableValue,
25
+ AudioVariableValue,
24
26
  ChatHistoryVariableValue,
25
27
  SearchResultsVariableValue,
26
28
  "ArrayVariableValue",
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .vellum_audio import VellumAudio
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class AudioVariableValue(UniversalBaseModel):
11
+ """
12
+ A base Vellum primitive value representing audio.
13
+ """
14
+
15
+ type: typing.Literal["AUDIO"] = "AUDIO"
16
+ value: typing.Optional[VellumAudio] = None
17
+
18
+ if IS_PYDANTIC_V2:
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
20
+ else:
21
+
22
+ class Config:
23
+ frozen = True
24
+ smart_union = True
25
+ extra = pydantic.Extra.allow
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .vellum_audio import VellumAudio
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class AudioVellumValue(UniversalBaseModel):
11
+ """
12
+ A base Vellum primitive value representing audio.
13
+ """
14
+
15
+ type: typing.Literal["AUDIO"] = "AUDIO"
16
+ value: typing.Optional[VellumAudio] = None
17
+
18
+ if IS_PYDANTIC_V2:
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
20
+ else:
21
+
22
+ class Config:
23
+ frozen = True
24
+ smart_union = True
25
+ extra = pydantic.Extra.allow
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .vellum_audio_request import VellumAudioRequest
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class AudioVellumValueRequest(UniversalBaseModel):
11
+ """
12
+ A base Vellum primitive value representing audio.
13
+ """
14
+
15
+ type: typing.Literal["AUDIO"] = "AUDIO"
16
+ value: typing.Optional[VellumAudioRequest] = None
17
+
18
+ if IS_PYDANTIC_V2:
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
20
+ else:
21
+
22
+ class Config:
23
+ frozen = True
24
+ smart_union = True
25
+ extra = pydantic.Extra.allow
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
5
+ import typing
6
+ import pydantic
7
+
8
+
9
+ class DockerServiceToken(UniversalBaseModel):
10
+ access_token: str
11
+ organization_id: str
12
+ repository: str
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
+ else:
17
+
18
+ class Config:
19
+ frozen = True
20
+ smart_union = True
21
+ extra = pydantic.Extra.allow
@@ -39,7 +39,7 @@ class EnrichedNormalizedCompletion(UniversalBaseModel):
39
39
  The logprobs of the completion. Only present if specified in the original request options.
40
40
  """
41
41
 
42
- model_version_id: str = pydantic.Field()
42
+ model_version_id: typing.Optional[str] = pydantic.Field(default=None)
43
43
  """
44
44
  The ID of the model version used to generate this completion.
45
45
  """
@@ -1,13 +1,17 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.pydantic_utilities import UniversalBaseModel
4
+ import pydantic
4
5
  import typing
5
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
- import pydantic
7
7
 
8
8
 
9
9
  class VellumAudio(UniversalBaseModel):
10
- src: str
10
+ src: str = pydantic.Field()
11
+ """
12
+ A valid data URL containing the audio data.
13
+ """
14
+
11
15
  metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
12
16
 
13
17
  if IS_PYDANTIC_V2:
@@ -1,13 +1,17 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.pydantic_utilities import UniversalBaseModel
4
+ import pydantic
4
5
  import typing
5
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
- import pydantic
7
7
 
8
8
 
9
9
  class VellumAudioRequest(UniversalBaseModel):
10
- src: str
10
+ src: str = pydantic.Field()
11
+ """
12
+ A valid data URL containing the audio data.
13
+ """
14
+
11
15
  metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
12
16
 
13
17
  if IS_PYDANTIC_V2:
@@ -6,6 +6,7 @@ from .string_vellum_value import StringVellumValue
6
6
  from .number_vellum_value import NumberVellumValue
7
7
  from .json_vellum_value import JsonVellumValue
8
8
  from .image_vellum_value import ImageVellumValue
9
+ from .audio_vellum_value import AudioVellumValue
9
10
  from .function_call_vellum_value import FunctionCallVellumValue
10
11
  from .error_vellum_value import ErrorVellumValue
11
12
  from .chat_history_vellum_value import ChatHistoryVellumValue
@@ -19,6 +20,7 @@ VellumValue = typing.Union[
19
20
  NumberVellumValue,
20
21
  JsonVellumValue,
21
22
  ImageVellumValue,
23
+ AudioVellumValue,
22
24
  FunctionCallVellumValue,
23
25
  ErrorVellumValue,
24
26
  "ArrayVellumValue",
@@ -6,6 +6,7 @@ from .string_vellum_value_request import StringVellumValueRequest
6
6
  from .number_vellum_value_request import NumberVellumValueRequest
7
7
  from .json_vellum_value_request import JsonVellumValueRequest
8
8
  from .image_vellum_value_request import ImageVellumValueRequest
9
+ from .audio_vellum_value_request import AudioVellumValueRequest
9
10
  from .function_call_vellum_value_request import FunctionCallVellumValueRequest
10
11
  from .error_vellum_value_request import ErrorVellumValueRequest
11
12
  from .chat_history_vellum_value_request import ChatHistoryVellumValueRequest
@@ -19,6 +20,7 @@ VellumValueRequest = typing.Union[
19
20
  NumberVellumValueRequest,
20
21
  JsonVellumValueRequest,
21
22
  ImageVellumValueRequest,
23
+ AudioVellumValueRequest,
22
24
  FunctionCallVellumValueRequest,
23
25
  ErrorVellumValueRequest,
24
26
  "ArrayVellumValueRequest",
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class WorkflowPushDeploymentConfigRequest(UniversalBaseModel):
10
+ label: typing.Optional[str] = None
11
+ name: typing.Optional[str] = None
12
+ description: typing.Optional[str] = None
13
+ release_tags: typing.Optional[typing.List[str]] = None
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -1,13 +1,14 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.pydantic_utilities import UniversalBaseModel
4
- from ..core.pydantic_utilities import IS_PYDANTIC_V2
5
4
  import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
6
  import pydantic
7
7
 
8
8
 
9
9
  class WorkflowPushResponse(UniversalBaseModel):
10
10
  workflow_sandbox_id: str
11
+ workflow_deployment_id: typing.Optional[str] = None
11
12
 
12
13
  if IS_PYDANTIC_V2:
13
14
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.9.2
3
+ Version: 0.9.4
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.8,<4.0
@@ -1,8 +1,8 @@
1
- vellum/__init__.py,sha256=DLO3lFK8O_dYKoxb8rvavpQM33DWDyiUZ7vtj14w41I,34176
1
+ vellum/__init__.py,sha256=0uj4fgRGYDQlofgZcuCvFYAjnUf8HE-zgTrjK4eO4YA,34466
2
2
  vellum/client.py,sha256=kG4b9g1Jjm6zgzGBXCAYXcM_3xNQfBsa2Xut6F0eHQM,115201
3
3
  vellum/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
4
4
  vellum/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
5
- vellum/core/client_wrapper.py,sha256=U0Ysm0UaPDp8GR9MXU31QAE37RXWmykoO9ek-a5jrwo,1889
5
+ vellum/core/client_wrapper.py,sha256=qXL8DgVAMpVjeIEN7QusP5nGW32c5LjXsB1UIb6dFEw,1889
6
6
  vellum/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
7
7
  vellum/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
8
8
  vellum/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
@@ -34,7 +34,7 @@ vellum/resources/__init__.py,sha256=oPvhJ3z-7efrRlZ7ILrHQTypPBcXLOtGZdGMmHiVpLU,
34
34
  vellum/resources/ad_hoc/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
35
35
  vellum/resources/ad_hoc/client.py,sha256=maNoWMHH8LSFlr5rDfoJybiPaoWuUiWFkt-IFq8dNMA,17271
36
36
  vellum/resources/container_images/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
37
- vellum/resources/container_images/client.py,sha256=UbR8Mf7F0ia_DyFMwiRmHlj1AR9Z4EFCl2oP3h8Iqj0,12276
37
+ vellum/resources/container_images/client.py,sha256=jK1n-NFsdBKCeEKh-EIqvw7R8AG9PP4GxxcoH9F0GYs,15463
38
38
  vellum/resources/deployments/__init__.py,sha256=AE0TcFwLrLBljM0ZDX-pPw4Kqt-1f5JDpIok2HS80QI,157
39
39
  vellum/resources/deployments/client.py,sha256=tF3llT_g6rfzDHpLhlEoz9gJDy8vIdNGKfICMJp3iEw,29236
40
40
  vellum/resources/deployments/types/__init__.py,sha256=IhwnmoXJ0r_QEhh1b2tBcaAm_x3fWMVuIhYmAapp_ZA,183
@@ -64,7 +64,7 @@ vellum/resources/workflow_deployments/types/workflow_deployments_list_request_st
64
64
  vellum/resources/workflow_sandboxes/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
65
65
  vellum/resources/workflow_sandboxes/client.py,sha256=3wVQxkjrJ5bIS8fB5FpKXCP2dX38299ghWrJ8YmXxwQ,7435
66
66
  vellum/resources/workflows/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
67
- vellum/resources/workflows/client.py,sha256=y8rjg69GUUiOxpenS8j4S_H7Rhpsn_A-1XV9zw9YTMM,4979
67
+ vellum/resources/workflows/client.py,sha256=fndxd7ZtNl4VA9-5-2pZKB1JQQDrC1pdzudcsWQ_YMg,9112
68
68
  vellum/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
69
69
  vellum/resources/workspace_secrets/client.py,sha256=h7UzXLyTttPq1t-JZGMg1BWxypxJvBGUdqg7KGT7MK4,8027
70
70
  vellum/terraform/__init__.py,sha256=CxzT0rkV9cXwAtxZ3gv46DCRt9vBl_Sx1SOj5MJtl0Y,498
@@ -78,7 +78,7 @@ vellum/terraform/ml_model/__init__.py,sha256=I8h1Ru-Rb-Hi_HusK6G7nJQZEKQGsAAHMmw
78
78
  vellum/terraform/provider/__init__.py,sha256=-06xKmAmknpohVzw5TD-t1bnUHta8OrQYqvMd04XM-U,12684
79
79
  vellum/terraform/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
80
80
  vellum/terraform/versions.json,sha256=45c7jjRD5i4w9DJQHs5ZqLLVXRnQwP9Rirq3mWY-xEo,56
81
- vellum/types/__init__.py,sha256=u_3CDRrgpYIHwabMsDv4M_zYjO0gE3hCLGBYt1lc3CM,52006
81
+ vellum/types/__init__.py,sha256=zItndgX3EfimrOEgJ3E2BblVGARK-BTjdvmg3dSxvU8,52464
82
82
  vellum/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
83
83
  vellum/types/ad_hoc_expand_meta_request.py,sha256=hS8PC3hC--OKvRKi2ZFj_RJPQ1bxo2GXno8qJq1kk28,1338
84
84
  vellum/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
@@ -94,11 +94,14 @@ vellum/types/array_chat_message_content_item_request.py,sha256=sF6gvW2UqE1EDJlG8
94
94
  vellum/types/array_chat_message_content_request.py,sha256=vpPV0KmM_uui7vFHY6f6kE1yj7iOwqOjxEuGhh1ZxFM,809
95
95
  vellum/types/array_input_request.py,sha256=eOuIc8jRrE4uCGWiopQkoSA9QR3VLDogbh2hj8ZxLzw,1069
96
96
  vellum/types/array_variable_value.py,sha256=_BQX5Kk1OLJaAyk3CPgsIgiLR_FI2pvbe5Ne8q9gsqY,876
97
- vellum/types/array_variable_value_item.py,sha256=UeEoHg9zOjYi9MPez8CAeZuRQy5RSu3KEiEyF-t2Nng,963
97
+ vellum/types/array_variable_value_item.py,sha256=5GDpe5sFc4aeJOeXqPxsyLSRYxQ9hFBg5RYlv12ZHaU,1040
98
98
  vellum/types/array_vellum_value.py,sha256=6ZDizIzijUFX29JD4lnNv1mOH-venLD_c_sIiONWzqE,915
99
99
  vellum/types/array_vellum_value_request.py,sha256=SUIfUTeJTDcsH76mb_PfQv3q0GEUkVr4Gk-dqn2Qr-I,951
100
100
  vellum/types/audio_chat_message_content.py,sha256=159ELbeifFmAOvqPKaVSemHytSJ6OR0kOCtspCj4Lmc,725
101
101
  vellum/types/audio_chat_message_content_request.py,sha256=0iy-fv_AYp_3FIJUNza3aqCZrnHBsYN-IwQO690qeUk,754
102
+ vellum/types/audio_variable_value.py,sha256=GLZMcQ_2IicejsXhvQz0kVNfIKmjLHqwa27qYOo881Y,747
103
+ vellum/types/audio_vellum_value.py,sha256=8tbwNkj5UtnjZhFIQZ18O233yCt4fK3BhXpR7S5VEt4,745
104
+ vellum/types/audio_vellum_value_request.py,sha256=KnEyYDvTVqNdYcb4v2AGs5nLbcWFSj351_A9nM2ad8Y,774
102
105
  vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large.py,sha256=YaPY5r4YGfMrcnmIKZgZhjNrVOINZfSo_c7xtNA9MY0,827
103
106
  vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py,sha256=HuuCD5Z_mUoMkkGoCnvQ4vkI8xt3zjO4x5mD6dheQ1I,834
104
107
  vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py,sha256=2svbTOM633pvslH9fw4F4M4LcWby_5r8-ukihTFuDuY,911
@@ -146,6 +149,7 @@ vellum/types/deployment_provider_payload_response_payload.py,sha256=xHLQnWFN0AZR
146
149
  vellum/types/deployment_read.py,sha256=NtXmYsYJOATxkMxeVkSM35XzDVGbva3RWmn5midBd1A,2160
147
150
  vellum/types/deployment_release_tag_deployment_history_item.py,sha256=df4qKHT1f-z0jnRS4UmP8MQe6u3PwYej_d8KDF7EL88,631
148
151
  vellum/types/deployment_release_tag_read.py,sha256=YlwssIgBd5lKVqelH-gejQXQ7l31vrsRNMJKDGDyTEA,1129
152
+ vellum/types/docker_service_token.py,sha256=T0icNHBKsIs6TrEiDRjckM_f37hcF1DMwEE8161tTvY,614
149
153
  vellum/types/document_document_to_document_index.py,sha256=LbXTZyYxA4hxewquf7ZLZgBD9uWGoIs1J64x4fY7bNg,1229
150
154
  vellum/types/document_index_chunking.py,sha256=TU0Y7z0Xacm3dhzEDuDIG3ZKJCu3vNURRh3PqEd17mY,356
151
155
  vellum/types/document_index_chunking_request.py,sha256=g9BKCsHKg5kzjG7YYeMNQ_5R8TXLeSgumJlMXoSfBcs,435
@@ -154,7 +158,7 @@ vellum/types/document_index_indexing_config_request.py,sha256=Wt-ys1o_acHNyLU0c1
154
158
  vellum/types/document_index_read.py,sha256=9btlJ9-H7DwTFfBljT2PuxtyTQjhiWTStvGqVJMwirE,1469
155
159
  vellum/types/document_read.py,sha256=heZt7k29GVehbKTofcLjRVe1R_UjbCK5Hcbgga3OODY,1930
156
160
  vellum/types/document_status.py,sha256=GD_TSoFmZUBJnPl-chAmaQFzQ2_TYO3PSqi3-9QfEHE,122
157
- vellum/types/enriched_normalized_completion.py,sha256=_NDkKVJj70uKDtIOsQB7E-dL0mOMPwjwgCzhif0RuJI,1796
161
+ vellum/types/enriched_normalized_completion.py,sha256=qk8o_PCj8rvgxa9omng0Nx5SvGNgzS7wnXMpoH56s8k,1825
158
162
  vellum/types/entity_status.py,sha256=bY0jEpISwXqFnbWd3PSb3yXEr-ounPXlAO_fyvHV7l8,158
159
163
  vellum/types/entity_visibility.py,sha256=BX1KdYd7dirpv878XDDvtOHkMOqebM8-lkWmLyFLaw4,184
160
164
  vellum/types/environment_enum.py,sha256=Wcewxp1cpGAMDIAZbTp4Y0GGfvy2Bq_Qu_67f_wBDGA,179
@@ -492,18 +496,18 @@ vellum/types/unit_enum.py,sha256=BKWRVp2WfHtGK4D6TsolhNJHGHfExzrRHkFn8H8QkwQ,113
492
496
  vellum/types/upload_document_response.py,sha256=6_5Cm4yBPq5nD-rEql6GsmrAtSVVtNRczOL5YwsBVMI,649
493
497
  vellum/types/upsert_test_suite_test_case_request.py,sha256=iB38vx4mo4yNLV5XTeXMGR-PJLOQPloWQOAAi7PDpM0,2079
494
498
  vellum/types/variable_prompt_block_request.py,sha256=XYiA3R_jaMZ2Mq37Lbh7CfBqqj93Yv8ZMVYGheodBdY,990
495
- vellum/types/vellum_audio.py,sha256=PiCX2QSfGIhVclKWwciTUQjbhK9vUiFyUzWVnt3x8ic,637
496
- vellum/types/vellum_audio_request.py,sha256=CHjXt7WV8oRQ7QbcT_Ty929yGAq--mMg2bZx3UU9fvE,644
499
+ vellum/types/vellum_audio.py,sha256=oPm1bcxk7fTfWfHWOPSLvrZrRBjCyPDVDRMACPoWmMI,721
500
+ vellum/types/vellum_audio_request.py,sha256=y9CZgQ1TteW0AHNk8GuAZLNVFa981rh7P9vyV8bfgys,728
497
501
  vellum/types/vellum_error.py,sha256=jCKfuCkDTiyFb1-QyP2cg0wReja6wMuooKPAjNhBA0M,643
498
502
  vellum/types/vellum_error_code_enum.py,sha256=thsWeS_QSTEF_vElgJ5tA2Zn98kF1mYnDRKtIJTu4fo,271
499
503
  vellum/types/vellum_error_request.py,sha256=RacXJoIgR8MeXXWDMI76pkxLBhCRgHnbj-aIJytZtP4,650
500
504
  vellum/types/vellum_image.py,sha256=wkFRgxOkxFPrmRdWTO58_41_vk0HYn5k4xsc-5ywxEs,637
501
505
  vellum/types/vellum_image_request.py,sha256=_Gr4L7PSY8PNQINyTy04hPdwLc8_bR1RTUWZ73RQRYM,644
502
- vellum/types/vellum_value.py,sha256=LPV1UFvtD2P3pnq1pyVNHHgVip_1Ncl3u8C7RCa6rkE,898
506
+ vellum/types/vellum_value.py,sha256=fpLQ84tTHb2OQK162TIqmfwa2_31M9NAmkzA1DIPAGY,969
503
507
  vellum/types/vellum_value_logical_condition_group_request.py,sha256=vyr6lhHuS-6YtcFL5TTmPGtKRoNI9w63N7N2RPQwKVQ,1402
504
508
  vellum/types/vellum_value_logical_condition_request.py,sha256=HkZfj4X48UHFrPDHgUi3lp0MUGBMfroC0noNqZ_rW8o,1177
505
509
  vellum/types/vellum_value_logical_expression_request.py,sha256=vjNsI1NUAkwxLwIXJM_DVXTObyAM63gOfHj6aHw7osc,479
506
- vellum/types/vellum_value_request.py,sha256=c0ds41RlI9rQnUXrt-An6wssRKLk7hKntjSEk7FqOuo,1103
510
+ vellum/types/vellum_value_request.py,sha256=Yke9JRiEaAS7i9NiCUMZiECzQOkSeb7jRRAVf5pXUWo,1196
507
511
  vellum/types/vellum_variable.py,sha256=LNNNlYbT1VqadO6aUmeir9cXirtxgrIl-R2EalYZ5Uo,1123
508
512
  vellum/types/vellum_variable_extensions.py,sha256=PsrRo0STOKhxrkSFRrOXCPlf1x5Uxpy3vVMJz02O20E,685
509
513
  vellum/types/vellum_variable_extensions_request.py,sha256=n5qAdEDpPtC_eS4HVRMFkm0f9GAvu16DZy7-R9FGEPI,692
@@ -532,8 +536,9 @@ vellum/types/workflow_output_json.py,sha256=MiCF-mq121YKZmYeaVpb3Tgh4XYqWjNgo3uM
532
536
  vellum/types/workflow_output_number.py,sha256=p8APNBpl6c3e3dxCFvZtL0jyKOmu9s6LkY3vgXwhTMw,812
533
537
  vellum/types/workflow_output_search_results.py,sha256=r3RRGVVrH2H9NAuxA7qmG8lponyeLHHhCx6AUiMYWzc,903
534
538
  vellum/types/workflow_output_string.py,sha256=_jclzbQ-Wlf-7FEVTWXhs9h5FWfj4xGpiODZBOzT43w,810
539
+ vellum/types/workflow_push_deployment_config_request.py,sha256=pG6bZtlw7S0TcXtNRQNa7y_2NodZe7dp5SchIrgRUVU,745
535
540
  vellum/types/workflow_push_exec_config.py,sha256=2JSGRwPx97IO3rDQmpyen_Zs7R4e1nDUk7jRAZG5U8s,151
536
- vellum/types/workflow_push_response.py,sha256=M9aVBUj4J9LGj5hMNBNMCVZKPnPvDWo9F90HSEhRW0o,578
541
+ vellum/types/workflow_push_response.py,sha256=BHFX9M87__2AwW6krLxumQ3ecOR6qMOMgVmvQdS_6Ls,634
537
542
  vellum/types/workflow_release_tag_read.py,sha256=S7ekl01oVDetL8R7MdBTb4cDhHN0W0iHGNJ1-ZpY3Tc,1155
538
543
  vellum/types/workflow_release_tag_workflow_deployment_history_item.py,sha256=pjWobdk9mZD3Px86rwFHfs_PYJBGXDKQUkxsgNEe6EA,825
539
544
  vellum/types/workflow_request_chat_history_input_request.py,sha256=WCZvwDuNS8ylWOOoKD3t7fHLSYB0h-fVCqeDRzqPoPA,898
@@ -554,7 +559,7 @@ vellum/types/workflow_result_event_output_data_string.py,sha256=tM3kgh6tEhD0dFEb
554
559
  vellum/types/workflow_stream_event.py,sha256=Wn3Yzuy9MqWAeo8tEaXDTKDEbJoA8DdYdMVq8EKuhu8,361
555
560
  vellum/types/workspace_secret_read.py,sha256=3CnHDG72IAY0KRNvc31F0xLmhnpwjQHnDYCfQJzCxI0,714
556
561
  vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
557
- vellum_ai-0.9.2.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
558
- vellum_ai-0.9.2.dist-info/METADATA,sha256=FFfP07L5xYK0bVhI00nVlnXSKbShSu97EjOb7qZ82y4,4394
559
- vellum_ai-0.9.2.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
560
- vellum_ai-0.9.2.dist-info/RECORD,,
562
+ vellum_ai-0.9.4.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
563
+ vellum_ai-0.9.4.dist-info/METADATA,sha256=y8it9R-h3WCzf_YmYGqst4wtxWSEZlOS1U3vc2NpKiY,4394
564
+ vellum_ai-0.9.4.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
565
+ vellum_ai-0.9.4.dist-info/RECORD,,