vellum-ai 0.9.4__py3-none-any.whl → 0.9.6__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.
Files changed (28) hide show
  1. vellum/__init__.py +10 -0
  2. vellum/core/client_wrapper.py +1 -1
  3. vellum/resources/__init__.py +6 -2
  4. vellum/resources/ad_hoc/client.py +8 -10
  5. vellum/resources/deployments/__init__.py +2 -2
  6. vellum/resources/deployments/client.py +160 -2
  7. vellum/resources/deployments/types/__init__.py +2 -1
  8. vellum/resources/deployments/types/list_deployment_release_tags_request_source.py +5 -0
  9. vellum/resources/workflow_deployments/__init__.py +2 -2
  10. vellum/resources/workflow_deployments/client.py +158 -0
  11. vellum/resources/workflow_deployments/types/__init__.py +2 -1
  12. vellum/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py +5 -0
  13. vellum/resources/workflows/__init__.py +3 -0
  14. vellum/resources/workflows/client.py +47 -3
  15. vellum/resources/workflows/types/__init__.py +5 -0
  16. vellum/resources/workflows/types/workflows_pull_request_format.py +5 -0
  17. vellum/types/__init__.py +4 -0
  18. vellum/types/chat_message_prompt_block_request.py +2 -3
  19. vellum/types/function_definition_prompt_block_request.py +3 -4
  20. vellum/types/jinja_prompt_block_request.py +3 -4
  21. vellum/types/paginated_deployment_release_tag_read_list.py +23 -0
  22. vellum/types/paginated_workflow_release_tag_read_list.py +23 -0
  23. vellum/types/plain_text_prompt_block_request.py +2 -3
  24. vellum/types/variable_prompt_block_request.py +1 -2
  25. {vellum_ai-0.9.4.dist-info → vellum_ai-0.9.6.dist-info}/METADATA +1 -1
  26. {vellum_ai-0.9.4.dist-info → vellum_ai-0.9.6.dist-info}/RECORD +28 -22
  27. {vellum_ai-0.9.4.dist-info → vellum_ai-0.9.6.dist-info}/LICENSE +0 -0
  28. {vellum_ai-0.9.4.dist-info → vellum_ai-0.9.6.dist-info}/WHEEL +0 -0
vellum/__init__.py CHANGED
@@ -243,6 +243,7 @@ from .types import (
243
243
  OpenAiVectorizerTextEmbeddingAda002,
244
244
  OpenAiVectorizerTextEmbeddingAda002Request,
245
245
  PaginatedContainerImageReadList,
246
+ PaginatedDeploymentReleaseTagReadList,
246
247
  PaginatedDocumentIndexReadList,
247
248
  PaginatedFolderEntityList,
248
249
  PaginatedSlimDeploymentReadList,
@@ -250,6 +251,7 @@ from .types import (
250
251
  PaginatedSlimWorkflowDeploymentList,
251
252
  PaginatedTestSuiteRunExecutionList,
252
253
  PaginatedTestSuiteTestCaseList,
254
+ PaginatedWorkflowReleaseTagReadList,
253
255
  PdfSearchResultMetaSource,
254
256
  PdfSearchResultMetaSourceRequest,
255
257
  PlainTextPromptBlockRequest,
@@ -486,7 +488,10 @@ from .resources import (
486
488
  DeploymentsListRequestStatus,
487
489
  DocumentIndexesListRequestStatus,
488
490
  FolderEntitiesListRequestEntityStatus,
491
+ ListDeploymentReleaseTagsRequestSource,
492
+ ListWorkflowReleaseTagsRequestSource,
489
493
  WorkflowDeploymentsListRequestStatus,
494
+ WorkflowsPullRequestFormat,
490
495
  ad_hoc,
491
496
  container_images,
492
497
  deployments,
@@ -687,6 +692,8 @@ __all__ = [
687
692
  "JsonVariableValue",
688
693
  "JsonVellumValue",
689
694
  "JsonVellumValueRequest",
695
+ "ListDeploymentReleaseTagsRequestSource",
696
+ "ListWorkflowReleaseTagsRequestSource",
690
697
  "LogicalOperator",
691
698
  "LogprobsEnum",
692
699
  "MapNodeResult",
@@ -757,6 +764,7 @@ __all__ = [
757
764
  "OpenAiVectorizerTextEmbeddingAda002",
758
765
  "OpenAiVectorizerTextEmbeddingAda002Request",
759
766
  "PaginatedContainerImageReadList",
767
+ "PaginatedDeploymentReleaseTagReadList",
760
768
  "PaginatedDocumentIndexReadList",
761
769
  "PaginatedFolderEntityList",
762
770
  "PaginatedSlimDeploymentReadList",
@@ -764,6 +772,7 @@ __all__ = [
764
772
  "PaginatedSlimWorkflowDeploymentList",
765
773
  "PaginatedTestSuiteRunExecutionList",
766
774
  "PaginatedTestSuiteTestCaseList",
775
+ "PaginatedWorkflowReleaseTagReadList",
767
776
  "PdfSearchResultMetaSource",
768
777
  "PdfSearchResultMetaSourceRequest",
769
778
  "PlainTextPromptBlockRequest",
@@ -996,6 +1005,7 @@ __all__ = [
996
1005
  "WorkflowResultEventOutputDataSearchResults",
997
1006
  "WorkflowResultEventOutputDataString",
998
1007
  "WorkflowStreamEvent",
1008
+ "WorkflowsPullRequestFormat",
999
1009
  "WorkspaceSecretRead",
1000
1010
  "__version__",
1001
1011
  "ad_hoc",
@@ -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.4",
20
+ "X-Fern-SDK-Version": "0.9.6",
21
21
  }
22
22
  headers["X_API_KEY"] = self.api_key
23
23
  return headers
@@ -16,16 +16,20 @@ from . import (
16
16
  workflows,
17
17
  workspace_secrets,
18
18
  )
19
- from .deployments import DeploymentsListRequestStatus
19
+ from .deployments import DeploymentsListRequestStatus, ListDeploymentReleaseTagsRequestSource
20
20
  from .document_indexes import DocumentIndexesListRequestStatus
21
21
  from .folder_entities import FolderEntitiesListRequestEntityStatus
22
- from .workflow_deployments import WorkflowDeploymentsListRequestStatus
22
+ from .workflow_deployments import ListWorkflowReleaseTagsRequestSource, WorkflowDeploymentsListRequestStatus
23
+ from .workflows import WorkflowsPullRequestFormat
23
24
 
24
25
  __all__ = [
25
26
  "DeploymentsListRequestStatus",
26
27
  "DocumentIndexesListRequestStatus",
27
28
  "FolderEntitiesListRequestEntityStatus",
29
+ "ListDeploymentReleaseTagsRequestSource",
30
+ "ListWorkflowReleaseTagsRequestSource",
28
31
  "WorkflowDeploymentsListRequestStatus",
32
+ "WorkflowsPullRequestFormat",
29
33
  "ad_hoc",
30
34
  "container_images",
31
35
  "deployments",
@@ -124,15 +124,14 @@ class AdHocClient:
124
124
  ),
125
125
  blocks=[
126
126
  JinjaPromptBlockRequest(
127
- properties=JinjaPromptBlockPropertiesRequest(
128
- template="string",
129
- template_type="STRING",
130
- ),
131
- id="string",
132
127
  state="ENABLED",
133
128
  cache_config=EphemeralPromptCacheConfigRequest(
134
129
  type={"key": "value"},
135
130
  ),
131
+ properties=JinjaPromptBlockPropertiesRequest(
132
+ template="string",
133
+ template_type="STRING",
134
+ ),
136
135
  )
137
136
  ],
138
137
  expand_meta=AdHocExpandMetaRequest(
@@ -331,15 +330,14 @@ class AsyncAdHocClient:
331
330
  ),
332
331
  blocks=[
333
332
  JinjaPromptBlockRequest(
334
- properties=JinjaPromptBlockPropertiesRequest(
335
- template="string",
336
- template_type="STRING",
337
- ),
338
- id="string",
339
333
  state="ENABLED",
340
334
  cache_config=EphemeralPromptCacheConfigRequest(
341
335
  type={"key": "value"},
342
336
  ),
337
+ properties=JinjaPromptBlockPropertiesRequest(
338
+ template="string",
339
+ template_type="STRING",
340
+ ),
343
341
  )
344
342
  ],
345
343
  expand_meta=AdHocExpandMetaRequest(
@@ -1,5 +1,5 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from .types import DeploymentsListRequestStatus
3
+ from .types import DeploymentsListRequestStatus, ListDeploymentReleaseTagsRequestSource
4
4
 
5
- __all__ = ["DeploymentsListRequestStatus"]
5
+ __all__ = ["DeploymentsListRequestStatus", "ListDeploymentReleaseTagsRequestSource"]
@@ -10,6 +10,8 @@ from json.decoder import JSONDecodeError
10
10
  from ...core.api_error import ApiError
11
11
  from ...types.deployment_read import DeploymentRead
12
12
  from ...core.jsonable_encoder import jsonable_encoder
13
+ from .types.list_deployment_release_tags_request_source import ListDeploymentReleaseTagsRequestSource
14
+ from ...types.paginated_deployment_release_tag_read_list import PaginatedDeploymentReleaseTagReadList
13
15
  from ...types.deployment_release_tag_read import DeploymentReleaseTagRead
14
16
  from ...types.prompt_deployment_input_request import PromptDeploymentInputRequest
15
17
  from ...types.compile_prompt_deployment_expand_meta_request import CompilePromptDeploymentExpandMetaRequest
@@ -146,6 +148,80 @@ class DeploymentsClient:
146
148
  raise ApiError(status_code=_response.status_code, body=_response.text)
147
149
  raise ApiError(status_code=_response.status_code, body=_response_json)
148
150
 
151
+ def list_deployment_release_tags(
152
+ self,
153
+ id: str,
154
+ *,
155
+ limit: typing.Optional[int] = None,
156
+ offset: typing.Optional[int] = None,
157
+ ordering: typing.Optional[str] = None,
158
+ source: typing.Optional[ListDeploymentReleaseTagsRequestSource] = None,
159
+ request_options: typing.Optional[RequestOptions] = None,
160
+ ) -> PaginatedDeploymentReleaseTagReadList:
161
+ """
162
+ List Release Tags associated with the specified Prompt Deployment
163
+
164
+ Parameters
165
+ ----------
166
+ id : str
167
+ Either the Prompt Deployment's ID or its unique name
168
+
169
+ limit : typing.Optional[int]
170
+ Number of results to return per page.
171
+
172
+ offset : typing.Optional[int]
173
+ The initial index from which to return the results.
174
+
175
+ ordering : typing.Optional[str]
176
+ Which field to use when ordering the results.
177
+
178
+ source : typing.Optional[ListDeploymentReleaseTagsRequestSource]
179
+
180
+ request_options : typing.Optional[RequestOptions]
181
+ Request-specific configuration.
182
+
183
+ Returns
184
+ -------
185
+ PaginatedDeploymentReleaseTagReadList
186
+
187
+
188
+ Examples
189
+ --------
190
+ from vellum import Vellum
191
+
192
+ client = Vellum(
193
+ api_key="YOUR_API_KEY",
194
+ )
195
+ client.deployments.list_deployment_release_tags(
196
+ id="id",
197
+ )
198
+ """
199
+ _response = self._client_wrapper.httpx_client.request(
200
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags",
201
+ base_url=self._client_wrapper.get_environment().default,
202
+ method="GET",
203
+ params={
204
+ "limit": limit,
205
+ "offset": offset,
206
+ "ordering": ordering,
207
+ "source": source,
208
+ },
209
+ request_options=request_options,
210
+ )
211
+ try:
212
+ if 200 <= _response.status_code < 300:
213
+ return typing.cast(
214
+ PaginatedDeploymentReleaseTagReadList,
215
+ parse_obj_as(
216
+ type_=PaginatedDeploymentReleaseTagReadList, # type: ignore
217
+ object_=_response.json(),
218
+ ),
219
+ )
220
+ _response_json = _response.json()
221
+ except JSONDecodeError:
222
+ raise ApiError(status_code=_response.status_code, body=_response.text)
223
+ raise ApiError(status_code=_response.status_code, body=_response_json)
224
+
149
225
  def retrieve_deployment_release_tag(
150
226
  self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
151
227
  ) -> DeploymentReleaseTagRead:
@@ -209,7 +285,7 @@ class DeploymentsClient:
209
285
  request_options: typing.Optional[RequestOptions] = None,
210
286
  ) -> DeploymentReleaseTagRead:
211
287
  """
212
- Updates an existing Release Tag associated with the specified Deployment.
288
+ Updates an existing Release Tag associated with the specified Prompt Deployment.
213
289
 
214
290
  Parameters
215
291
  ----------
@@ -538,6 +614,88 @@ class AsyncDeploymentsClient:
538
614
  raise ApiError(status_code=_response.status_code, body=_response.text)
539
615
  raise ApiError(status_code=_response.status_code, body=_response_json)
540
616
 
617
+ async def list_deployment_release_tags(
618
+ self,
619
+ id: str,
620
+ *,
621
+ limit: typing.Optional[int] = None,
622
+ offset: typing.Optional[int] = None,
623
+ ordering: typing.Optional[str] = None,
624
+ source: typing.Optional[ListDeploymentReleaseTagsRequestSource] = None,
625
+ request_options: typing.Optional[RequestOptions] = None,
626
+ ) -> PaginatedDeploymentReleaseTagReadList:
627
+ """
628
+ List Release Tags associated with the specified Prompt Deployment
629
+
630
+ Parameters
631
+ ----------
632
+ id : str
633
+ Either the Prompt Deployment's ID or its unique name
634
+
635
+ limit : typing.Optional[int]
636
+ Number of results to return per page.
637
+
638
+ offset : typing.Optional[int]
639
+ The initial index from which to return the results.
640
+
641
+ ordering : typing.Optional[str]
642
+ Which field to use when ordering the results.
643
+
644
+ source : typing.Optional[ListDeploymentReleaseTagsRequestSource]
645
+
646
+ request_options : typing.Optional[RequestOptions]
647
+ Request-specific configuration.
648
+
649
+ Returns
650
+ -------
651
+ PaginatedDeploymentReleaseTagReadList
652
+
653
+
654
+ Examples
655
+ --------
656
+ import asyncio
657
+
658
+ from vellum import AsyncVellum
659
+
660
+ client = AsyncVellum(
661
+ api_key="YOUR_API_KEY",
662
+ )
663
+
664
+
665
+ async def main() -> None:
666
+ await client.deployments.list_deployment_release_tags(
667
+ id="id",
668
+ )
669
+
670
+
671
+ asyncio.run(main())
672
+ """
673
+ _response = await self._client_wrapper.httpx_client.request(
674
+ f"v1/deployments/{jsonable_encoder(id)}/release-tags",
675
+ base_url=self._client_wrapper.get_environment().default,
676
+ method="GET",
677
+ params={
678
+ "limit": limit,
679
+ "offset": offset,
680
+ "ordering": ordering,
681
+ "source": source,
682
+ },
683
+ request_options=request_options,
684
+ )
685
+ try:
686
+ if 200 <= _response.status_code < 300:
687
+ return typing.cast(
688
+ PaginatedDeploymentReleaseTagReadList,
689
+ parse_obj_as(
690
+ type_=PaginatedDeploymentReleaseTagReadList, # type: ignore
691
+ object_=_response.json(),
692
+ ),
693
+ )
694
+ _response_json = _response.json()
695
+ except JSONDecodeError:
696
+ raise ApiError(status_code=_response.status_code, body=_response.text)
697
+ raise ApiError(status_code=_response.status_code, body=_response_json)
698
+
541
699
  async def retrieve_deployment_release_tag(
542
700
  self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
543
701
  ) -> DeploymentReleaseTagRead:
@@ -609,7 +767,7 @@ class AsyncDeploymentsClient:
609
767
  request_options: typing.Optional[RequestOptions] = None,
610
768
  ) -> DeploymentReleaseTagRead:
611
769
  """
612
- Updates an existing Release Tag associated with the specified Deployment.
770
+ Updates an existing Release Tag associated with the specified Prompt Deployment.
613
771
 
614
772
  Parameters
615
773
  ----------
@@ -1,5 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from .deployments_list_request_status import DeploymentsListRequestStatus
4
+ from .list_deployment_release_tags_request_source import ListDeploymentReleaseTagsRequestSource
4
5
 
5
- __all__ = ["DeploymentsListRequestStatus"]
6
+ __all__ = ["DeploymentsListRequestStatus", "ListDeploymentReleaseTagsRequestSource"]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ListDeploymentReleaseTagsRequestSource = typing.Union[typing.Literal["SYSTEM", "USER"], typing.Any]
@@ -1,5 +1,5 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from .types import WorkflowDeploymentsListRequestStatus
3
+ from .types import ListWorkflowReleaseTagsRequestSource, WorkflowDeploymentsListRequestStatus
4
4
 
5
- __all__ = ["WorkflowDeploymentsListRequestStatus"]
5
+ __all__ = ["ListWorkflowReleaseTagsRequestSource", "WorkflowDeploymentsListRequestStatus"]
@@ -10,6 +10,8 @@ from json.decoder import JSONDecodeError
10
10
  from ...core.api_error import ApiError
11
11
  from ...types.workflow_deployment_read import WorkflowDeploymentRead
12
12
  from ...core.jsonable_encoder import jsonable_encoder
13
+ from .types.list_workflow_release_tags_request_source import ListWorkflowReleaseTagsRequestSource
14
+ from ...types.paginated_workflow_release_tag_read_list import PaginatedWorkflowReleaseTagReadList
13
15
  from ...types.workflow_release_tag_read import WorkflowReleaseTagRead
14
16
  from ...core.client_wrapper import AsyncClientWrapper
15
17
 
@@ -138,6 +140,80 @@ class WorkflowDeploymentsClient:
138
140
  raise ApiError(status_code=_response.status_code, body=_response.text)
139
141
  raise ApiError(status_code=_response.status_code, body=_response_json)
140
142
 
143
+ def list_workflow_release_tags(
144
+ self,
145
+ id: str,
146
+ *,
147
+ limit: typing.Optional[int] = None,
148
+ offset: typing.Optional[int] = None,
149
+ ordering: typing.Optional[str] = None,
150
+ source: typing.Optional[ListWorkflowReleaseTagsRequestSource] = None,
151
+ request_options: typing.Optional[RequestOptions] = None,
152
+ ) -> PaginatedWorkflowReleaseTagReadList:
153
+ """
154
+ List Release Tags associated with the specified Workflow Deployment
155
+
156
+ Parameters
157
+ ----------
158
+ id : str
159
+ Either the Workflow Deployment's ID or its unique name
160
+
161
+ limit : typing.Optional[int]
162
+ Number of results to return per page.
163
+
164
+ offset : typing.Optional[int]
165
+ The initial index from which to return the results.
166
+
167
+ ordering : typing.Optional[str]
168
+ Which field to use when ordering the results.
169
+
170
+ source : typing.Optional[ListWorkflowReleaseTagsRequestSource]
171
+
172
+ request_options : typing.Optional[RequestOptions]
173
+ Request-specific configuration.
174
+
175
+ Returns
176
+ -------
177
+ PaginatedWorkflowReleaseTagReadList
178
+
179
+
180
+ Examples
181
+ --------
182
+ from vellum import Vellum
183
+
184
+ client = Vellum(
185
+ api_key="YOUR_API_KEY",
186
+ )
187
+ client.workflow_deployments.list_workflow_release_tags(
188
+ id="id",
189
+ )
190
+ """
191
+ _response = self._client_wrapper.httpx_client.request(
192
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags",
193
+ base_url=self._client_wrapper.get_environment().default,
194
+ method="GET",
195
+ params={
196
+ "limit": limit,
197
+ "offset": offset,
198
+ "ordering": ordering,
199
+ "source": source,
200
+ },
201
+ request_options=request_options,
202
+ )
203
+ try:
204
+ if 200 <= _response.status_code < 300:
205
+ return typing.cast(
206
+ PaginatedWorkflowReleaseTagReadList,
207
+ parse_obj_as(
208
+ type_=PaginatedWorkflowReleaseTagReadList, # type: ignore
209
+ object_=_response.json(),
210
+ ),
211
+ )
212
+ _response_json = _response.json()
213
+ except JSONDecodeError:
214
+ raise ApiError(status_code=_response.status_code, body=_response.text)
215
+ raise ApiError(status_code=_response.status_code, body=_response_json)
216
+
141
217
  def retrieve_workflow_release_tag(
142
218
  self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
143
219
  ) -> WorkflowReleaseTagRead:
@@ -398,6 +474,88 @@ class AsyncWorkflowDeploymentsClient:
398
474
  raise ApiError(status_code=_response.status_code, body=_response.text)
399
475
  raise ApiError(status_code=_response.status_code, body=_response_json)
400
476
 
477
+ async def list_workflow_release_tags(
478
+ self,
479
+ id: str,
480
+ *,
481
+ limit: typing.Optional[int] = None,
482
+ offset: typing.Optional[int] = None,
483
+ ordering: typing.Optional[str] = None,
484
+ source: typing.Optional[ListWorkflowReleaseTagsRequestSource] = None,
485
+ request_options: typing.Optional[RequestOptions] = None,
486
+ ) -> PaginatedWorkflowReleaseTagReadList:
487
+ """
488
+ List Release Tags associated with the specified Workflow Deployment
489
+
490
+ Parameters
491
+ ----------
492
+ id : str
493
+ Either the Workflow Deployment's ID or its unique name
494
+
495
+ limit : typing.Optional[int]
496
+ Number of results to return per page.
497
+
498
+ offset : typing.Optional[int]
499
+ The initial index from which to return the results.
500
+
501
+ ordering : typing.Optional[str]
502
+ Which field to use when ordering the results.
503
+
504
+ source : typing.Optional[ListWorkflowReleaseTagsRequestSource]
505
+
506
+ request_options : typing.Optional[RequestOptions]
507
+ Request-specific configuration.
508
+
509
+ Returns
510
+ -------
511
+ PaginatedWorkflowReleaseTagReadList
512
+
513
+
514
+ Examples
515
+ --------
516
+ import asyncio
517
+
518
+ from vellum import AsyncVellum
519
+
520
+ client = AsyncVellum(
521
+ api_key="YOUR_API_KEY",
522
+ )
523
+
524
+
525
+ async def main() -> None:
526
+ await client.workflow_deployments.list_workflow_release_tags(
527
+ id="id",
528
+ )
529
+
530
+
531
+ asyncio.run(main())
532
+ """
533
+ _response = await self._client_wrapper.httpx_client.request(
534
+ f"v1/workflow-deployments/{jsonable_encoder(id)}/release-tags",
535
+ base_url=self._client_wrapper.get_environment().default,
536
+ method="GET",
537
+ params={
538
+ "limit": limit,
539
+ "offset": offset,
540
+ "ordering": ordering,
541
+ "source": source,
542
+ },
543
+ request_options=request_options,
544
+ )
545
+ try:
546
+ if 200 <= _response.status_code < 300:
547
+ return typing.cast(
548
+ PaginatedWorkflowReleaseTagReadList,
549
+ parse_obj_as(
550
+ type_=PaginatedWorkflowReleaseTagReadList, # type: ignore
551
+ object_=_response.json(),
552
+ ),
553
+ )
554
+ _response_json = _response.json()
555
+ except JSONDecodeError:
556
+ raise ApiError(status_code=_response.status_code, body=_response.text)
557
+ raise ApiError(status_code=_response.status_code, body=_response_json)
558
+
401
559
  async def retrieve_workflow_release_tag(
402
560
  self, id: str, name: str, *, request_options: typing.Optional[RequestOptions] = None
403
561
  ) -> WorkflowReleaseTagRead:
@@ -1,5 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ from .list_workflow_release_tags_request_source import ListWorkflowReleaseTagsRequestSource
3
4
  from .workflow_deployments_list_request_status import WorkflowDeploymentsListRequestStatus
4
5
 
5
- __all__ = ["WorkflowDeploymentsListRequestStatus"]
6
+ __all__ = ["ListWorkflowReleaseTagsRequestSource", "WorkflowDeploymentsListRequestStatus"]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ListWorkflowReleaseTagsRequestSource = typing.Union[typing.Literal["SYSTEM", "USER"], typing.Any]
@@ -1,2 +1,5 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ from .types import WorkflowsPullRequestFormat
4
+
5
+ __all__ = ["WorkflowsPullRequestFormat"]
@@ -2,15 +2,17 @@
2
2
 
3
3
  import typing
4
4
  from ...core.client_wrapper import SyncClientWrapper
5
+ from .types.workflows_pull_request_format import WorkflowsPullRequestFormat
5
6
  from ...core.request_options import RequestOptions
6
7
  from ...core.jsonable_encoder import jsonable_encoder
8
+ from ...errors.bad_request_error import BadRequestError
9
+ from ...core.pydantic_utilities import parse_obj_as
7
10
  from json.decoder import JSONDecodeError
8
11
  from ...core.api_error import ApiError
9
12
  from ...types.workflow_push_exec_config import WorkflowPushExecConfig
10
13
  from ...types.workflow_push_deployment_config_request import WorkflowPushDeploymentConfigRequest
11
14
  from ...types.workflow_push_response import WorkflowPushResponse
12
15
  from ...core.serialization import convert_and_respect_annotation_metadata
13
- from ...core.pydantic_utilities import parse_obj_as
14
16
  from ...core.client_wrapper import AsyncClientWrapper
15
17
 
16
18
  # this is used as the default value for optional parameters
@@ -21,7 +23,13 @@ class WorkflowsClient:
21
23
  def __init__(self, *, client_wrapper: SyncClientWrapper):
22
24
  self._client_wrapper = client_wrapper
23
25
 
24
- def pull(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> typing.Iterator[bytes]:
26
+ def pull(
27
+ self,
28
+ id: str,
29
+ *,
30
+ format: typing.Optional[WorkflowsPullRequestFormat] = None,
31
+ request_options: typing.Optional[RequestOptions] = None,
32
+ ) -> typing.Iterator[bytes]:
25
33
  """
26
34
  An internal-only endpoint that's subject to breaking changes without notice. Not intended for public use.
27
35
 
@@ -30,6 +38,8 @@ class WorkflowsClient:
30
38
  id : str
31
39
  The ID of the Workflow to pull from
32
40
 
41
+ format : typing.Optional[WorkflowsPullRequestFormat]
42
+
33
43
  request_options : typing.Optional[RequestOptions]
34
44
  Request-specific configuration.
35
45
 
@@ -47,12 +57,16 @@ class WorkflowsClient:
47
57
  )
48
58
  client.workflows.pull(
49
59
  id="string",
60
+ format="json",
50
61
  )
51
62
  """
52
63
  with self._client_wrapper.httpx_client.stream(
53
64
  f"v1/workflows/{jsonable_encoder(id)}/pull",
54
65
  base_url=self._client_wrapper.get_environment().default,
55
66
  method="GET",
67
+ params={
68
+ "format": format,
69
+ },
56
70
  request_options=request_options,
57
71
  ) as _response:
58
72
  try:
@@ -61,6 +75,16 @@ class WorkflowsClient:
61
75
  yield _chunk
62
76
  return
63
77
  _response.read()
78
+ if _response.status_code == 400:
79
+ raise BadRequestError(
80
+ typing.cast(
81
+ typing.Optional[typing.Any],
82
+ parse_obj_as(
83
+ type_=typing.Optional[typing.Any], # type: ignore
84
+ object_=_response.json(),
85
+ ),
86
+ )
87
+ )
64
88
  _response_json = _response.json()
65
89
  except JSONDecodeError:
66
90
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -143,7 +167,11 @@ class AsyncWorkflowsClient:
143
167
  self._client_wrapper = client_wrapper
144
168
 
145
169
  async def pull(
146
- self, id: str, *, request_options: typing.Optional[RequestOptions] = None
170
+ self,
171
+ id: str,
172
+ *,
173
+ format: typing.Optional[WorkflowsPullRequestFormat] = None,
174
+ request_options: typing.Optional[RequestOptions] = None,
147
175
  ) -> typing.AsyncIterator[bytes]:
148
176
  """
149
177
  An internal-only endpoint that's subject to breaking changes without notice. Not intended for public use.
@@ -153,6 +181,8 @@ class AsyncWorkflowsClient:
153
181
  id : str
154
182
  The ID of the Workflow to pull from
155
183
 
184
+ format : typing.Optional[WorkflowsPullRequestFormat]
185
+
156
186
  request_options : typing.Optional[RequestOptions]
157
187
  Request-specific configuration.
158
188
 
@@ -175,6 +205,7 @@ class AsyncWorkflowsClient:
175
205
  async def main() -> None:
176
206
  await client.workflows.pull(
177
207
  id="string",
208
+ format="json",
178
209
  )
179
210
 
180
211
 
@@ -184,6 +215,9 @@ class AsyncWorkflowsClient:
184
215
  f"v1/workflows/{jsonable_encoder(id)}/pull",
185
216
  base_url=self._client_wrapper.get_environment().default,
186
217
  method="GET",
218
+ params={
219
+ "format": format,
220
+ },
187
221
  request_options=request_options,
188
222
  ) as _response:
189
223
  try:
@@ -192,6 +226,16 @@ class AsyncWorkflowsClient:
192
226
  yield _chunk
193
227
  return
194
228
  await _response.aread()
229
+ if _response.status_code == 400:
230
+ raise BadRequestError(
231
+ typing.cast(
232
+ typing.Optional[typing.Any],
233
+ parse_obj_as(
234
+ type_=typing.Optional[typing.Any], # type: ignore
235
+ object_=_response.json(),
236
+ ),
237
+ )
238
+ )
195
239
  _response_json = _response.json()
196
240
  except JSONDecodeError:
197
241
  raise ApiError(status_code=_response.status_code, body=_response.text)
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from .workflows_pull_request_format import WorkflowsPullRequestFormat
4
+
5
+ __all__ = ["WorkflowsPullRequestFormat"]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ WorkflowsPullRequestFormat = typing.Union[typing.Literal["json", "zip"], typing.Any]
vellum/types/__init__.py CHANGED
@@ -254,6 +254,7 @@ from .open_ai_vectorizer_text_embedding_3_small_request import OpenAiVectorizerT
254
254
  from .open_ai_vectorizer_text_embedding_ada_002 import OpenAiVectorizerTextEmbeddingAda002
255
255
  from .open_ai_vectorizer_text_embedding_ada_002_request import OpenAiVectorizerTextEmbeddingAda002Request
256
256
  from .paginated_container_image_read_list import PaginatedContainerImageReadList
257
+ from .paginated_deployment_release_tag_read_list import PaginatedDeploymentReleaseTagReadList
257
258
  from .paginated_document_index_read_list import PaginatedDocumentIndexReadList
258
259
  from .paginated_folder_entity_list import PaginatedFolderEntityList
259
260
  from .paginated_slim_deployment_read_list import PaginatedSlimDeploymentReadList
@@ -261,6 +262,7 @@ from .paginated_slim_document_list import PaginatedSlimDocumentList
261
262
  from .paginated_slim_workflow_deployment_list import PaginatedSlimWorkflowDeploymentList
262
263
  from .paginated_test_suite_run_execution_list import PaginatedTestSuiteRunExecutionList
263
264
  from .paginated_test_suite_test_case_list import PaginatedTestSuiteTestCaseList
265
+ from .paginated_workflow_release_tag_read_list import PaginatedWorkflowReleaseTagReadList
264
266
  from .pdf_search_result_meta_source import PdfSearchResultMetaSource
265
267
  from .pdf_search_result_meta_source_request import PdfSearchResultMetaSourceRequest
266
268
  from .plain_text_prompt_block_request import PlainTextPromptBlockRequest
@@ -739,6 +741,7 @@ __all__ = [
739
741
  "OpenAiVectorizerTextEmbeddingAda002",
740
742
  "OpenAiVectorizerTextEmbeddingAda002Request",
741
743
  "PaginatedContainerImageReadList",
744
+ "PaginatedDeploymentReleaseTagReadList",
742
745
  "PaginatedDocumentIndexReadList",
743
746
  "PaginatedFolderEntityList",
744
747
  "PaginatedSlimDeploymentReadList",
@@ -746,6 +749,7 @@ __all__ = [
746
749
  "PaginatedSlimWorkflowDeploymentList",
747
750
  "PaginatedTestSuiteRunExecutionList",
748
751
  "PaginatedTestSuiteTestCaseList",
752
+ "PaginatedWorkflowReleaseTagReadList",
749
753
  "PdfSearchResultMetaSource",
750
754
  "PdfSearchResultMetaSourceRequest",
751
755
  "PlainTextPromptBlockRequest",
@@ -15,11 +15,10 @@ class ChatMessagePromptBlockRequest(UniversalBaseModel):
15
15
  A block that represents a chat message in a prompt template.
16
16
  """
17
17
 
18
- block_type: typing.Literal["CHAT_MESSAGE"] = "CHAT_MESSAGE"
19
- properties: "ChatMessagePromptBlockPropertiesRequest"
20
- id: str
21
18
  state: typing.Optional[PromptBlockState] = None
22
19
  cache_config: typing.Optional[EphemeralPromptCacheConfigRequest] = None
20
+ block_type: typing.Literal["CHAT_MESSAGE"] = "CHAT_MESSAGE"
21
+ properties: "ChatMessagePromptBlockPropertiesRequest"
23
22
 
24
23
  if IS_PYDANTIC_V2:
25
24
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -2,9 +2,9 @@
2
2
 
3
3
  from ..core.pydantic_utilities import UniversalBaseModel
4
4
  import typing
5
- from .function_definition_prompt_block_properties_request import FunctionDefinitionPromptBlockPropertiesRequest
6
5
  from .prompt_block_state import PromptBlockState
7
6
  from .ephemeral_prompt_cache_config_request import EphemeralPromptCacheConfigRequest
7
+ from .function_definition_prompt_block_properties_request import FunctionDefinitionPromptBlockPropertiesRequest
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
  import pydantic
10
10
 
@@ -14,11 +14,10 @@ class FunctionDefinitionPromptBlockRequest(UniversalBaseModel):
14
14
  A block that represents a function definition in a prompt template.
15
15
  """
16
16
 
17
- block_type: typing.Literal["FUNCTION_DEFINITION"] = "FUNCTION_DEFINITION"
18
- properties: FunctionDefinitionPromptBlockPropertiesRequest
19
- id: str
20
17
  state: typing.Optional[PromptBlockState] = None
21
18
  cache_config: typing.Optional[EphemeralPromptCacheConfigRequest] = None
19
+ block_type: typing.Literal["FUNCTION_DEFINITION"] = "FUNCTION_DEFINITION"
20
+ properties: FunctionDefinitionPromptBlockPropertiesRequest
22
21
 
23
22
  if IS_PYDANTIC_V2:
24
23
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -2,9 +2,9 @@
2
2
 
3
3
  from ..core.pydantic_utilities import UniversalBaseModel
4
4
  import typing
5
- from .jinja_prompt_block_properties_request import JinjaPromptBlockPropertiesRequest
6
5
  from .prompt_block_state import PromptBlockState
7
6
  from .ephemeral_prompt_cache_config_request import EphemeralPromptCacheConfigRequest
7
+ from .jinja_prompt_block_properties_request import JinjaPromptBlockPropertiesRequest
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
  import pydantic
10
10
 
@@ -14,11 +14,10 @@ class JinjaPromptBlockRequest(UniversalBaseModel):
14
14
  A block of Jinja template code that is used to generate a prompt
15
15
  """
16
16
 
17
- block_type: typing.Literal["JINJA"] = "JINJA"
18
- properties: JinjaPromptBlockPropertiesRequest
19
- id: str
20
17
  state: typing.Optional[PromptBlockState] = None
21
18
  cache_config: typing.Optional[EphemeralPromptCacheConfigRequest] = None
19
+ block_type: typing.Literal["JINJA"] = "JINJA"
20
+ properties: JinjaPromptBlockPropertiesRequest
22
21
 
23
22
  if IS_PYDANTIC_V2:
24
23
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .deployment_release_tag_read import DeploymentReleaseTagRead
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class PaginatedDeploymentReleaseTagReadList(UniversalBaseModel):
11
+ count: typing.Optional[int] = None
12
+ next: typing.Optional[str] = None
13
+ previous: typing.Optional[str] = None
14
+ results: typing.Optional[typing.List[DeploymentReleaseTagRead]] = None
15
+
16
+ if IS_PYDANTIC_V2:
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .workflow_release_tag_read import WorkflowReleaseTagRead
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class PaginatedWorkflowReleaseTagReadList(UniversalBaseModel):
11
+ count: typing.Optional[int] = None
12
+ next: typing.Optional[str] = None
13
+ previous: typing.Optional[str] = None
14
+ results: typing.Optional[typing.List[WorkflowReleaseTagRead]] = None
15
+
16
+ if IS_PYDANTIC_V2:
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
@@ -13,11 +13,10 @@ class PlainTextPromptBlockRequest(UniversalBaseModel):
13
13
  A block that holds a plain text string value.
14
14
  """
15
15
 
16
- block_type: typing.Literal["PLAIN_TEXT"] = "PLAIN_TEXT"
17
- text: str
18
- id: str
19
16
  state: typing.Optional[PromptBlockState] = None
20
17
  cache_config: typing.Optional[EphemeralPromptCacheConfigRequest] = None
18
+ block_type: typing.Literal["PLAIN_TEXT"] = "PLAIN_TEXT"
19
+ text: str
21
20
 
22
21
  if IS_PYDANTIC_V2:
23
22
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -13,10 +13,9 @@ class VariablePromptBlockRequest(UniversalBaseModel):
13
13
  A block that represents a variable in a prompt template.
14
14
  """
15
15
 
16
- block_type: typing.Literal["VARIABLE"] = "VARIABLE"
17
- id: str
18
16
  state: typing.Optional[PromptBlockState] = None
19
17
  cache_config: typing.Optional[EphemeralPromptCacheConfigRequest] = None
18
+ block_type: typing.Literal["VARIABLE"] = "VARIABLE"
20
19
  input_variable_id: str
21
20
 
22
21
  if IS_PYDANTIC_V2:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.9.4
3
+ Version: 0.9.6
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.8,<4.0
@@ -1,8 +1,8 @@
1
- vellum/__init__.py,sha256=0uj4fgRGYDQlofgZcuCvFYAjnUf8HE-zgTrjK4eO4YA,34466
1
+ vellum/__init__.py,sha256=lxCyTeUWCY9gVFEdNGjS9D5vo_ZHdBKB5Jq5YBzOAuA,34880
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=qXL8DgVAMpVjeIEN7QusP5nGW32c5LjXsB1UIb6dFEw,1889
5
+ vellum/core/client_wrapper.py,sha256=HkbykwxWd4Q0SdjNKrldb7OajGyKhBvHr6mPforemyI,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
@@ -30,15 +30,16 @@ vellum/lib/utils/paginator.py,sha256=yDvgehocYBDclLt5SewZH4hCIyq0yLHdBzkyPCoYPjs
30
30
  vellum/lib/utils/typing.py,sha256=qngWnFwrWLUeu1nmixXGj173mwg7BXKTAyQkxK8AtfQ,327
31
31
  vellum/lib/utils/uuid.py,sha256=nedyhTNQDS2YvrU5gL3PtvG9cgGH87yKOcpGDJAe44E,214
32
32
  vellum/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- vellum/resources/__init__.py,sha256=oPvhJ3z-7efrRlZ7ILrHQTypPBcXLOtGZdGMmHiVpLU,1094
33
+ vellum/resources/__init__.py,sha256=6tqe3AwLJGLW38iua0Tje0n3uz3a4vkqMFxbUJGRs98,1346
34
34
  vellum/resources/ad_hoc/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
35
- vellum/resources/ad_hoc/client.py,sha256=maNoWMHH8LSFlr5rDfoJybiPaoWuUiWFkt-IFq8dNMA,17271
35
+ vellum/resources/ad_hoc/client.py,sha256=HZ8FOit4o3a0LcVs2oG-ymy0kqSZVa0fuscL-wHzzxo,17201
36
36
  vellum/resources/container_images/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
37
37
  vellum/resources/container_images/client.py,sha256=jK1n-NFsdBKCeEKh-EIqvw7R8AG9PP4GxxcoH9F0GYs,15463
38
- vellum/resources/deployments/__init__.py,sha256=AE0TcFwLrLBljM0ZDX-pPw4Kqt-1f5JDpIok2HS80QI,157
39
- vellum/resources/deployments/client.py,sha256=tF3llT_g6rfzDHpLhlEoz9gJDy8vIdNGKfICMJp3iEw,29236
40
- vellum/resources/deployments/types/__init__.py,sha256=IhwnmoXJ0r_QEhh1b2tBcaAm_x3fWMVuIhYmAapp_ZA,183
38
+ vellum/resources/deployments/__init__.py,sha256=m64MNuPx3qVazOnTNwOY8oEeDrAkNwMJvUEe5xoMDvs,239
39
+ vellum/resources/deployments/client.py,sha256=sG_Qyc9ks1oFHsBoIJgBnZId-__W5-3T_i8A9elHUzI,34520
40
+ vellum/resources/deployments/types/__init__.py,sha256=29GVdoLOJsADSSSqZwb6CQPeEmPjkKrbsWfru1bemj8,321
41
41
  vellum/resources/deployments/types/deployments_list_request_status.py,sha256=CxlQD16KZXme7x31YYCe_3aAgEueutDTeJo5A4Au-aU,174
42
+ vellum/resources/deployments/types/list_deployment_release_tags_request_source.py,sha256=hRGgWMYZL9uKCmD_2dU8-u9RCPUUGItpNn1tUY-NXKY,180
42
43
  vellum/resources/document_indexes/__init__.py,sha256=YpOl_9IV7xOlH4OmusQxtAJB11kxQfCSMDyT1_UD0oM,165
43
44
  vellum/resources/document_indexes/client.py,sha256=1kp5I8DC4UPvjlWsocuaNhgpIQppDfHFkZIMBKBFj9s,37520
44
45
  vellum/resources/document_indexes/types/__init__.py,sha256=IoFqKHN_VBdEhC7VL8_6Jbatrn0e0zuYEJAJUahcUR0,196
@@ -57,14 +58,17 @@ vellum/resources/test_suite_runs/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-
57
58
  vellum/resources/test_suite_runs/client.py,sha256=gCF1ewlUrCsZhnXYOYqdUuD2twTrQ-u95xOgvRy7WAw,15130
58
59
  vellum/resources/test_suites/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
59
60
  vellum/resources/test_suites/client.py,sha256=XOSXVzgcnyescVX02aKdRzLSxY32xS0ULXbwc9XFAE8,25063
60
- vellum/resources/workflow_deployments/__init__.py,sha256=-5BCA0kSmW6WUh4gqLuQtHv4zFdt9lccuDwMU5YvEu4,173
61
- vellum/resources/workflow_deployments/client.py,sha256=ezSg3EDA5UszvrT15jx7-RoSO8pXRwAIDlqMCJXkNOY,17393
62
- vellum/resources/workflow_deployments/types/__init__.py,sha256=rmS_4dtbgLHGNQJ_pOloygrjl4sNbKZjTEKBxbMyz6E,208
61
+ vellum/resources/workflow_deployments/__init__.py,sha256=_duH6m1CDWcfqX6DTBNjO3ar4Xrl-f5PozMaTcT4Kow,251
62
+ vellum/resources/workflow_deployments/client.py,sha256=dtXQWS0qC8jaV8LdpZ88Ss-JISXI5lLp7UGRUkFXKMY,22667
63
+ vellum/resources/workflow_deployments/types/__init__.py,sha256=W7DKJ1nduwhRckYLvH7wHLdaGH9MXHTZkxwG7FdTngY,340
64
+ vellum/resources/workflow_deployments/types/list_workflow_release_tags_request_source.py,sha256=LPETHLX9Ygha_JRT9oWZAZR6clv-W1tTelXzktkTBX8,178
63
65
  vellum/resources/workflow_deployments/types/workflow_deployments_list_request_status.py,sha256=FXVkVmGM6DZ2RpTGnZXWJYiVlLQ-K5fDtX3WMaBPaWk,182
64
66
  vellum/resources/workflow_sandboxes/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
65
67
  vellum/resources/workflow_sandboxes/client.py,sha256=3wVQxkjrJ5bIS8fB5FpKXCP2dX38299ghWrJ8YmXxwQ,7435
66
- vellum/resources/workflows/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
67
- vellum/resources/workflows/client.py,sha256=fndxd7ZtNl4VA9-5-2pZKB1JQQDrC1pdzudcsWQ_YMg,9112
68
+ vellum/resources/workflows/__init__.py,sha256=Z4xi8Nxd9U4t35FQSepTt1p-ns0X1xtdNs168kUcuBk,153
69
+ vellum/resources/workflows/client.py,sha256=mJAg6KNbvchX-_rPzIrAWQqPVNPujDdQ9LTt-lHD0eE,10662
70
+ vellum/resources/workflows/types/__init__.py,sha256=-uFca4ypncAOvfsg6sjD-5C9zWdA5qNvU6m675GphVg,177
71
+ vellum/resources/workflows/types/workflows_pull_request_format.py,sha256=dOWE_jnDnniIJLoeseeCms23aklghyBkoPmBFzcqqZk,165
68
72
  vellum/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
69
73
  vellum/resources/workspace_secrets/client.py,sha256=h7UzXLyTttPq1t-JZGMg1BWxypxJvBGUdqg7KGT7MK4,8027
70
74
  vellum/terraform/__init__.py,sha256=CxzT0rkV9cXwAtxZ3gv46DCRt9vBl_Sx1SOj5MJtl0Y,498
@@ -78,7 +82,7 @@ vellum/terraform/ml_model/__init__.py,sha256=I8h1Ru-Rb-Hi_HusK6G7nJQZEKQGsAAHMmw
78
82
  vellum/terraform/provider/__init__.py,sha256=-06xKmAmknpohVzw5TD-t1bnUHta8OrQYqvMd04XM-U,12684
79
83
  vellum/terraform/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
80
84
  vellum/terraform/versions.json,sha256=45c7jjRD5i4w9DJQHs5ZqLLVXRnQwP9Rirq3mWY-xEo,56
81
- vellum/types/__init__.py,sha256=zItndgX3EfimrOEgJ3E2BblVGARK-BTjdvmg3dSxvU8,52464
85
+ vellum/types/__init__.py,sha256=sqoQD4V1dk8tGUZoK1EuuaUvFHuPJEB5DkAq3R7Y4F4,52736
82
86
  vellum/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
83
87
  vellum/types/ad_hoc_expand_meta_request.py,sha256=hS8PC3hC--OKvRKi2ZFj_RJPQ1bxo2GXno8qJq1kk28,1338
84
88
  vellum/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
@@ -116,7 +120,7 @@ vellum/types/chat_message.py,sha256=EOA8v5Ebx2KS9BtwBBGbuvSK-pn4xWYZiioHuuPWvzw,
116
120
  vellum/types/chat_message_content.py,sha256=DQLB5rG40qLRLsmKWWo-XKa4rhk9TGQs_eFTFow2zEM,607
117
121
  vellum/types/chat_message_content_request.py,sha256=iFT_PmN6sUjeN1_fZXr2ePJEbSq_GZcClBvtu8SdVmQ,724
118
122
  vellum/types/chat_message_prompt_block_properties_request.py,sha256=lMBVwR5hnBykjVpcptjBJLj4QhUpomtxdj-E2Th8iYw,1346
119
- vellum/types/chat_message_prompt_block_request.py,sha256=osPqtdZOG9NW_Iqcv0CyvkU2cHZzPeVVIWQUGvnB-Dw,1423
123
+ vellum/types/chat_message_prompt_block_request.py,sha256=aCTBth-hSb5BLbyeiUJdtKB-zoXY78JfUl3mZXjkVfc,1411
120
124
  vellum/types/chat_message_request.py,sha256=r2EW1pfnvNYx2fo6mBqU5HQrUzp67WXuE5G-XK281E4,945
121
125
  vellum/types/chat_message_role.py,sha256=-i0Jrcbwf72MkMoaFTGyxRduvlN7f5Y9ULhCXR5KNdA,182
122
126
  vellum/types/code_execution_node_array_result.py,sha256=KCdbmjXjReO-hPPpBsSR17h_roDUpc4R-92cmIn59ck,952
@@ -213,7 +217,7 @@ vellum/types/function_call_variable_value.py,sha256=VQKCiEtJsmIK3i7CtFV_2ZpxeX70
213
217
  vellum/types/function_call_vellum_value.py,sha256=lLJb-S_-S_UXm6una1BMyCbqLpMhbbMcaVIYNO45h5o,759
214
218
  vellum/types/function_call_vellum_value_request.py,sha256=oUteuCfWcj7UJbSE_Vywmmva9kyTaeL9iv5WJHabDVs,788
215
219
  vellum/types/function_definition_prompt_block_properties_request.py,sha256=7mhG7x-YceU1TFImm_HpNuetByxpLZ3rZaT1JoKKBrE,1423
216
- vellum/types/function_definition_prompt_block_request.py,sha256=l6n6-Mg_EmXz_Ge-wdvQI3in61ipIoQ0JPgxHlpBvD0,1181
220
+ vellum/types/function_definition_prompt_block_request.py,sha256=ZX6YqqC1xDICC_S_KYDaWo4ag--ujQYGRhnO_6fIxJE,1169
217
221
  vellum/types/generate_options_request.py,sha256=TUDqsH0tiPWDZH4T-p5gsvKvwVHEVZ_k6oI3qsjlsk4,782
218
222
  vellum/types/generate_request.py,sha256=gL6ywAJe6YCJ5oKbtYwL2H_TMdC_6PJZAI7-P3UOF3I,1286
219
223
  vellum/types/generate_response.py,sha256=QJmSRsYhZhtDmk2xpE9ueQEkHyXmYsaEQqqlKl9-bS4,699
@@ -247,7 +251,7 @@ vellum/types/instructor_vectorizer_config.py,sha256=7udlosXv4CUWTW_Q9m0mz3VRi1FK
247
251
  vellum/types/instructor_vectorizer_config_request.py,sha256=6LGFFQKntMfX7bdetUqEMVdr3KJHEps0oDp2bNmqWbM,738
248
252
  vellum/types/iteration_state_enum.py,sha256=83JSh842OJgQiLtNn1KMimy6RlEYRVH3mDmYWS6Ewzo,180
249
253
  vellum/types/jinja_prompt_block_properties_request.py,sha256=2nb9gp224ADPi0aNTKNMaOe159EDB8JSHzDkMzR0QxI,719
250
- vellum/types/jinja_prompt_block_request.py,sha256=VQPrZOZJaEw2ILrebKT53CM8hRyQ5RuUeZZt0mzRd3Q,1097
254
+ vellum/types/jinja_prompt_block_request.py,sha256=KiRE-mYW-KvPTWDQBVVcXD8NKPLlgzB-_7_DnhVTIJM,1085
251
255
  vellum/types/json_input_request.py,sha256=x5sA-VXxF4QH-98xRcIKPZhsMVbnJNUQofiUQqyfGk4,768
252
256
  vellum/types/json_variable_value.py,sha256=X7eBEWxuozfvIdqD5sIZ5L-L77Ou6IIsZaQVNXh5G2k,634
253
257
  vellum/types/json_vellum_value.py,sha256=8irlw6NkRRVafysfTc1Q5BFFhRrWJYzdwrDYTdJK4JY,689
@@ -321,6 +325,7 @@ vellum/types/open_ai_vectorizer_text_embedding_3_small_request.py,sha256=-lwNeWj
321
325
  vellum/types/open_ai_vectorizer_text_embedding_ada_002.py,sha256=c4vNlR6lRvUjq-67M06sroDMNMG_qC4JUBqwmKEJQ2I,812
322
326
  vellum/types/open_ai_vectorizer_text_embedding_ada_002_request.py,sha256=FdpkkNBGgRwfqFjBwpfH4t2zKIM0pIYminX2iZQUzvY,841
323
327
  vellum/types/paginated_container_image_read_list.py,sha256=7lwIgs1q7Z0xDYPGWPnjSNC1kU_peu79CotzaaQfRdA,801
328
+ vellum/types/paginated_deployment_release_tag_read_list.py,sha256=hp7D74CxPY14dEPRZ-fnTCwp63upxkYquL1e74oYXh4,826
324
329
  vellum/types/paginated_document_index_read_list.py,sha256=bO7pm3KCZi5LDO17YXgr_lUF9SRdAfMu6wOutX91ANw,797
325
330
  vellum/types/paginated_folder_entity_list.py,sha256=PElkrxMrnEjL9YGXde_r7RpNQUjzYfaLDlnwO8WFDSo,776
326
331
  vellum/types/paginated_slim_deployment_read_list.py,sha256=H8VKHr-aZP4ACwQJSs7KOrbqaj2nmMmyyvZHe7NRWRc,1048
@@ -328,9 +333,10 @@ vellum/types/paginated_slim_document_list.py,sha256=8f7L0ZqD9hBU4XTGTdltl0ORuyy2
328
333
  vellum/types/paginated_slim_workflow_deployment_list.py,sha256=b0SGPewaOK5VlvlxymI6BELdqC9W0m823IZK-SaOiIw,1072
329
334
  vellum/types/paginated_test_suite_run_execution_list.py,sha256=_NCKlKzs-8h0oZFhbGLO4sMt3xh9jicPqJdYu-NN-8c,1019
330
335
  vellum/types/paginated_test_suite_test_case_list.py,sha256=9KrCCQKy0egMmVx5U2k6o1GjNrUYpVvGG_hm2cHqIzc,995
336
+ vellum/types/paginated_workflow_release_tag_read_list.py,sha256=dH24ESWyAMVtyHsBkxG8kJ9oORY04Wn3IN-7jvV7Lu4,818
331
337
  vellum/types/pdf_search_result_meta_source.py,sha256=EMVhqdN1bwE6Ujdx4VhlmKQtJvitN-57kY8oZPxh9dI,1126
332
338
  vellum/types/pdf_search_result_meta_source_request.py,sha256=nUhaD2Kw1paGC6O_ICVNu3R0e1SVgTshRTkGNgmcjXo,1133
333
- vellum/types/plain_text_prompt_block_request.py,sha256=ljdh2OD-xUOAhEF8raHc6WnQDnWdtEY8aSNsEiuC5nY,971
339
+ vellum/types/plain_text_prompt_block_request.py,sha256=iKt6FH5vE4vCndqroDpkEwIbz0gQK40qzgXTPEuatCU,959
334
340
  vellum/types/price.py,sha256=ewzXDBVLaleuXMVQ-gQ3G1Nl5J2OWOVEMEFfnQIpiTk,610
335
341
  vellum/types/processing_failure_reason_enum.py,sha256=R_KIW7TcQejhc-vLhtNf9SdkYADgoZCn4ch4_RRIvsI,195
336
342
  vellum/types/processing_state_enum.py,sha256=lIEunnCpgYQExm2bGyTb12KyjQ3O7XOx636aWXb_Iwo,190
@@ -495,7 +501,7 @@ vellum/types/token_overlapping_window_chunking_request.py,sha256=IjCs9UDrwBT6tnf
495
501
  vellum/types/unit_enum.py,sha256=BKWRVp2WfHtGK4D6TsolhNJHGHfExzrRHkFn8H8QkwQ,113
496
502
  vellum/types/upload_document_response.py,sha256=6_5Cm4yBPq5nD-rEql6GsmrAtSVVtNRczOL5YwsBVMI,649
497
503
  vellum/types/upsert_test_suite_test_case_request.py,sha256=iB38vx4mo4yNLV5XTeXMGR-PJLOQPloWQOAAi7PDpM0,2079
498
- vellum/types/variable_prompt_block_request.py,sha256=XYiA3R_jaMZ2Mq37Lbh7CfBqqj93Yv8ZMVYGheodBdY,990
504
+ vellum/types/variable_prompt_block_request.py,sha256=e23BD9FQgF5JjxLuHCEBOlQn1e5cJaIF-HZBJ9mmjUA,978
499
505
  vellum/types/vellum_audio.py,sha256=oPm1bcxk7fTfWfHWOPSLvrZrRBjCyPDVDRMACPoWmMI,721
500
506
  vellum/types/vellum_audio_request.py,sha256=y9CZgQ1TteW0AHNk8GuAZLNVFa981rh7P9vyV8bfgys,728
501
507
  vellum/types/vellum_error.py,sha256=jCKfuCkDTiyFb1-QyP2cg0wReja6wMuooKPAjNhBA0M,643
@@ -559,7 +565,7 @@ vellum/types/workflow_result_event_output_data_string.py,sha256=tM3kgh6tEhD0dFEb
559
565
  vellum/types/workflow_stream_event.py,sha256=Wn3Yzuy9MqWAeo8tEaXDTKDEbJoA8DdYdMVq8EKuhu8,361
560
566
  vellum/types/workspace_secret_read.py,sha256=3CnHDG72IAY0KRNvc31F0xLmhnpwjQHnDYCfQJzCxI0,714
561
567
  vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
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,,
568
+ vellum_ai-0.9.6.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
569
+ vellum_ai-0.9.6.dist-info/METADATA,sha256=81_zVpbr2Kd3kb9lKFW3VufkKzjk50WEtSGfxSmsQr8,4394
570
+ vellum_ai-0.9.6.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
571
+ vellum_ai-0.9.6.dist-info/RECORD,,