vellum-ai 0.9.1__py3-none-any.whl → 0.9.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
vellum/__init__.py CHANGED
@@ -19,6 +19,8 @@ from .types import (
19
19
  ArrayVariableValueItem,
20
20
  ArrayVellumValue,
21
21
  ArrayVellumValueRequest,
22
+ AudioChatMessageContent,
23
+ AudioChatMessageContentRequest,
22
24
  BasicVectorizerIntfloatMultilingualE5Large,
23
25
  BasicVectorizerIntfloatMultilingualE5LargeRequest,
24
26
  BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1,
@@ -66,6 +68,7 @@ from .types import (
66
68
  DeploymentRead,
67
69
  DeploymentReleaseTagDeploymentHistoryItem,
68
70
  DeploymentReleaseTagRead,
71
+ DockerServiceToken,
69
72
  DocumentDocumentToDocumentIndex,
70
73
  DocumentIndexChunking,
71
74
  DocumentIndexChunkingRequest,
@@ -412,6 +415,8 @@ from .types import (
412
415
  UploadDocumentResponse,
413
416
  UpsertTestSuiteTestCaseRequest,
414
417
  VariablePromptBlockRequest,
418
+ VellumAudio,
419
+ VellumAudioRequest,
415
420
  VellumError,
416
421
  VellumErrorCodeEnum,
417
422
  VellumErrorRequest,
@@ -517,6 +522,8 @@ __all__ = [
517
522
  "ArrayVellumValue",
518
523
  "ArrayVellumValueRequest",
519
524
  "AsyncVellum",
525
+ "AudioChatMessageContent",
526
+ "AudioChatMessageContentRequest",
520
527
  "BadRequestError",
521
528
  "BasicVectorizerIntfloatMultilingualE5Large",
522
529
  "BasicVectorizerIntfloatMultilingualE5LargeRequest",
@@ -566,6 +573,7 @@ __all__ = [
566
573
  "DeploymentReleaseTagDeploymentHistoryItem",
567
574
  "DeploymentReleaseTagRead",
568
575
  "DeploymentsListRequestStatus",
576
+ "DockerServiceToken",
569
577
  "DocumentDocumentToDocumentIndex",
570
578
  "DocumentIndexChunking",
571
579
  "DocumentIndexChunkingRequest",
@@ -918,6 +926,8 @@ __all__ = [
918
926
  "UpsertTestSuiteTestCaseRequest",
919
927
  "VariablePromptBlockRequest",
920
928
  "Vellum",
929
+ "VellumAudio",
930
+ "VellumAudioRequest",
921
931
  "VellumEnvironment",
922
932
  "VellumError",
923
933
  "VellumErrorCodeEnum",
@@ -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": "v0.9.1",
20
+ "X-Fern-SDK-Version": "v0.9.3",
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,13 @@
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_response import WorkflowPushResponse
11
+ from ...core.pydantic_utilities import parse_obj_as
11
12
  from ...core.client_wrapper import AsyncClientWrapper
12
13
 
13
14
  # this is used as the default value for optional parameters
@@ -18,11 +19,57 @@ class WorkflowsClient:
18
19
  def __init__(self, *, client_wrapper: SyncClientWrapper):
19
20
  self._client_wrapper = client_wrapper
20
21
 
22
+ def pull(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> typing.Iterator[bytes]:
23
+ """
24
+ An internal-only endpoint that's subject to breaking changes without notice. Not intended for public use.
25
+
26
+ Parameters
27
+ ----------
28
+ id : str
29
+ The ID of the Workflow to pull from
30
+
31
+ request_options : typing.Optional[RequestOptions]
32
+ Request-specific configuration.
33
+
34
+ Yields
35
+ ------
36
+ typing.Iterator[bytes]
37
+
38
+
39
+ Examples
40
+ --------
41
+ from vellum import Vellum
42
+
43
+ client = Vellum(
44
+ api_key="YOUR_API_KEY",
45
+ )
46
+ client.workflows.pull(
47
+ id="string",
48
+ )
49
+ """
50
+ with self._client_wrapper.httpx_client.stream(
51
+ f"v1/workflows/{jsonable_encoder(id)}/pull",
52
+ base_url=self._client_wrapper.get_environment().default,
53
+ method="GET",
54
+ request_options=request_options,
55
+ ) as _response:
56
+ try:
57
+ if 200 <= _response.status_code < 300:
58
+ for _chunk in _response.iter_bytes():
59
+ yield _chunk
60
+ return
61
+ _response.read()
62
+ _response_json = _response.json()
63
+ except JSONDecodeError:
64
+ raise ApiError(status_code=_response.status_code, body=_response.text)
65
+ raise ApiError(status_code=_response.status_code, body=_response_json)
66
+
21
67
  def push(
22
68
  self,
23
69
  *,
24
70
  exec_config: WorkflowPushExecConfig,
25
71
  label: str,
72
+ workflow_sandbox_id: typing.Optional[str] = OMIT,
26
73
  request_options: typing.Optional[RequestOptions] = None,
27
74
  ) -> WorkflowPushResponse:
28
75
  """
@@ -34,6 +81,8 @@ class WorkflowsClient:
34
81
 
35
82
  label : str
36
83
 
84
+ workflow_sandbox_id : typing.Optional[str]
85
+
37
86
  request_options : typing.Optional[RequestOptions]
38
87
  Request-specific configuration.
39
88
 
@@ -61,6 +110,7 @@ class WorkflowsClient:
61
110
  json={
62
111
  "exec_config": exec_config,
63
112
  "label": label,
113
+ "workflow_sandbox_id": workflow_sandbox_id,
64
114
  },
65
115
  request_options=request_options,
66
116
  omit=OMIT,
@@ -84,11 +134,67 @@ class AsyncWorkflowsClient:
84
134
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
85
135
  self._client_wrapper = client_wrapper
86
136
 
137
+ async def pull(
138
+ self, id: str, *, request_options: typing.Optional[RequestOptions] = None
139
+ ) -> typing.AsyncIterator[bytes]:
140
+ """
141
+ An internal-only endpoint that's subject to breaking changes without notice. Not intended for public use.
142
+
143
+ Parameters
144
+ ----------
145
+ id : str
146
+ The ID of the Workflow to pull from
147
+
148
+ request_options : typing.Optional[RequestOptions]
149
+ Request-specific configuration.
150
+
151
+ Yields
152
+ ------
153
+ typing.AsyncIterator[bytes]
154
+
155
+
156
+ Examples
157
+ --------
158
+ import asyncio
159
+
160
+ from vellum import AsyncVellum
161
+
162
+ client = AsyncVellum(
163
+ api_key="YOUR_API_KEY",
164
+ )
165
+
166
+
167
+ async def main() -> None:
168
+ await client.workflows.pull(
169
+ id="string",
170
+ )
171
+
172
+
173
+ asyncio.run(main())
174
+ """
175
+ async with self._client_wrapper.httpx_client.stream(
176
+ f"v1/workflows/{jsonable_encoder(id)}/pull",
177
+ base_url=self._client_wrapper.get_environment().default,
178
+ method="GET",
179
+ request_options=request_options,
180
+ ) as _response:
181
+ try:
182
+ if 200 <= _response.status_code < 300:
183
+ async for _chunk in _response.aiter_bytes():
184
+ yield _chunk
185
+ return
186
+ await _response.aread()
187
+ _response_json = _response.json()
188
+ except JSONDecodeError:
189
+ raise ApiError(status_code=_response.status_code, body=_response.text)
190
+ raise ApiError(status_code=_response.status_code, body=_response_json)
191
+
87
192
  async def push(
88
193
  self,
89
194
  *,
90
195
  exec_config: WorkflowPushExecConfig,
91
196
  label: str,
197
+ workflow_sandbox_id: typing.Optional[str] = OMIT,
92
198
  request_options: typing.Optional[RequestOptions] = None,
93
199
  ) -> WorkflowPushResponse:
94
200
  """
@@ -100,6 +206,8 @@ class AsyncWorkflowsClient:
100
206
 
101
207
  label : str
102
208
 
209
+ workflow_sandbox_id : typing.Optional[str]
210
+
103
211
  request_options : typing.Optional[RequestOptions]
104
212
  Request-specific configuration.
105
213
 
@@ -135,6 +243,7 @@ class AsyncWorkflowsClient:
135
243
  json={
136
244
  "exec_config": exec_config,
137
245
  "label": label,
246
+ "workflow_sandbox_id": workflow_sandbox_id,
138
247
  },
139
248
  request_options=request_options,
140
249
  omit=OMIT,
vellum/types/__init__.py CHANGED
@@ -18,6 +18,8 @@ from .array_variable_value import ArrayVariableValue
18
18
  from .array_variable_value_item import ArrayVariableValueItem
19
19
  from .array_vellum_value import ArrayVellumValue
20
20
  from .array_vellum_value_request import ArrayVellumValueRequest
21
+ from .audio_chat_message_content import AudioChatMessageContent
22
+ from .audio_chat_message_content_request import AudioChatMessageContentRequest
21
23
  from .basic_vectorizer_intfloat_multilingual_e_5_large import BasicVectorizerIntfloatMultilingualE5Large
22
24
  from .basic_vectorizer_intfloat_multilingual_e_5_large_request import BasicVectorizerIntfloatMultilingualE5LargeRequest
23
25
  from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1 import (
@@ -73,6 +75,7 @@ from .deployment_provider_payload_response_payload import DeploymentProviderPayl
73
75
  from .deployment_read import DeploymentRead
74
76
  from .deployment_release_tag_deployment_history_item import DeploymentReleaseTagDeploymentHistoryItem
75
77
  from .deployment_release_tag_read import DeploymentReleaseTagRead
78
+ from .docker_service_token import DockerServiceToken
76
79
  from .document_document_to_document_index import DocumentDocumentToDocumentIndex
77
80
  from .document_index_chunking import DocumentIndexChunking
78
81
  from .document_index_chunking_request import DocumentIndexChunkingRequest
@@ -427,6 +430,8 @@ from .unit_enum import UnitEnum
427
430
  from .upload_document_response import UploadDocumentResponse
428
431
  from .upsert_test_suite_test_case_request import UpsertTestSuiteTestCaseRequest
429
432
  from .variable_prompt_block_request import VariablePromptBlockRequest
433
+ from .vellum_audio import VellumAudio
434
+ from .vellum_audio_request import VellumAudioRequest
430
435
  from .vellum_error import VellumError
431
436
  from .vellum_error_code_enum import VellumErrorCodeEnum
432
437
  from .vellum_error_request import VellumErrorRequest
@@ -506,6 +511,8 @@ __all__ = [
506
511
  "ArrayVariableValueItem",
507
512
  "ArrayVellumValue",
508
513
  "ArrayVellumValueRequest",
514
+ "AudioChatMessageContent",
515
+ "AudioChatMessageContentRequest",
509
516
  "BasicVectorizerIntfloatMultilingualE5Large",
510
517
  "BasicVectorizerIntfloatMultilingualE5LargeRequest",
511
518
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1",
@@ -553,6 +560,7 @@ __all__ = [
553
560
  "DeploymentRead",
554
561
  "DeploymentReleaseTagDeploymentHistoryItem",
555
562
  "DeploymentReleaseTagRead",
563
+ "DockerServiceToken",
556
564
  "DocumentDocumentToDocumentIndex",
557
565
  "DocumentIndexChunking",
558
566
  "DocumentIndexChunkingRequest",
@@ -899,6 +907,8 @@ __all__ = [
899
907
  "UploadDocumentResponse",
900
908
  "UpsertTestSuiteTestCaseRequest",
901
909
  "VariablePromptBlockRequest",
910
+ "VellumAudio",
911
+ "VellumAudioRequest",
902
912
  "VellumError",
903
913
  "VellumErrorCodeEnum",
904
914
  "VellumErrorRequest",
@@ -4,7 +4,8 @@ import typing
4
4
  from .string_chat_message_content import StringChatMessageContent
5
5
  from .function_call_chat_message_content import FunctionCallChatMessageContent
6
6
  from .image_chat_message_content import ImageChatMessageContent
7
+ from .audio_chat_message_content import AudioChatMessageContent
7
8
 
8
9
  ArrayChatMessageContentItem = typing.Union[
9
- StringChatMessageContent, FunctionCallChatMessageContent, ImageChatMessageContent
10
+ StringChatMessageContent, FunctionCallChatMessageContent, ImageChatMessageContent, AudioChatMessageContent
10
11
  ]
@@ -4,7 +4,11 @@ import typing
4
4
  from .string_chat_message_content_request import StringChatMessageContentRequest
5
5
  from .function_call_chat_message_content_request import FunctionCallChatMessageContentRequest
6
6
  from .image_chat_message_content_request import ImageChatMessageContentRequest
7
+ from .audio_chat_message_content_request import AudioChatMessageContentRequest
7
8
 
8
9
  ArrayChatMessageContentItemRequest = typing.Union[
9
- StringChatMessageContentRequest, FunctionCallChatMessageContentRequest, ImageChatMessageContentRequest
10
+ StringChatMessageContentRequest,
11
+ FunctionCallChatMessageContentRequest,
12
+ ImageChatMessageContentRequest,
13
+ AudioChatMessageContentRequest,
10
14
  ]
@@ -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 AudioChatMessageContent(UniversalBaseModel):
11
+ """
12
+ An audio value that is used in a chat message.
13
+ """
14
+
15
+ type: typing.Literal["AUDIO"] = "AUDIO"
16
+ value: VellumAudio
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 AudioChatMessageContentRequest(UniversalBaseModel):
11
+ """
12
+ An audio value that is used in a chat message.
13
+ """
14
+
15
+ type: typing.Literal["AUDIO"] = "AUDIO"
16
+ value: VellumAudioRequest
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
@@ -5,7 +5,12 @@ from .string_chat_message_content import StringChatMessageContent
5
5
  from .function_call_chat_message_content import FunctionCallChatMessageContent
6
6
  from .array_chat_message_content import ArrayChatMessageContent
7
7
  from .image_chat_message_content import ImageChatMessageContent
8
+ from .audio_chat_message_content import AudioChatMessageContent
8
9
 
9
10
  ChatMessageContent = typing.Union[
10
- StringChatMessageContent, FunctionCallChatMessageContent, ArrayChatMessageContent, ImageChatMessageContent
11
+ StringChatMessageContent,
12
+ FunctionCallChatMessageContent,
13
+ ArrayChatMessageContent,
14
+ ImageChatMessageContent,
15
+ AudioChatMessageContent,
11
16
  ]
@@ -5,10 +5,12 @@ from .string_chat_message_content_request import StringChatMessageContentRequest
5
5
  from .function_call_chat_message_content_request import FunctionCallChatMessageContentRequest
6
6
  from .array_chat_message_content_request import ArrayChatMessageContentRequest
7
7
  from .image_chat_message_content_request import ImageChatMessageContentRequest
8
+ from .audio_chat_message_content_request import AudioChatMessageContentRequest
8
9
 
9
10
  ChatMessageContentRequest = typing.Union[
10
11
  StringChatMessageContentRequest,
11
12
  FunctionCallChatMessageContentRequest,
12
13
  ArrayChatMessageContentRequest,
13
14
  ImageChatMessageContentRequest,
15
+ AudioChatMessageContentRequest,
14
16
  ]
@@ -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
  """
@@ -0,0 +1,20 @@
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 VellumAudio(UniversalBaseModel):
10
+ src: str
11
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -0,0 +1,20 @@
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 VellumAudioRequest(UniversalBaseModel):
10
+ src: str
11
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = None
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.9.1
3
+ Version: 0.9.3
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.8,<4.0
@@ -1,8 +1,8 @@
1
- vellum/__init__.py,sha256=5orOgV72nzhRO2AGHS9fP2n5SG3gEckKr2170cwREPo,33956
1
+ vellum/__init__.py,sha256=uz3omyTboMrMSk6YMbpqA5CI62by2F8tUuu9LWhK66I,34226
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=K7a6Y6FIC2REqaU9S58PfUWQgGGhFz32Xf3EyMgPtQA,1890
5
+ vellum/core/client_wrapper.py,sha256=NgWlRdAr9JcMt5BPf4juPIsbFQfSBTNhjyjHNr8y864,1890
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=ZOUOWKdQRv7tFks5c8gwU6JMSLeskYu7Om9gk8t1oCM,4639
67
+ vellum/resources/workflows/client.py,sha256=lXyxcMpu4pYGd9EmdLHCWTKEwJ2owPOoH_kI7lT5dOQ,8181
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=Stggqgi9cQg3X_6JfvP4t-lM2gG0pM6Dt12VqIQeSv4,51658
81
+ vellum/types/__init__.py,sha256=TsOOpzY7n4ut1T1LuZxN54GgthpA1V0pD10bvhXdZt8,52085
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
@@ -89,14 +89,16 @@ vellum/types/add_openai_api_key_enum.py,sha256=GB7sLK_Ou7-Xn73sKJHUo6Gx3TjyhU7uJ
89
89
  vellum/types/api_node_result.py,sha256=3zAbNGNYY6EgJDzqmcIvLqq8wU-WoMEwGT1W1fjto6U,729
90
90
  vellum/types/api_node_result_data.py,sha256=qb0hMdyZvWnlqjfmzSf_AWyUYbBhwkXGoRXNtduSG0U,909
91
91
  vellum/types/array_chat_message_content.py,sha256=353TDzStNXA2dQETvnJrazCr33nlFx7hgvvPV526ECg,780
92
- vellum/types/array_chat_message_content_item.py,sha256=XyWDIqVeWoqLzUIvZO_qj_-iwCr6SBcvQJoVxKAjmDs,421
93
- vellum/types/array_chat_message_content_item_request.py,sha256=AUFfh6CQfrD4MdwpS3KhGpalaYpEj_hAlF_lePDDdbU,494
92
+ vellum/types/array_chat_message_content_item.py,sha256=7Um9YRe91I4F6YAOMEHoaJeplRdKwLP7a5HyLpYk_Y4,510
93
+ vellum/types/array_chat_message_content_item_request.py,sha256=sF6gvW2UqE1EDJlG8w7mmiGWYehdSyfU350r1LTpwJM,618
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
97
  vellum/types/array_variable_value_item.py,sha256=UeEoHg9zOjYi9MPez8CAeZuRQy5RSu3KEiEyF-t2Nng,963
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
+ vellum/types/audio_chat_message_content.py,sha256=159ELbeifFmAOvqPKaVSemHytSJ6OR0kOCtspCj4Lmc,725
101
+ vellum/types/audio_chat_message_content_request.py,sha256=0iy-fv_AYp_3FIJUNza3aqCZrnHBsYN-IwQO690qeUk,754
100
102
  vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large.py,sha256=YaPY5r4YGfMrcnmIKZgZhjNrVOINZfSo_c7xtNA9MY0,827
101
103
  vellum/types/basic_vectorizer_intfloat_multilingual_e_5_large_request.py,sha256=HuuCD5Z_mUoMkkGoCnvQ4vkI8xt3zjO4x5mD6dheQ1I,834
102
104
  vellum/types/basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_cos_v_1.py,sha256=2svbTOM633pvslH9fw4F4M4LcWby_5r8-ukihTFuDuY,911
@@ -108,8 +110,8 @@ vellum/types/chat_history_variable_value.py,sha256=pHMZQSnkfbAfVZaeiZaPVMDt1xdlV
108
110
  vellum/types/chat_history_vellum_value.py,sha256=_yg6qk2Jci_rjFPOd3KNkXY0AduoEX1Tk8oPzQVpBYw,763
109
111
  vellum/types/chat_history_vellum_value_request.py,sha256=HzAiysncG5unJ-tlb43HhGZF8oYxN3rN7HGxG9g6Jiw,792
110
112
  vellum/types/chat_message.py,sha256=EOA8v5Ebx2KS9BtwBBGbuvSK-pn4xWYZiioHuuPWvzw,916
111
- vellum/types/chat_message_content.py,sha256=2Fd2Ek-lO3rdfAXFc1eJlwisMVQwbESAcRHFedkeF3A,501
112
- vellum/types/chat_message_content_request.py,sha256=609nXvgmv65ZohV2B4Kh3cr30Tez69BdDidBYhiREP4,609
113
+ vellum/types/chat_message_content.py,sha256=DQLB5rG40qLRLsmKWWo-XKa4rhk9TGQs_eFTFow2zEM,607
114
+ vellum/types/chat_message_content_request.py,sha256=iFT_PmN6sUjeN1_fZXr2ePJEbSq_GZcClBvtu8SdVmQ,724
113
115
  vellum/types/chat_message_prompt_block_properties_request.py,sha256=lMBVwR5hnBykjVpcptjBJLj4QhUpomtxdj-E2Th8iYw,1346
114
116
  vellum/types/chat_message_prompt_block_request.py,sha256=osPqtdZOG9NW_Iqcv0CyvkU2cHZzPeVVIWQUGvnB-Dw,1423
115
117
  vellum/types/chat_message_request.py,sha256=r2EW1pfnvNYx2fo6mBqU5HQrUzp67WXuE5G-XK281E4,945
@@ -144,6 +146,7 @@ vellum/types/deployment_provider_payload_response_payload.py,sha256=xHLQnWFN0AZR
144
146
  vellum/types/deployment_read.py,sha256=NtXmYsYJOATxkMxeVkSM35XzDVGbva3RWmn5midBd1A,2160
145
147
  vellum/types/deployment_release_tag_deployment_history_item.py,sha256=df4qKHT1f-z0jnRS4UmP8MQe6u3PwYej_d8KDF7EL88,631
146
148
  vellum/types/deployment_release_tag_read.py,sha256=YlwssIgBd5lKVqelH-gejQXQ7l31vrsRNMJKDGDyTEA,1129
149
+ vellum/types/docker_service_token.py,sha256=T0icNHBKsIs6TrEiDRjckM_f37hcF1DMwEE8161tTvY,614
147
150
  vellum/types/document_document_to_document_index.py,sha256=LbXTZyYxA4hxewquf7ZLZgBD9uWGoIs1J64x4fY7bNg,1229
148
151
  vellum/types/document_index_chunking.py,sha256=TU0Y7z0Xacm3dhzEDuDIG3ZKJCu3vNURRh3PqEd17mY,356
149
152
  vellum/types/document_index_chunking_request.py,sha256=g9BKCsHKg5kzjG7YYeMNQ_5R8TXLeSgumJlMXoSfBcs,435
@@ -152,7 +155,7 @@ vellum/types/document_index_indexing_config_request.py,sha256=Wt-ys1o_acHNyLU0c1
152
155
  vellum/types/document_index_read.py,sha256=9btlJ9-H7DwTFfBljT2PuxtyTQjhiWTStvGqVJMwirE,1469
153
156
  vellum/types/document_read.py,sha256=heZt7k29GVehbKTofcLjRVe1R_UjbCK5Hcbgga3OODY,1930
154
157
  vellum/types/document_status.py,sha256=GD_TSoFmZUBJnPl-chAmaQFzQ2_TYO3PSqi3-9QfEHE,122
155
- vellum/types/enriched_normalized_completion.py,sha256=_NDkKVJj70uKDtIOsQB7E-dL0mOMPwjwgCzhif0RuJI,1796
158
+ vellum/types/enriched_normalized_completion.py,sha256=qk8o_PCj8rvgxa9omng0Nx5SvGNgzS7wnXMpoH56s8k,1825
156
159
  vellum/types/entity_status.py,sha256=bY0jEpISwXqFnbWd3PSb3yXEr-ounPXlAO_fyvHV7l8,158
157
160
  vellum/types/entity_visibility.py,sha256=BX1KdYd7dirpv878XDDvtOHkMOqebM8-lkWmLyFLaw4,184
158
161
  vellum/types/environment_enum.py,sha256=Wcewxp1cpGAMDIAZbTp4Y0GGfvy2Bq_Qu_67f_wBDGA,179
@@ -490,6 +493,8 @@ vellum/types/unit_enum.py,sha256=BKWRVp2WfHtGK4D6TsolhNJHGHfExzrRHkFn8H8QkwQ,113
490
493
  vellum/types/upload_document_response.py,sha256=6_5Cm4yBPq5nD-rEql6GsmrAtSVVtNRczOL5YwsBVMI,649
491
494
  vellum/types/upsert_test_suite_test_case_request.py,sha256=iB38vx4mo4yNLV5XTeXMGR-PJLOQPloWQOAAi7PDpM0,2079
492
495
  vellum/types/variable_prompt_block_request.py,sha256=XYiA3R_jaMZ2Mq37Lbh7CfBqqj93Yv8ZMVYGheodBdY,990
496
+ vellum/types/vellum_audio.py,sha256=PiCX2QSfGIhVclKWwciTUQjbhK9vUiFyUzWVnt3x8ic,637
497
+ vellum/types/vellum_audio_request.py,sha256=CHjXt7WV8oRQ7QbcT_Ty929yGAq--mMg2bZx3UU9fvE,644
493
498
  vellum/types/vellum_error.py,sha256=jCKfuCkDTiyFb1-QyP2cg0wReja6wMuooKPAjNhBA0M,643
494
499
  vellum/types/vellum_error_code_enum.py,sha256=thsWeS_QSTEF_vElgJ5tA2Zn98kF1mYnDRKtIJTu4fo,271
495
500
  vellum/types/vellum_error_request.py,sha256=RacXJoIgR8MeXXWDMI76pkxLBhCRgHnbj-aIJytZtP4,650
@@ -550,7 +555,7 @@ vellum/types/workflow_result_event_output_data_string.py,sha256=tM3kgh6tEhD0dFEb
550
555
  vellum/types/workflow_stream_event.py,sha256=Wn3Yzuy9MqWAeo8tEaXDTKDEbJoA8DdYdMVq8EKuhu8,361
551
556
  vellum/types/workspace_secret_read.py,sha256=3CnHDG72IAY0KRNvc31F0xLmhnpwjQHnDYCfQJzCxI0,714
552
557
  vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
553
- vellum_ai-0.9.1.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
554
- vellum_ai-0.9.1.dist-info/METADATA,sha256=puAeAFvUsT8dk-MWeizk0MDqQqV8pfFmksGzaUZ3By0,4394
555
- vellum_ai-0.9.1.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
556
- vellum_ai-0.9.1.dist-info/RECORD,,
558
+ vellum_ai-0.9.3.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
559
+ vellum_ai-0.9.3.dist-info/METADATA,sha256=D55Hrkl9LmXgxpCVIgO1rfc_G8dFKO3REHEtqj6qE7U,4394
560
+ vellum_ai-0.9.3.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
561
+ vellum_ai-0.9.3.dist-info/RECORD,,