vellum-ai 0.0.29__py3-none-any.whl → 0.0.31__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 +6 -4
- vellum/client.py +8 -4
- vellum/core/client_wrapper.py +5 -1
- vellum/resources/documents/client.py +94 -0
- vellum/types/__init__.py +6 -4
- vellum/types/deployment_read.py +2 -2
- vellum/types/{deployment_read_status_enum.py → deployment_status.py} +4 -4
- vellum/types/document_read.py +53 -0
- vellum/types/{slim_document_status_enum.py → document_status.py} +1 -1
- vellum/types/slim_document.py +2 -2
- vellum/types/terminal_node_chat_history_result.py +1 -1
- vellum/types/terminal_node_json_result.py +1 -1
- vellum/types/terminal_node_string_result.py +1 -1
- {vellum_ai-0.0.29.dist-info → vellum_ai-0.0.31.dist-info}/METADATA +1 -1
- {vellum_ai-0.0.29.dist-info → vellum_ai-0.0.31.dist-info}/RECORD +16 -15
- {vellum_ai-0.0.29.dist-info → vellum_ai-0.0.31.dist-info}/WHEEL +0 -0
vellum/__init__.py
CHANGED
@@ -11,11 +11,13 @@ from .types import (
|
|
11
11
|
DeploymentNodeResult,
|
12
12
|
DeploymentNodeResultData,
|
13
13
|
DeploymentRead,
|
14
|
-
|
14
|
+
DeploymentStatus,
|
15
15
|
Document,
|
16
16
|
DocumentDocumentToDocumentIndex,
|
17
17
|
DocumentIndexRead,
|
18
18
|
DocumentIndexStatus,
|
19
|
+
DocumentRead,
|
20
|
+
DocumentStatus,
|
19
21
|
EnrichedNormalizedCompletion,
|
20
22
|
EnvironmentEnum,
|
21
23
|
EvaluationParams,
|
@@ -90,7 +92,6 @@ from .types import (
|
|
90
92
|
SearchResultMergingRequest,
|
91
93
|
SearchWeightsRequest,
|
92
94
|
SlimDocument,
|
93
|
-
SlimDocumentStatusEnum,
|
94
95
|
SubmitCompletionActualRequest,
|
95
96
|
SubmitCompletionActualsErrorResponse,
|
96
97
|
TerminalNodeChatHistoryResult,
|
@@ -163,11 +164,13 @@ __all__ = [
|
|
163
164
|
"DeploymentNodeResult",
|
164
165
|
"DeploymentNodeResultData",
|
165
166
|
"DeploymentRead",
|
166
|
-
"
|
167
|
+
"DeploymentStatus",
|
167
168
|
"Document",
|
168
169
|
"DocumentDocumentToDocumentIndex",
|
169
170
|
"DocumentIndexRead",
|
170
171
|
"DocumentIndexStatus",
|
172
|
+
"DocumentRead",
|
173
|
+
"DocumentStatus",
|
171
174
|
"EnrichedNormalizedCompletion",
|
172
175
|
"EnvironmentEnum",
|
173
176
|
"EvaluationParams",
|
@@ -245,7 +248,6 @@ __all__ = [
|
|
245
248
|
"SearchResultMergingRequest",
|
246
249
|
"SearchWeightsRequest",
|
247
250
|
"SlimDocument",
|
248
|
-
"SlimDocumentStatusEnum",
|
249
251
|
"SubmitCompletionActualRequest",
|
250
252
|
"SubmitCompletionActualsErrorResponse",
|
251
253
|
"TerminalNodeChatHistoryResult",
|
vellum/client.py
CHANGED
@@ -109,12 +109,14 @@ class Vellum:
|
|
109
109
|
continue
|
110
110
|
yield pydantic.parse_obj_as(WorkflowStreamEvent, json.loads(_text)) # type: ignore
|
111
111
|
return
|
112
|
+
_response.read()
|
113
|
+
if _response.status_code == 400:
|
114
|
+
raise BadRequestError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
112
115
|
if _response.status_code == 404:
|
113
116
|
raise NotFoundError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
114
117
|
if _response.status_code == 500:
|
115
118
|
raise InternalServerError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
116
119
|
try:
|
117
|
-
_response.read()
|
118
120
|
_response_json = _response.json()
|
119
121
|
except JSONDecodeError:
|
120
122
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
@@ -218,6 +220,7 @@ class Vellum:
|
|
218
220
|
continue
|
219
221
|
yield pydantic.parse_obj_as(GenerateStreamResponse, json.loads(_text)) # type: ignore
|
220
222
|
return
|
223
|
+
_response.read()
|
221
224
|
if _response.status_code == 400:
|
222
225
|
raise BadRequestError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
223
226
|
if _response.status_code == 403:
|
@@ -227,7 +230,6 @@ class Vellum:
|
|
227
230
|
if _response.status_code == 500:
|
228
231
|
raise InternalServerError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
229
232
|
try:
|
230
|
-
_response.read()
|
231
233
|
_response_json = _response.json()
|
232
234
|
except JSONDecodeError:
|
233
235
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
@@ -405,12 +407,14 @@ class AsyncVellum:
|
|
405
407
|
continue
|
406
408
|
yield pydantic.parse_obj_as(WorkflowStreamEvent, json.loads(_text)) # type: ignore
|
407
409
|
return
|
410
|
+
await _response.aread()
|
411
|
+
if _response.status_code == 400:
|
412
|
+
raise BadRequestError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
408
413
|
if _response.status_code == 404:
|
409
414
|
raise NotFoundError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
410
415
|
if _response.status_code == 500:
|
411
416
|
raise InternalServerError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
412
417
|
try:
|
413
|
-
await _response.aread()
|
414
418
|
_response_json = _response.json()
|
415
419
|
except JSONDecodeError:
|
416
420
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
@@ -514,6 +518,7 @@ class AsyncVellum:
|
|
514
518
|
continue
|
515
519
|
yield pydantic.parse_obj_as(GenerateStreamResponse, json.loads(_text)) # type: ignore
|
516
520
|
return
|
521
|
+
await _response.aread()
|
517
522
|
if _response.status_code == 400:
|
518
523
|
raise BadRequestError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
519
524
|
if _response.status_code == 403:
|
@@ -523,7 +528,6 @@ class AsyncVellum:
|
|
523
528
|
if _response.status_code == 500:
|
524
529
|
raise InternalServerError(pydantic.parse_obj_as(typing.Any, _response.json())) # type: ignore
|
525
530
|
try:
|
526
|
-
await _response.aread()
|
527
531
|
_response_json = _response.json()
|
528
532
|
except JSONDecodeError:
|
529
533
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
vellum/core/client_wrapper.py
CHANGED
@@ -10,7 +10,11 @@ class BaseClientWrapper:
|
|
10
10
|
self.api_key = api_key
|
11
11
|
|
12
12
|
def get_headers(self) -> typing.Dict[str, str]:
|
13
|
-
headers: typing.Dict[str, str] = {
|
13
|
+
headers: typing.Dict[str, str] = {
|
14
|
+
"X-Fern-Language": "Python",
|
15
|
+
"X-Fern-SDK-Name": "vellum-ai",
|
16
|
+
"X-Fern-SDK-Version": "v0.0.31",
|
17
|
+
}
|
14
18
|
headers["X_API_KEY"] = self.api_key
|
15
19
|
return headers
|
16
20
|
|
@@ -14,6 +14,8 @@ from ...environment import VellumEnvironment
|
|
14
14
|
from ...errors.bad_request_error import BadRequestError
|
15
15
|
from ...errors.internal_server_error import InternalServerError
|
16
16
|
from ...errors.not_found_error import NotFoundError
|
17
|
+
from ...types.document_read import DocumentRead
|
18
|
+
from ...types.document_status import DocumentStatus
|
17
19
|
from ...types.paginated_slim_document_list import PaginatedSlimDocumentList
|
18
20
|
from ...types.upload_document_response import UploadDocumentResponse
|
19
21
|
|
@@ -68,6 +70,52 @@ class DocumentsClient:
|
|
68
70
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
69
71
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
70
72
|
|
73
|
+
def partial_update(
|
74
|
+
self,
|
75
|
+
id: str,
|
76
|
+
*,
|
77
|
+
label: typing.Optional[str] = OMIT,
|
78
|
+
status: typing.Optional[DocumentStatus] = OMIT,
|
79
|
+
metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
|
80
|
+
) -> DocumentRead:
|
81
|
+
"""
|
82
|
+
|
83
|
+
<strong style="background-color:#ffc107; color:white; padding:4px; border-radius:4px">Unstable</strong>
|
84
|
+
|
85
|
+
Update a Document, keying off of its Vellum-generated ID. Particularly useful for updating its metadata.
|
86
|
+
|
87
|
+
Parameters:
|
88
|
+
- id: str. A UUID string identifying this document.
|
89
|
+
|
90
|
+
- label: typing.Optional[str]. A human-readable label for the document. Defaults to the originally uploaded file's file name. <span style="white-space: nowrap">`non-empty`</span> <span style="white-space: nowrap">`<= 1000 characters`</span>
|
91
|
+
|
92
|
+
- status: typing.Optional[DocumentStatus]. The current status of the document
|
93
|
+
|
94
|
+
* `ACTIVE` - Active
|
95
|
+
- metadata: typing.Optional[typing.Dict[str, typing.Any]]. A JSON object containing any metadata associated with the document that you'd like to filter upon later.
|
96
|
+
"""
|
97
|
+
_request: typing.Dict[str, typing.Any] = {}
|
98
|
+
if label is not OMIT:
|
99
|
+
_request["label"] = label
|
100
|
+
if status is not OMIT:
|
101
|
+
_request["status"] = status
|
102
|
+
if metadata is not OMIT:
|
103
|
+
_request["metadata"] = metadata
|
104
|
+
_response = self._client_wrapper.httpx_client.request(
|
105
|
+
"PATCH",
|
106
|
+
urllib.parse.urljoin(f"{self._environment.default}/", f"v1/documents/{id}"),
|
107
|
+
json=jsonable_encoder(_request),
|
108
|
+
headers=self._client_wrapper.get_headers(),
|
109
|
+
timeout=None,
|
110
|
+
)
|
111
|
+
if 200 <= _response.status_code < 300:
|
112
|
+
return pydantic.parse_obj_as(DocumentRead, _response.json()) # type: ignore
|
113
|
+
try:
|
114
|
+
_response_json = _response.json()
|
115
|
+
except JSONDecodeError:
|
116
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
117
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
118
|
+
|
71
119
|
def upload(
|
72
120
|
self,
|
73
121
|
*,
|
@@ -176,6 +224,52 @@ class AsyncDocumentsClient:
|
|
176
224
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
177
225
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
178
226
|
|
227
|
+
async def partial_update(
|
228
|
+
self,
|
229
|
+
id: str,
|
230
|
+
*,
|
231
|
+
label: typing.Optional[str] = OMIT,
|
232
|
+
status: typing.Optional[DocumentStatus] = OMIT,
|
233
|
+
metadata: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
|
234
|
+
) -> DocumentRead:
|
235
|
+
"""
|
236
|
+
|
237
|
+
<strong style="background-color:#ffc107; color:white; padding:4px; border-radius:4px">Unstable</strong>
|
238
|
+
|
239
|
+
Update a Document, keying off of its Vellum-generated ID. Particularly useful for updating its metadata.
|
240
|
+
|
241
|
+
Parameters:
|
242
|
+
- id: str. A UUID string identifying this document.
|
243
|
+
|
244
|
+
- label: typing.Optional[str]. A human-readable label for the document. Defaults to the originally uploaded file's file name. <span style="white-space: nowrap">`non-empty`</span> <span style="white-space: nowrap">`<= 1000 characters`</span>
|
245
|
+
|
246
|
+
- status: typing.Optional[DocumentStatus]. The current status of the document
|
247
|
+
|
248
|
+
* `ACTIVE` - Active
|
249
|
+
- metadata: typing.Optional[typing.Dict[str, typing.Any]]. A JSON object containing any metadata associated with the document that you'd like to filter upon later.
|
250
|
+
"""
|
251
|
+
_request: typing.Dict[str, typing.Any] = {}
|
252
|
+
if label is not OMIT:
|
253
|
+
_request["label"] = label
|
254
|
+
if status is not OMIT:
|
255
|
+
_request["status"] = status
|
256
|
+
if metadata is not OMIT:
|
257
|
+
_request["metadata"] = metadata
|
258
|
+
_response = await self._client_wrapper.httpx_client.request(
|
259
|
+
"PATCH",
|
260
|
+
urllib.parse.urljoin(f"{self._environment.default}/", f"v1/documents/{id}"),
|
261
|
+
json=jsonable_encoder(_request),
|
262
|
+
headers=self._client_wrapper.get_headers(),
|
263
|
+
timeout=None,
|
264
|
+
)
|
265
|
+
if 200 <= _response.status_code < 300:
|
266
|
+
return pydantic.parse_obj_as(DocumentRead, _response.json()) # type: ignore
|
267
|
+
try:
|
268
|
+
_response_json = _response.json()
|
269
|
+
except JSONDecodeError:
|
270
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
271
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
272
|
+
|
179
273
|
async def upload(
|
180
274
|
self,
|
181
275
|
*,
|
vellum/types/__init__.py
CHANGED
@@ -10,11 +10,13 @@ from .content_type import ContentType
|
|
10
10
|
from .deployment_node_result import DeploymentNodeResult
|
11
11
|
from .deployment_node_result_data import DeploymentNodeResultData
|
12
12
|
from .deployment_read import DeploymentRead
|
13
|
-
from .
|
13
|
+
from .deployment_status import DeploymentStatus
|
14
14
|
from .document import Document
|
15
15
|
from .document_document_to_document_index import DocumentDocumentToDocumentIndex
|
16
16
|
from .document_index_read import DocumentIndexRead
|
17
17
|
from .document_index_status import DocumentIndexStatus
|
18
|
+
from .document_read import DocumentRead
|
19
|
+
from .document_status import DocumentStatus
|
18
20
|
from .enriched_normalized_completion import EnrichedNormalizedCompletion
|
19
21
|
from .environment_enum import EnvironmentEnum
|
20
22
|
from .evaluation_params import EvaluationParams
|
@@ -89,7 +91,6 @@ from .search_result import SearchResult
|
|
89
91
|
from .search_result_merging_request import SearchResultMergingRequest
|
90
92
|
from .search_weights_request import SearchWeightsRequest
|
91
93
|
from .slim_document import SlimDocument
|
92
|
-
from .slim_document_status_enum import SlimDocumentStatusEnum
|
93
94
|
from .submit_completion_actual_request import SubmitCompletionActualRequest
|
94
95
|
from .submit_completion_actuals_error_response import SubmitCompletionActualsErrorResponse
|
95
96
|
from .terminal_node_chat_history_result import TerminalNodeChatHistoryResult
|
@@ -154,11 +155,13 @@ __all__ = [
|
|
154
155
|
"DeploymentNodeResult",
|
155
156
|
"DeploymentNodeResultData",
|
156
157
|
"DeploymentRead",
|
157
|
-
"
|
158
|
+
"DeploymentStatus",
|
158
159
|
"Document",
|
159
160
|
"DocumentDocumentToDocumentIndex",
|
160
161
|
"DocumentIndexRead",
|
161
162
|
"DocumentIndexStatus",
|
163
|
+
"DocumentRead",
|
164
|
+
"DocumentStatus",
|
162
165
|
"EnrichedNormalizedCompletion",
|
163
166
|
"EnvironmentEnum",
|
164
167
|
"EvaluationParams",
|
@@ -233,7 +236,6 @@ __all__ = [
|
|
233
236
|
"SearchResultMergingRequest",
|
234
237
|
"SearchWeightsRequest",
|
235
238
|
"SlimDocument",
|
236
|
-
"SlimDocumentStatusEnum",
|
237
239
|
"SubmitCompletionActualRequest",
|
238
240
|
"SubmitCompletionActualsErrorResponse",
|
239
241
|
"TerminalNodeChatHistoryResult",
|
vellum/types/deployment_read.py
CHANGED
@@ -6,7 +6,7 @@ import typing
|
|
6
6
|
import pydantic
|
7
7
|
|
8
8
|
from ..core.datetime_utils import serialize_datetime
|
9
|
-
from .
|
9
|
+
from .deployment_status import DeploymentStatus
|
10
10
|
from .environment_enum import EnvironmentEnum
|
11
11
|
from .input_variable import InputVariable
|
12
12
|
from .model_type_enum import ModelTypeEnum
|
@@ -21,7 +21,7 @@ class DeploymentRead(pydantic.BaseModel):
|
|
21
21
|
name: str = pydantic.Field(
|
22
22
|
description='A name that uniquely identifies this deployment within its workspace <span style="white-space: nowrap">`<= 150 characters`</span> '
|
23
23
|
)
|
24
|
-
status: typing.Optional[
|
24
|
+
status: typing.Optional[DeploymentStatus] = pydantic.Field(
|
25
25
|
description=(
|
26
26
|
"The current status of the deployment\n"
|
27
27
|
"\n"
|
@@ -6,7 +6,7 @@ import typing
|
|
6
6
|
T_Result = typing.TypeVar("T_Result")
|
7
7
|
|
8
8
|
|
9
|
-
class
|
9
|
+
class DeploymentStatus(str, enum.Enum):
|
10
10
|
"""
|
11
11
|
* `ACTIVE` - Active
|
12
12
|
* `INACTIVE` - Inactive
|
@@ -23,9 +23,9 @@ class DeploymentReadStatusEnum(str, enum.Enum):
|
|
23
23
|
inactive: typing.Callable[[], T_Result],
|
24
24
|
archived: typing.Callable[[], T_Result],
|
25
25
|
) -> T_Result:
|
26
|
-
if self is
|
26
|
+
if self is DeploymentStatus.ACTIVE:
|
27
27
|
return active()
|
28
|
-
if self is
|
28
|
+
if self is DeploymentStatus.INACTIVE:
|
29
29
|
return inactive()
|
30
|
-
if self is
|
30
|
+
if self is DeploymentStatus.ARCHIVED:
|
31
31
|
return archived()
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
import datetime as dt
|
4
|
+
import typing
|
5
|
+
|
6
|
+
import pydantic
|
7
|
+
|
8
|
+
from ..core.datetime_utils import serialize_datetime
|
9
|
+
from .document_document_to_document_index import DocumentDocumentToDocumentIndex
|
10
|
+
from .document_status import DocumentStatus
|
11
|
+
from .processing_state_enum import ProcessingStateEnum
|
12
|
+
|
13
|
+
|
14
|
+
class DocumentRead(pydantic.BaseModel):
|
15
|
+
id: str
|
16
|
+
external_id: typing.Optional[str] = pydantic.Field(
|
17
|
+
description="The unique id of this document as it exists in the user's system."
|
18
|
+
)
|
19
|
+
last_uploaded_at: str
|
20
|
+
label: str = pydantic.Field(
|
21
|
+
description='A human-readable label for the document. Defaults to the originally uploaded file\'s file name. <span style="white-space: nowrap">`<= 1000 characters`</span> '
|
22
|
+
)
|
23
|
+
processing_state: typing.Optional[ProcessingStateEnum] = pydantic.Field(
|
24
|
+
description=(
|
25
|
+
"The current processing state of the document\n"
|
26
|
+
"\n"
|
27
|
+
"* `QUEUED` - Queued\n"
|
28
|
+
"* `PROCESSING` - Processing\n"
|
29
|
+
"* `PROCESSED` - Processed\n"
|
30
|
+
"* `FAILED` - Failed\n"
|
31
|
+
)
|
32
|
+
)
|
33
|
+
status: typing.Optional[DocumentStatus] = pydantic.Field(
|
34
|
+
description=("The current status of the document\n" "\n" "* `ACTIVE` - Active\n")
|
35
|
+
)
|
36
|
+
original_file_url: typing.Optional[str]
|
37
|
+
processed_file_url: typing.Optional[str]
|
38
|
+
document_to_document_indexes: typing.List[DocumentDocumentToDocumentIndex]
|
39
|
+
metadata: typing.Optional[typing.Dict[str, typing.Any]] = pydantic.Field(
|
40
|
+
description="A previously supplied JSON object containing metadata that can filtered on when searching."
|
41
|
+
)
|
42
|
+
|
43
|
+
def json(self, **kwargs: typing.Any) -> str:
|
44
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
45
|
+
return super().json(**kwargs_with_defaults)
|
46
|
+
|
47
|
+
def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
|
48
|
+
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
49
|
+
return super().dict(**kwargs_with_defaults)
|
50
|
+
|
51
|
+
class Config:
|
52
|
+
frozen = True
|
53
|
+
json_encoders = {dt.datetime: serialize_datetime}
|
vellum/types/slim_document.py
CHANGED
@@ -7,9 +7,9 @@ import pydantic
|
|
7
7
|
|
8
8
|
from ..core.datetime_utils import serialize_datetime
|
9
9
|
from .document_document_to_document_index import DocumentDocumentToDocumentIndex
|
10
|
+
from .document_status import DocumentStatus
|
10
11
|
from .processing_failure_reason_enum import ProcessingFailureReasonEnum
|
11
12
|
from .processing_state_enum import ProcessingStateEnum
|
12
|
-
from .slim_document_status_enum import SlimDocumentStatusEnum
|
13
13
|
|
14
14
|
|
15
15
|
class SlimDocument(pydantic.BaseModel):
|
@@ -41,7 +41,7 @@ class SlimDocument(pydantic.BaseModel):
|
|
41
41
|
"* `INVALID_FILE` - Invalid File\n"
|
42
42
|
)
|
43
43
|
)
|
44
|
-
status: typing.Optional[
|
44
|
+
status: typing.Optional[DocumentStatus] = pydantic.Field(
|
45
45
|
description=("The document's current status.\n" "\n" "* `ACTIVE` - Active\n")
|
46
46
|
)
|
47
47
|
keywords: typing.Optional[typing.List[str]] = pydantic.Field(
|
@@ -11,7 +11,7 @@ from .chat_message import ChatMessage
|
|
11
11
|
|
12
12
|
class TerminalNodeChatHistoryResult(pydantic.BaseModel):
|
13
13
|
name: str = pydantic.Field(description="The unique name given to the terminal node that produced this output.")
|
14
|
-
value: typing.List[ChatMessage]
|
14
|
+
value: typing.Optional[typing.List[ChatMessage]]
|
15
15
|
|
16
16
|
def json(self, **kwargs: typing.Any) -> str:
|
17
17
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
@@ -10,7 +10,7 @@ from ..core.datetime_utils import serialize_datetime
|
|
10
10
|
|
11
11
|
class TerminalNodeJsonResult(pydantic.BaseModel):
|
12
12
|
name: str = pydantic.Field(description="The unique name given to the terminal node that produced this output.")
|
13
|
-
value: typing.Dict[str, typing.Any]
|
13
|
+
value: typing.Optional[typing.Dict[str, typing.Any]]
|
14
14
|
|
15
15
|
def json(self, **kwargs: typing.Any) -> str:
|
16
16
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
@@ -10,7 +10,7 @@ from ..core.datetime_utils import serialize_datetime
|
|
10
10
|
|
11
11
|
class TerminalNodeStringResult(pydantic.BaseModel):
|
12
12
|
name: str = pydantic.Field(description="The unique name given to the terminal node that produced this output.")
|
13
|
-
value: str
|
13
|
+
value: typing.Optional[str]
|
14
14
|
|
15
15
|
def json(self, **kwargs: typing.Any) -> str:
|
16
16
|
kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
|
@@ -1,8 +1,8 @@
|
|
1
|
-
vellum/__init__.py,sha256=
|
2
|
-
vellum/client.py,sha256=
|
1
|
+
vellum/__init__.py,sha256=HrSVslaxHhe2HO6epFwF49_XWDS4HhbfNRrSNVqZdss,9127
|
2
|
+
vellum/client.py,sha256=FXZCbMfR3jgPMXAdobRkPpInZN1dz4kOjKPgRsyvSEQ,32613
|
3
3
|
vellum/core/__init__.py,sha256=QJS3CJ2TYP2E1Tge0CS6Z7r8LTNzJHQVX1hD3558eP0,519
|
4
4
|
vellum/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
|
5
|
-
vellum/core/client_wrapper.py,sha256=
|
5
|
+
vellum/core/client_wrapper.py,sha256=svrxCUFTlYC-vgNq0OcVMPv2gWSuK7bbuGWyWJ2Y7f8,897
|
6
6
|
vellum/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
7
7
|
vellum/core/jsonable_encoder.py,sha256=yHrx0C19n1H77G-GanO-HsFyBPVMlsJz7WffsHwXEVI,3710
|
8
8
|
vellum/core/remove_none_from_dict.py,sha256=8m91FC3YuVem0Gm9_sXhJ2tGvP33owJJdrqCLEdowGw,330
|
@@ -20,7 +20,7 @@ vellum/resources/deployments/client.py,sha256=cCnzNh50THrjuM8hAB6M40bTtKWo4u4mEH
|
|
20
20
|
vellum/resources/document_indexes/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
21
21
|
vellum/resources/document_indexes/client.py,sha256=Ced_UO_Ds1EU-TGTSCtzH7vCSE1JoM2XoUE9RB9tVJg,7198
|
22
22
|
vellum/resources/documents/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
23
|
-
vellum/resources/documents/client.py,sha256=
|
23
|
+
vellum/resources/documents/client.py,sha256=r8O7lv6fJznAERSSPr2VHr3FdQhNIiVcd2xeKS-j4-k,14263
|
24
24
|
vellum/resources/model_versions/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
25
25
|
vellum/resources/model_versions/client.py,sha256=EURN_8gzN_jxq1ElyOIud4RZm2xFNua9kI--ntR0FdQ,5890
|
26
26
|
vellum/resources/registered_prompts/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
@@ -29,7 +29,7 @@ vellum/resources/sandboxes/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roe
|
|
29
29
|
vellum/resources/sandboxes/client.py,sha256=pj0PeQocAszu5-uPXjsOOSvGkHfgJpHIzmTfU5-CmPM,8292
|
30
30
|
vellum/resources/test_suites/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
|
31
31
|
vellum/resources/test_suites/client.py,sha256=KzFNGnFLRGkgrdZIpXtSOKntsqE79GPl1kkGc6qhNJg,8419
|
32
|
-
vellum/types/__init__.py,sha256=
|
32
|
+
vellum/types/__init__.py,sha256=fVhnxjEvUapHISFHJwN5Prgaf62O8hZNCDHxDAgFXGE,12645
|
33
33
|
vellum/types/block_type_enum.py,sha256=BQ8ZN1OKhOdmHeQ3-bhMfkLLohirsNhHPljBJX8Bbmo,1051
|
34
34
|
vellum/types/chat_message.py,sha256=ESrounRUkV54kKOgc2oaz_mPvpl-xntCDfxEnSt9A4c,818
|
35
35
|
vellum/types/chat_message_request.py,sha256=7M8f8F6qRSl93WxkiEsZAJLrQYVRkKchkcbUmcikK7o,825
|
@@ -39,12 +39,14 @@ vellum/types/conditional_node_result_data.py,sha256=00r_gnLm_vl21ca3msx2h8E2kAfu
|
|
39
39
|
vellum/types/content_type.py,sha256=a1VMXJl7XOcb0dPUw1mCHPQMElextdsjvTi-tTeJNsg,508
|
40
40
|
vellum/types/deployment_node_result.py,sha256=ogzAlyhpH4_w9PKPMOVMRvseRv_t3FJLHS2bauK3pQo,841
|
41
41
|
vellum/types/deployment_node_result_data.py,sha256=5SMqC-X7S99aEvhfTUZ579affaisap-OG7ELWwDnfZU,826
|
42
|
-
vellum/types/deployment_read.py,sha256=
|
43
|
-
vellum/types/
|
42
|
+
vellum/types/deployment_read.py,sha256=3rzcDbwGZq0cdfmd09x076KjzFd8Plu6QWIWyF8njXA,2221
|
43
|
+
vellum/types/deployment_status.py,sha256=rtsRFv9cx0kEwNYkgscGzo62bvaNME-rU8ZxFlcY0M8,761
|
44
44
|
vellum/types/document.py,sha256=fdiJyRyO0nec1foyfYDMy1K9mZlI80qSUT5_lMmYoyo,1160
|
45
45
|
vellum/types/document_document_to_document_index.py,sha256=UUIbQNz5ejctfe_VFReG8JHp1oD7ESFQOeuCkNWurys,1511
|
46
46
|
vellum/types/document_index_read.py,sha256=b-ps3EnmTE1_NSCIpAae0eqw_X3_LpgV9xIJsqCUxNU,1910
|
47
47
|
vellum/types/document_index_status.py,sha256=DtcNtByS8wUEuxfYAW7IQVPSN4HaGJTynP0jNkxgbKE,560
|
48
|
+
vellum/types/document_read.py,sha256=w5Q7aZGl9YByXWlnYKf-Ws-90XMhok3bvAqrcyOhQMo,2194
|
49
|
+
vellum/types/document_status.py,sha256=dkotle2rykOxF1QxqcM8af2ORzmFjZR5a7pHXP6SjDQ,144
|
48
50
|
vellum/types/enriched_normalized_completion.py,sha256=CrDe9H5Nz38mPT32klFpzg4Z8b2hMVIQP_O3g-F5r3Q,1911
|
49
51
|
vellum/types/environment_enum.py,sha256=16gr0xkzNIO5dhrOnJNjcQ34z9Xk1oE-egW17P0RWDs,799
|
50
52
|
vellum/types/evaluation_params.py,sha256=t3jChEFTUnXPMrNRpq9YuKQ8ssfuOZBi96Pbx3SImx4,925
|
@@ -118,16 +120,15 @@ vellum/types/search_response.py,sha256=VuPbVXkJ_OHDuJJEGZDVwB7DcTbcTmstixantli7l
|
|
118
120
|
vellum/types/search_result.py,sha256=WRAlpIxxNDmSOkoEWHshK74zmuItDrbOwvvChrb33lQ,1145
|
119
121
|
vellum/types/search_result_merging_request.py,sha256=2P02ejNr_m_Sx_vdPTQEcDuGPdFI_37nExX9UNQD0pk,830
|
120
122
|
vellum/types/search_weights_request.py,sha256=EdAbOOXOWXCq0C3lziyRHTuNIlODw0BECQNu9IUlfZ0,953
|
121
|
-
vellum/types/slim_document.py,sha256=
|
122
|
-
vellum/types/slim_document_status_enum.py,sha256=_j2jq3_Acudzgb2tlDIwvl6aBkRLoZ0HAbnKtVCi5G8,152
|
123
|
+
vellum/types/slim_document.py,sha256=BnS2YA9JLj6dBm21Z-GXnPSgi1T-RWWTaIjx2RKpk84,2820
|
123
124
|
vellum/types/submit_completion_actual_request.py,sha256=k5BHx1JUfq8XcLbBZOsbSNzVA3xNVNVFsJkM7tMtXpo,1656
|
124
125
|
vellum/types/submit_completion_actuals_error_response.py,sha256=8ZNcGD7l4crYQoKn4LTdMKbRVGHs3v-M3ER9lTkKzmM,772
|
125
|
-
vellum/types/terminal_node_chat_history_result.py,sha256=
|
126
|
-
vellum/types/terminal_node_json_result.py,sha256=
|
126
|
+
vellum/types/terminal_node_chat_history_result.py,sha256=RzqPzyUswQ86pXHgjCPMhmkBhqjQVcTcLipwygXNQqY,956
|
127
|
+
vellum/types/terminal_node_json_result.py,sha256=d85-Q-1NJLk8cVq6mWHUgQssYABe0sNHqkAOpV0l7Dk,915
|
127
128
|
vellum/types/terminal_node_result.py,sha256=dNdckayDfIQ_LR9IKfklxyFfJErPgtxA9tzsDUXjiPA,833
|
128
129
|
vellum/types/terminal_node_result_data.py,sha256=4fsLNH_jkTOIKViXfHavkpE2GhB5NBUJdnVni82tEpk,845
|
129
130
|
vellum/types/terminal_node_result_output.py,sha256=QkdMPv5SH8gvtfVd2md9KoAe2inIBMINGul94ZZ-YXE,1107
|
130
|
-
vellum/types/terminal_node_string_result.py,sha256=
|
131
|
+
vellum/types/terminal_node_string_result.py,sha256=xl19fA2GR705Qx0MFQsz0vgl1XApcJL0njue85gMeCo,892
|
131
132
|
vellum/types/test_suite_test_case.py,sha256=_zk_wcESjEWG_fePNPLXsmvpFJmB_bPueacVLVeihNg,1439
|
132
133
|
vellum/types/upload_document_error_response.py,sha256=VNSsUbd0TSCKnlBohoKv1h3AJDJeicH-q3kjkXpxKG4,763
|
133
134
|
vellum/types/upload_document_response.py,sha256=wi6kn2SWkE5ZlbSQvGXKuQUZInz-2ik1ib7A4kqvkGo,833
|
@@ -149,6 +150,6 @@ vellum/types/workflow_result_event_output_data_chat_history.py,sha256=viyNe9VF8-
|
|
149
150
|
vellum/types/workflow_result_event_output_data_json.py,sha256=-zLIOCCOurui_vXE_WJlaDO5xfTQx81EGyWdgSurItk,1125
|
150
151
|
vellum/types/workflow_result_event_output_data_string.py,sha256=EqTpT1SJxagtuFCxFkJuze64MgUjGuZlzYEOqnR1UGM,1253
|
151
152
|
vellum/types/workflow_stream_event.py,sha256=sVpX2OBZq-vVn8A74opHnV_pD83eoICS5_aJ1H9WjxM,819
|
152
|
-
vellum_ai-0.0.
|
153
|
-
vellum_ai-0.0.
|
154
|
-
vellum_ai-0.0.
|
153
|
+
vellum_ai-0.0.31.dist-info/METADATA,sha256=mM6eMuIL0jR9oUFxNFfOVt7SAygB6X9mkiwbGVe6UbU,3487
|
154
|
+
vellum_ai-0.0.31.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
155
|
+
vellum_ai-0.0.31.dist-info/RECORD,,
|
File without changes
|