vellum-ai 0.6.3__py3-none-any.whl → 0.6.5__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. vellum/__init__.py +56 -0
  2. vellum/client.py +8 -12
  3. vellum/core/client_wrapper.py +1 -1
  4. vellum/resources/test_suites/client.py +175 -6
  5. vellum/types/__init__.py +60 -0
  6. vellum/types/bulk_create_test_suite_test_case_data_request.py +39 -0
  7. vellum/types/bulk_replace_test_suite_test_case_data_request.py +44 -0
  8. vellum/types/create_enum.py +5 -0
  9. vellum/types/created_enum.py +5 -0
  10. vellum/types/delete_enum.py +5 -0
  11. vellum/types/deleted_enum.py +5 -0
  12. vellum/types/deployment_read.py +5 -0
  13. vellum/types/replace_enum.py +5 -0
  14. vellum/types/replaced_enum.py +5 -0
  15. vellum/types/test_suite_test_case_bulk_operation_request.py +46 -0
  16. vellum/types/test_suite_test_case_bulk_result.py +58 -0
  17. vellum/types/test_suite_test_case_create_bulk_operation_request.py +35 -0
  18. vellum/types/test_suite_test_case_created_bulk_result.py +31 -0
  19. vellum/types/test_suite_test_case_created_bulk_result_data.py +29 -0
  20. vellum/types/test_suite_test_case_delete_bulk_operation_data_request.py +25 -0
  21. vellum/types/test_suite_test_case_delete_bulk_operation_request.py +38 -0
  22. vellum/types/test_suite_test_case_deleted_bulk_result.py +35 -0
  23. vellum/types/test_suite_test_case_deleted_bulk_result_data.py +29 -0
  24. vellum/types/test_suite_test_case_rejected_bulk_result.py +37 -0
  25. vellum/types/test_suite_test_case_replace_bulk_operation_request.py +35 -0
  26. vellum/types/test_suite_test_case_replaced_bulk_result.py +35 -0
  27. vellum/types/test_suite_test_case_replaced_bulk_result_data.py +29 -0
  28. vellum/types/workflow_deployment_read.py +5 -0
  29. vellum_ai-0.6.5.dist-info/METADATA +126 -0
  30. {vellum_ai-0.6.3.dist-info → vellum_ai-0.6.5.dist-info}/RECORD +32 -11
  31. vellum_ai-0.6.3.dist-info/METADATA +0 -109
  32. {vellum_ai-0.6.3.dist-info → vellum_ai-0.6.5.dist-info}/LICENSE +0 -0
  33. {vellum_ai-0.6.3.dist-info → vellum_ai-0.6.5.dist-info}/WHEEL +0 -0
vellum/__init__.py CHANGED
@@ -35,6 +35,8 @@ from .types import (
35
35
  BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request,
36
36
  BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1,
37
37
  BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
38
+ BulkCreateTestSuiteTestCaseDataRequest,
39
+ BulkReplaceTestSuiteTestCaseDataRequest,
38
40
  ChatHistoryEnum,
39
41
  ChatHistoryInputRequest,
40
42
  ChatMessage,
@@ -71,6 +73,10 @@ from .types import (
71
73
  CodeExecutionNodeStringResult,
72
74
  ConditionalNodeResult,
73
75
  ConditionalNodeResultData,
76
+ CreateEnum,
77
+ CreatedEnum,
78
+ DeleteEnum,
79
+ DeletedEnum,
74
80
  DeploymentProviderPayloadResponse,
75
81
  DeploymentRead,
76
82
  DeploymentReleaseTagDeploymentHistoryItem,
@@ -317,6 +323,8 @@ from .types import (
317
323
  RejectedPromptExecutionMeta,
318
324
  RejectedWorkflowNodeResultEvent,
319
325
  ReleaseTagSource,
326
+ ReplaceEnum,
327
+ ReplacedEnum,
320
328
  SandboxScenario,
321
329
  ScenarioInput,
322
330
  ScenarioInputChatHistoryVariableValue,
@@ -473,6 +481,26 @@ from .types import (
473
481
  TestSuiteRunWorkflowReleaseTagExecConfigRequest,
474
482
  TestSuiteRunWorkflowReleaseTagExecConfigTypeEnum,
475
483
  TestSuiteTestCase,
484
+ TestSuiteTestCaseBulkOperationRequest,
485
+ TestSuiteTestCaseBulkOperationRequest_Create,
486
+ TestSuiteTestCaseBulkOperationRequest_Delete,
487
+ TestSuiteTestCaseBulkOperationRequest_Replace,
488
+ TestSuiteTestCaseBulkResult,
489
+ TestSuiteTestCaseBulkResult_Created,
490
+ TestSuiteTestCaseBulkResult_Deleted,
491
+ TestSuiteTestCaseBulkResult_Rejected,
492
+ TestSuiteTestCaseBulkResult_Replaced,
493
+ TestSuiteTestCaseCreateBulkOperationRequest,
494
+ TestSuiteTestCaseCreatedBulkResult,
495
+ TestSuiteTestCaseCreatedBulkResultData,
496
+ TestSuiteTestCaseDeleteBulkOperationDataRequest,
497
+ TestSuiteTestCaseDeleteBulkOperationRequest,
498
+ TestSuiteTestCaseDeletedBulkResult,
499
+ TestSuiteTestCaseDeletedBulkResultData,
500
+ TestSuiteTestCaseRejectedBulkResult,
501
+ TestSuiteTestCaseReplaceBulkOperationRequest,
502
+ TestSuiteTestCaseReplacedBulkResult,
503
+ TestSuiteTestCaseReplacedBulkResultData,
476
504
  TextEmbedding3LargeEnum,
477
505
  TextEmbedding3SmallEnum,
478
506
  TextEmbeddingAda002Enum,
@@ -622,6 +650,8 @@ __all__ = [
622
650
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request",
623
651
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1",
624
652
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request",
653
+ "BulkCreateTestSuiteTestCaseDataRequest",
654
+ "BulkReplaceTestSuiteTestCaseDataRequest",
625
655
  "ChatHistoryEnum",
626
656
  "ChatHistoryInputRequest",
627
657
  "ChatMessage",
@@ -658,6 +688,10 @@ __all__ = [
658
688
  "CodeExecutionNodeStringResult",
659
689
  "ConditionalNodeResult",
660
690
  "ConditionalNodeResultData",
691
+ "CreateEnum",
692
+ "CreatedEnum",
693
+ "DeleteEnum",
694
+ "DeletedEnum",
661
695
  "DeploymentProviderPayloadResponse",
662
696
  "DeploymentRead",
663
697
  "DeploymentReleaseTagDeploymentHistoryItem",
@@ -909,6 +943,8 @@ __all__ = [
909
943
  "RejectedPromptExecutionMeta",
910
944
  "RejectedWorkflowNodeResultEvent",
911
945
  "ReleaseTagSource",
946
+ "ReplaceEnum",
947
+ "ReplacedEnum",
912
948
  "SandboxScenario",
913
949
  "ScenarioInput",
914
950
  "ScenarioInputChatHistoryVariableValue",
@@ -1065,6 +1101,26 @@ __all__ = [
1065
1101
  "TestSuiteRunWorkflowReleaseTagExecConfigRequest",
1066
1102
  "TestSuiteRunWorkflowReleaseTagExecConfigTypeEnum",
1067
1103
  "TestSuiteTestCase",
1104
+ "TestSuiteTestCaseBulkOperationRequest",
1105
+ "TestSuiteTestCaseBulkOperationRequest_Create",
1106
+ "TestSuiteTestCaseBulkOperationRequest_Delete",
1107
+ "TestSuiteTestCaseBulkOperationRequest_Replace",
1108
+ "TestSuiteTestCaseBulkResult",
1109
+ "TestSuiteTestCaseBulkResult_Created",
1110
+ "TestSuiteTestCaseBulkResult_Deleted",
1111
+ "TestSuiteTestCaseBulkResult_Rejected",
1112
+ "TestSuiteTestCaseBulkResult_Replaced",
1113
+ "TestSuiteTestCaseCreateBulkOperationRequest",
1114
+ "TestSuiteTestCaseCreatedBulkResult",
1115
+ "TestSuiteTestCaseCreatedBulkResultData",
1116
+ "TestSuiteTestCaseDeleteBulkOperationDataRequest",
1117
+ "TestSuiteTestCaseDeleteBulkOperationRequest",
1118
+ "TestSuiteTestCaseDeletedBulkResult",
1119
+ "TestSuiteTestCaseDeletedBulkResultData",
1120
+ "TestSuiteTestCaseRejectedBulkResult",
1121
+ "TestSuiteTestCaseReplaceBulkOperationRequest",
1122
+ "TestSuiteTestCaseReplacedBulkResult",
1123
+ "TestSuiteTestCaseReplacedBulkResultData",
1068
1124
  "TextEmbedding3LargeEnum",
1069
1125
  "TextEmbedding3SmallEnum",
1070
1126
  "TextEmbeddingAda002Enum",
vellum/client.py CHANGED
@@ -591,7 +591,8 @@ class Vellum:
591
591
  """
592
592
  Generate a completion using a previously defined deployment.
593
593
 
594
- **Note:** Uses a base url of `https://predict.vellum.ai`.
594
+ Important: This endpoint is DEPRECATED and has been superseded by
595
+ [execute-prompt](/api-reference/api-reference/execute-prompt).
595
596
 
596
597
  Parameters:
597
598
  - deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
@@ -679,7 +680,8 @@ class Vellum:
679
680
  """
680
681
  Generate a stream of completions using a previously defined deployment.
681
682
 
682
- **Note:** Uses a base url of `https://predict.vellum.ai`.
683
+ Important: This endpoint is DEPRECATED and has been superseded by
684
+ [execute-prompt-stream](/api-reference/api-reference/execute-prompt-stream).
683
685
 
684
686
  Parameters:
685
687
  - deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
@@ -791,8 +793,6 @@ class Vellum:
791
793
  """
792
794
  Perform a search against a document index.
793
795
 
794
- **Note:** Uses a base url of `https://predict.vellum.ai`.
795
-
796
796
  Parameters:
797
797
  - index_id: typing.Optional[str]. The ID of the index to search against. Must provide either this or index_name.
798
798
 
@@ -871,8 +871,6 @@ class Vellum:
871
871
  """
872
872
  Used to submit feedback regarding the quality of previously generated completions.
873
873
 
874
- **Note:** Uses a base url of `https://predict.vellum.ai`.
875
-
876
874
  Parameters:
877
875
  - deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
878
876
 
@@ -1554,7 +1552,8 @@ class AsyncVellum:
1554
1552
  """
1555
1553
  Generate a completion using a previously defined deployment.
1556
1554
 
1557
- **Note:** Uses a base url of `https://predict.vellum.ai`.
1555
+ Important: This endpoint is DEPRECATED and has been superseded by
1556
+ [execute-prompt](/api-reference/api-reference/execute-prompt).
1558
1557
 
1559
1558
  Parameters:
1560
1559
  - deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
@@ -1642,7 +1641,8 @@ class AsyncVellum:
1642
1641
  """
1643
1642
  Generate a stream of completions using a previously defined deployment.
1644
1643
 
1645
- **Note:** Uses a base url of `https://predict.vellum.ai`.
1644
+ Important: This endpoint is DEPRECATED and has been superseded by
1645
+ [execute-prompt-stream](/api-reference/api-reference/execute-prompt-stream).
1646
1646
 
1647
1647
  Parameters:
1648
1648
  - deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
@@ -1754,8 +1754,6 @@ class AsyncVellum:
1754
1754
  """
1755
1755
  Perform a search against a document index.
1756
1756
 
1757
- **Note:** Uses a base url of `https://predict.vellum.ai`.
1758
-
1759
1757
  Parameters:
1760
1758
  - index_id: typing.Optional[str]. The ID of the index to search against. Must provide either this or index_name.
1761
1759
 
@@ -1834,8 +1832,6 @@ class AsyncVellum:
1834
1832
  """
1835
1833
  Used to submit feedback regarding the quality of previously generated completions.
1836
1834
 
1837
- **Note:** Uses a base url of `https://predict.vellum.ai`.
1838
-
1839
1835
  Parameters:
1840
1836
  - deployment_id: typing.Optional[str]. The ID of the deployment. Must provide either this or deployment_name.
1841
1837
 
@@ -18,7 +18,7 @@ class BaseClientWrapper:
18
18
  headers: typing.Dict[str, str] = {
19
19
  "X-Fern-Language": "Python",
20
20
  "X-Fern-SDK-Name": "vellum-ai",
21
- "X-Fern-SDK-Version": "0.6.3",
21
+ "X-Fern-SDK-Version": "0.6.5",
22
22
  }
23
23
  headers["X_API_KEY"] = self.api_key
24
24
  return headers
@@ -1,5 +1,6 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ import json
3
4
  import typing
4
5
  import urllib.parse
5
6
  from json.decoder import JSONDecodeError
@@ -13,6 +14,8 @@ from ...core.request_options import RequestOptions
13
14
  from ...types.named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
14
15
  from ...types.paginated_test_suite_test_case_list import PaginatedTestSuiteTestCaseList
15
16
  from ...types.test_suite_test_case import TestSuiteTestCase
17
+ from ...types.test_suite_test_case_bulk_operation_request import TestSuiteTestCaseBulkOperationRequest
18
+ from ...types.test_suite_test_case_bulk_result import TestSuiteTestCaseBulkResult
16
19
 
17
20
  # this is used as the default value for optional parameters
18
21
  OMIT = typing.cast(typing.Any, ...)
@@ -114,13 +117,13 @@ class TestSuitesClient:
114
117
  Parameters:
115
118
  - id: str. A UUID string identifying this test suite.
116
119
 
117
- - upsert_test_suite_test_case_request_id: typing.Optional[str].
120
+ - upsert_test_suite_test_case_request_id: typing.Optional[str]. The ID of the Test Case to upsert. If specified and a match is found, the existing Test Case will be updated. If specified and no match is found, a Test Case will be created with the provided ID. If not provided, a new Test Case will be created with an auto-generated ID.
118
121
 
119
122
  - label: typing.Optional[str].
120
123
 
121
- - input_values: typing.Sequence[NamedTestCaseVariableValueRequest].
124
+ - input_values: typing.Sequence[NamedTestCaseVariableValueRequest]. Values for each of the Test Case's input variables
122
125
 
123
- - evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest].
126
+ - evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest]. Values for each of the Test Case's evaluation variables
124
127
 
125
128
  - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
126
129
  ---
@@ -177,6 +180,89 @@ class TestSuitesClient:
177
180
  raise ApiError(status_code=_response.status_code, body=_response.text)
178
181
  raise ApiError(status_code=_response.status_code, body=_response_json)
179
182
 
183
+ def test_suite_test_cases_bulk(
184
+ self,
185
+ id: str,
186
+ *,
187
+ request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest],
188
+ request_options: typing.Optional[RequestOptions] = None,
189
+ ) -> typing.Iterator[typing.List[TestSuiteTestCaseBulkResult]]:
190
+ """
191
+ Created, replace, and delete Test Cases within the specified Test Suite in bulk
192
+
193
+ Parameters:
194
+ - id: str. A UUID string identifying this test suite.
195
+
196
+ - request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest].
197
+
198
+ - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
199
+ ---
200
+ from vellum import (
201
+ BulkCreateTestSuiteTestCaseDataRequest,
202
+ NamedTestCaseVariableValueRequest_String,
203
+ TestSuiteTestCaseBulkOperationRequest_Create,
204
+ )
205
+ from vellum.client import Vellum
206
+
207
+ client = Vellum(
208
+ api_key="YOUR_API_KEY",
209
+ )
210
+ client.test_suites.test_suite_test_cases_bulk(
211
+ id="string",
212
+ request=[
213
+ TestSuiteTestCaseBulkOperationRequest_Create(
214
+ id="string",
215
+ data=BulkCreateTestSuiteTestCaseDataRequest(
216
+ label="string",
217
+ input_values=[NamedTestCaseVariableValueRequest_String()],
218
+ evaluation_values=[NamedTestCaseVariableValueRequest_String()],
219
+ ),
220
+ )
221
+ ],
222
+ )
223
+ """
224
+ with self._client_wrapper.httpx_client.stream(
225
+ method="POST",
226
+ url=urllib.parse.urljoin(
227
+ f"{self._client_wrapper.get_environment().default}/",
228
+ f"v1/test-suites/{jsonable_encoder(id)}/test-cases-bulk",
229
+ ),
230
+ params=jsonable_encoder(
231
+ request_options.get("additional_query_parameters") if request_options is not None else None
232
+ ),
233
+ json=jsonable_encoder(request)
234
+ if request_options is None or request_options.get("additional_body_parameters") is None
235
+ else {
236
+ **jsonable_encoder(request),
237
+ **(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
238
+ },
239
+ headers=jsonable_encoder(
240
+ remove_none_from_dict(
241
+ {
242
+ **self._client_wrapper.get_headers(),
243
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
244
+ }
245
+ )
246
+ ),
247
+ timeout=request_options.get("timeout_in_seconds")
248
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
249
+ else self._client_wrapper.get_timeout(),
250
+ retries=0,
251
+ max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
252
+ ) as _response:
253
+ if 200 <= _response.status_code < 300:
254
+ for _text in _response.iter_lines():
255
+ if len(_text) == 0:
256
+ continue
257
+ yield pydantic_v1.parse_obj_as(typing.List[TestSuiteTestCaseBulkResult], json.loads(_text)) # type: ignore
258
+ return
259
+ _response.read()
260
+ try:
261
+ _response_json = _response.json()
262
+ except JSONDecodeError:
263
+ raise ApiError(status_code=_response.status_code, body=_response.text)
264
+ raise ApiError(status_code=_response.status_code, body=_response_json)
265
+
180
266
  def delete_test_suite_test_case(
181
267
  self, id: str, test_case_id: str, *, request_options: typing.Optional[RequestOptions] = None
182
268
  ) -> None:
@@ -328,13 +414,13 @@ class AsyncTestSuitesClient:
328
414
  Parameters:
329
415
  - id: str. A UUID string identifying this test suite.
330
416
 
331
- - upsert_test_suite_test_case_request_id: typing.Optional[str].
417
+ - upsert_test_suite_test_case_request_id: typing.Optional[str]. The ID of the Test Case to upsert. If specified and a match is found, the existing Test Case will be updated. If specified and no match is found, a Test Case will be created with the provided ID. If not provided, a new Test Case will be created with an auto-generated ID.
332
418
 
333
419
  - label: typing.Optional[str].
334
420
 
335
- - input_values: typing.Sequence[NamedTestCaseVariableValueRequest].
421
+ - input_values: typing.Sequence[NamedTestCaseVariableValueRequest]. Values for each of the Test Case's input variables
336
422
 
337
- - evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest].
423
+ - evaluation_values: typing.Sequence[NamedTestCaseVariableValueRequest]. Values for each of the Test Case's evaluation variables
338
424
 
339
425
  - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
340
426
  ---
@@ -391,6 +477,89 @@ class AsyncTestSuitesClient:
391
477
  raise ApiError(status_code=_response.status_code, body=_response.text)
392
478
  raise ApiError(status_code=_response.status_code, body=_response_json)
393
479
 
480
+ async def test_suite_test_cases_bulk(
481
+ self,
482
+ id: str,
483
+ *,
484
+ request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest],
485
+ request_options: typing.Optional[RequestOptions] = None,
486
+ ) -> typing.AsyncIterator[typing.List[TestSuiteTestCaseBulkResult]]:
487
+ """
488
+ Created, replace, and delete Test Cases within the specified Test Suite in bulk
489
+
490
+ Parameters:
491
+ - id: str. A UUID string identifying this test suite.
492
+
493
+ - request: typing.Sequence[TestSuiteTestCaseBulkOperationRequest].
494
+
495
+ - request_options: typing.Optional[RequestOptions]. Request-specific configuration.
496
+ ---
497
+ from vellum import (
498
+ BulkCreateTestSuiteTestCaseDataRequest,
499
+ NamedTestCaseVariableValueRequest_String,
500
+ TestSuiteTestCaseBulkOperationRequest_Create,
501
+ )
502
+ from vellum.client import AsyncVellum
503
+
504
+ client = AsyncVellum(
505
+ api_key="YOUR_API_KEY",
506
+ )
507
+ await client.test_suites.test_suite_test_cases_bulk(
508
+ id="string",
509
+ request=[
510
+ TestSuiteTestCaseBulkOperationRequest_Create(
511
+ id="string",
512
+ data=BulkCreateTestSuiteTestCaseDataRequest(
513
+ label="string",
514
+ input_values=[NamedTestCaseVariableValueRequest_String()],
515
+ evaluation_values=[NamedTestCaseVariableValueRequest_String()],
516
+ ),
517
+ )
518
+ ],
519
+ )
520
+ """
521
+ async with self._client_wrapper.httpx_client.stream(
522
+ method="POST",
523
+ url=urllib.parse.urljoin(
524
+ f"{self._client_wrapper.get_environment().default}/",
525
+ f"v1/test-suites/{jsonable_encoder(id)}/test-cases-bulk",
526
+ ),
527
+ params=jsonable_encoder(
528
+ request_options.get("additional_query_parameters") if request_options is not None else None
529
+ ),
530
+ json=jsonable_encoder(request)
531
+ if request_options is None or request_options.get("additional_body_parameters") is None
532
+ else {
533
+ **jsonable_encoder(request),
534
+ **(jsonable_encoder(remove_none_from_dict(request_options.get("additional_body_parameters", {})))),
535
+ },
536
+ headers=jsonable_encoder(
537
+ remove_none_from_dict(
538
+ {
539
+ **self._client_wrapper.get_headers(),
540
+ **(request_options.get("additional_headers", {}) if request_options is not None else {}),
541
+ }
542
+ )
543
+ ),
544
+ timeout=request_options.get("timeout_in_seconds")
545
+ if request_options is not None and request_options.get("timeout_in_seconds") is not None
546
+ else self._client_wrapper.get_timeout(),
547
+ retries=0,
548
+ max_retries=request_options.get("max_retries") if request_options is not None else 0, # type: ignore
549
+ ) as _response:
550
+ if 200 <= _response.status_code < 300:
551
+ async for _text in _response.aiter_lines():
552
+ if len(_text) == 0:
553
+ continue
554
+ yield pydantic_v1.parse_obj_as(typing.List[TestSuiteTestCaseBulkResult], json.loads(_text)) # type: ignore
555
+ return
556
+ await _response.aread()
557
+ try:
558
+ _response_json = _response.json()
559
+ except JSONDecodeError:
560
+ raise ApiError(status_code=_response.status_code, body=_response.text)
561
+ raise ApiError(status_code=_response.status_code, body=_response_json)
562
+
394
563
  async def delete_test_suite_test_case(
395
564
  self, id: str, test_case_id: str, *, request_options: typing.Optional[RequestOptions] = None
396
565
  ) -> None:
vellum/types/__init__.py CHANGED
@@ -50,6 +50,8 @@ from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1 import
50
50
  from .basic_vectorizer_sentence_transformers_multi_qa_mpnet_base_dot_v_1_request import (
51
51
  BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request,
52
52
  )
53
+ from .bulk_create_test_suite_test_case_data_request import BulkCreateTestSuiteTestCaseDataRequest
54
+ from .bulk_replace_test_suite_test_case_data_request import BulkReplaceTestSuiteTestCaseDataRequest
53
55
  from .chat_history_enum import ChatHistoryEnum
54
56
  from .chat_history_input_request import ChatHistoryInputRequest
55
57
  from .chat_message import ChatMessage
@@ -92,6 +94,10 @@ from .code_execution_node_search_results_result import CodeExecutionNodeSearchRe
92
94
  from .code_execution_node_string_result import CodeExecutionNodeStringResult
93
95
  from .conditional_node_result import ConditionalNodeResult
94
96
  from .conditional_node_result_data import ConditionalNodeResultData
97
+ from .create_enum import CreateEnum
98
+ from .created_enum import CreatedEnum
99
+ from .delete_enum import DeleteEnum
100
+ from .deleted_enum import DeletedEnum
95
101
  from .deployment_provider_payload_response import DeploymentProviderPayloadResponse
96
102
  from .deployment_read import DeploymentRead
97
103
  from .deployment_release_tag_deployment_history_item import DeploymentReleaseTagDeploymentHistoryItem
@@ -368,6 +374,8 @@ from .rejected_execute_workflow_workflow_result_event import RejectedExecuteWork
368
374
  from .rejected_prompt_execution_meta import RejectedPromptExecutionMeta
369
375
  from .rejected_workflow_node_result_event import RejectedWorkflowNodeResultEvent
370
376
  from .release_tag_source import ReleaseTagSource
377
+ from .replace_enum import ReplaceEnum
378
+ from .replaced_enum import ReplacedEnum
371
379
  from .sandbox_scenario import SandboxScenario
372
380
  from .scenario_input import ScenarioInput, ScenarioInput_ChatHistory, ScenarioInput_String
373
381
  from .scenario_input_chat_history_variable_value import ScenarioInputChatHistoryVariableValue
@@ -544,6 +552,30 @@ from .test_suite_run_workflow_release_tag_exec_config_data_request import (
544
552
  from .test_suite_run_workflow_release_tag_exec_config_request import TestSuiteRunWorkflowReleaseTagExecConfigRequest
545
553
  from .test_suite_run_workflow_release_tag_exec_config_type_enum import TestSuiteRunWorkflowReleaseTagExecConfigTypeEnum
546
554
  from .test_suite_test_case import TestSuiteTestCase
555
+ from .test_suite_test_case_bulk_operation_request import (
556
+ TestSuiteTestCaseBulkOperationRequest,
557
+ TestSuiteTestCaseBulkOperationRequest_Create,
558
+ TestSuiteTestCaseBulkOperationRequest_Delete,
559
+ TestSuiteTestCaseBulkOperationRequest_Replace,
560
+ )
561
+ from .test_suite_test_case_bulk_result import (
562
+ TestSuiteTestCaseBulkResult,
563
+ TestSuiteTestCaseBulkResult_Created,
564
+ TestSuiteTestCaseBulkResult_Deleted,
565
+ TestSuiteTestCaseBulkResult_Rejected,
566
+ TestSuiteTestCaseBulkResult_Replaced,
567
+ )
568
+ from .test_suite_test_case_create_bulk_operation_request import TestSuiteTestCaseCreateBulkOperationRequest
569
+ from .test_suite_test_case_created_bulk_result import TestSuiteTestCaseCreatedBulkResult
570
+ from .test_suite_test_case_created_bulk_result_data import TestSuiteTestCaseCreatedBulkResultData
571
+ from .test_suite_test_case_delete_bulk_operation_data_request import TestSuiteTestCaseDeleteBulkOperationDataRequest
572
+ from .test_suite_test_case_delete_bulk_operation_request import TestSuiteTestCaseDeleteBulkOperationRequest
573
+ from .test_suite_test_case_deleted_bulk_result import TestSuiteTestCaseDeletedBulkResult
574
+ from .test_suite_test_case_deleted_bulk_result_data import TestSuiteTestCaseDeletedBulkResultData
575
+ from .test_suite_test_case_rejected_bulk_result import TestSuiteTestCaseRejectedBulkResult
576
+ from .test_suite_test_case_replace_bulk_operation_request import TestSuiteTestCaseReplaceBulkOperationRequest
577
+ from .test_suite_test_case_replaced_bulk_result import TestSuiteTestCaseReplacedBulkResult
578
+ from .test_suite_test_case_replaced_bulk_result_data import TestSuiteTestCaseReplacedBulkResultData
547
579
  from .text_embedding_3_large_enum import TextEmbedding3LargeEnum
548
580
  from .text_embedding_3_small_enum import TextEmbedding3SmallEnum
549
581
  from .text_embedding_ada_002_enum import TextEmbeddingAda002Enum
@@ -682,6 +714,8 @@ __all__ = [
682
714
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseCosV1Request",
683
715
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1",
684
716
  "BasicVectorizerSentenceTransformersMultiQaMpnetBaseDotV1Request",
717
+ "BulkCreateTestSuiteTestCaseDataRequest",
718
+ "BulkReplaceTestSuiteTestCaseDataRequest",
685
719
  "ChatHistoryEnum",
686
720
  "ChatHistoryInputRequest",
687
721
  "ChatMessage",
@@ -718,6 +752,10 @@ __all__ = [
718
752
  "CodeExecutionNodeStringResult",
719
753
  "ConditionalNodeResult",
720
754
  "ConditionalNodeResultData",
755
+ "CreateEnum",
756
+ "CreatedEnum",
757
+ "DeleteEnum",
758
+ "DeletedEnum",
721
759
  "DeploymentProviderPayloadResponse",
722
760
  "DeploymentRead",
723
761
  "DeploymentReleaseTagDeploymentHistoryItem",
@@ -964,6 +1002,8 @@ __all__ = [
964
1002
  "RejectedPromptExecutionMeta",
965
1003
  "RejectedWorkflowNodeResultEvent",
966
1004
  "ReleaseTagSource",
1005
+ "ReplaceEnum",
1006
+ "ReplacedEnum",
967
1007
  "SandboxScenario",
968
1008
  "ScenarioInput",
969
1009
  "ScenarioInputChatHistoryVariableValue",
@@ -1120,6 +1160,26 @@ __all__ = [
1120
1160
  "TestSuiteRunWorkflowReleaseTagExecConfigRequest",
1121
1161
  "TestSuiteRunWorkflowReleaseTagExecConfigTypeEnum",
1122
1162
  "TestSuiteTestCase",
1163
+ "TestSuiteTestCaseBulkOperationRequest",
1164
+ "TestSuiteTestCaseBulkOperationRequest_Create",
1165
+ "TestSuiteTestCaseBulkOperationRequest_Delete",
1166
+ "TestSuiteTestCaseBulkOperationRequest_Replace",
1167
+ "TestSuiteTestCaseBulkResult",
1168
+ "TestSuiteTestCaseBulkResult_Created",
1169
+ "TestSuiteTestCaseBulkResult_Deleted",
1170
+ "TestSuiteTestCaseBulkResult_Rejected",
1171
+ "TestSuiteTestCaseBulkResult_Replaced",
1172
+ "TestSuiteTestCaseCreateBulkOperationRequest",
1173
+ "TestSuiteTestCaseCreatedBulkResult",
1174
+ "TestSuiteTestCaseCreatedBulkResultData",
1175
+ "TestSuiteTestCaseDeleteBulkOperationDataRequest",
1176
+ "TestSuiteTestCaseDeleteBulkOperationRequest",
1177
+ "TestSuiteTestCaseDeletedBulkResult",
1178
+ "TestSuiteTestCaseDeletedBulkResultData",
1179
+ "TestSuiteTestCaseRejectedBulkResult",
1180
+ "TestSuiteTestCaseReplaceBulkOperationRequest",
1181
+ "TestSuiteTestCaseReplacedBulkResult",
1182
+ "TestSuiteTestCaseReplacedBulkResultData",
1123
1183
  "TextEmbedding3LargeEnum",
1124
1184
  "TextEmbedding3SmallEnum",
1125
1185
  "TextEmbeddingAda002Enum",
@@ -0,0 +1,39 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import pydantic_v1
8
+ from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
9
+
10
+
11
+ class BulkCreateTestSuiteTestCaseDataRequest(pydantic_v1.BaseModel):
12
+ """
13
+ Information about the Test Case to create
14
+ """
15
+
16
+ label: typing.Optional[str] = None
17
+ input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic_v1.Field()
18
+ """
19
+ Values for each of the Test Case's input variables
20
+ """
21
+
22
+ evaluation_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic_v1.Field()
23
+ """
24
+ Values for each of the Test Case's evaluation variables
25
+ """
26
+
27
+ def json(self, **kwargs: typing.Any) -> str:
28
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
29
+ return super().json(**kwargs_with_defaults)
30
+
31
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
32
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
33
+ return super().dict(**kwargs_with_defaults)
34
+
35
+ class Config:
36
+ frozen = True
37
+ smart_union = True
38
+ extra = pydantic_v1.Extra.allow
39
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,44 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ from ..core.datetime_utils import serialize_datetime
7
+ from ..core.pydantic_utilities import pydantic_v1
8
+ from .named_test_case_variable_value_request import NamedTestCaseVariableValueRequest
9
+
10
+
11
+ class BulkReplaceTestSuiteTestCaseDataRequest(pydantic_v1.BaseModel):
12
+ """
13
+ Information about the Test Case to replace
14
+ """
15
+
16
+ id: str = pydantic_v1.Field()
17
+ """
18
+ The ID of the Test Case to replace.
19
+ """
20
+
21
+ label: typing.Optional[str] = None
22
+ input_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic_v1.Field()
23
+ """
24
+ Values for each of the Test Case's input variables
25
+ """
26
+
27
+ evaluation_values: typing.List[NamedTestCaseVariableValueRequest] = pydantic_v1.Field()
28
+ """
29
+ Values for each of the Test Case's evaluation variables
30
+ """
31
+
32
+ def json(self, **kwargs: typing.Any) -> str:
33
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
34
+ return super().json(**kwargs_with_defaults)
35
+
36
+ def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
37
+ kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
38
+ return super().dict(**kwargs_with_defaults)
39
+
40
+ class Config:
41
+ frozen = True
42
+ smart_union = True
43
+ extra = pydantic_v1.Extra.allow
44
+ json_encoders = {dt.datetime: serialize_datetime}
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ CreateEnum = typing.Literal["CREATE"]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ CreatedEnum = typing.Literal["CREATED"]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ DeleteEnum = typing.Literal["DELETE"]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ DeletedEnum = typing.Literal["DELETED"]
@@ -47,6 +47,11 @@ class DeploymentRead(pydantic_v1.BaseModel):
47
47
  Deprecated. The Prompt execution endpoints return a `prompt_version_id` that could be used instead.
48
48
  """
49
49
 
50
+ last_deployed_history_item_id: str = pydantic_v1.Field()
51
+ """
52
+ The ID of the history item associated with this Deployment's LATEST Release Tag
53
+ """
54
+
50
55
  def json(self, **kwargs: typing.Any) -> str:
51
56
  kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs}
52
57
  return super().json(**kwargs_with_defaults)
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ ReplaceEnum = typing.Literal["REPLACE"]