vellum-ai 1.1.2__py3-none-any.whl → 1.1.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. vellum/__init__.py +16 -0
  2. vellum/client/README.md +55 -0
  3. vellum/client/__init__.py +66 -507
  4. vellum/client/core/client_wrapper.py +2 -2
  5. vellum/client/raw_client.py +844 -0
  6. vellum/client/reference.md +692 -19
  7. vellum/client/resources/ad_hoc/client.py +23 -180
  8. vellum/client/resources/ad_hoc/raw_client.py +276 -0
  9. vellum/client/resources/container_images/client.py +10 -36
  10. vellum/client/resources/deployments/client.py +16 -62
  11. vellum/client/resources/document_indexes/client.py +16 -72
  12. vellum/client/resources/documents/client.py +8 -30
  13. vellum/client/resources/folder_entities/client.py +4 -8
  14. vellum/client/resources/metric_definitions/client.py +4 -14
  15. vellum/client/resources/ml_models/client.py +2 -8
  16. vellum/client/resources/organizations/client.py +2 -6
  17. vellum/client/resources/prompts/client.py +2 -10
  18. vellum/client/resources/sandboxes/client.py +4 -20
  19. vellum/client/resources/test_suite_runs/client.py +4 -18
  20. vellum/client/resources/test_suites/client.py +11 -86
  21. vellum/client/resources/test_suites/raw_client.py +136 -0
  22. vellum/client/resources/workflow_deployments/client.py +20 -78
  23. vellum/client/resources/workflow_executions/client.py +2 -6
  24. vellum/client/resources/workflow_sandboxes/client.py +2 -10
  25. vellum/client/resources/workflows/client.py +7 -6
  26. vellum/client/resources/workflows/raw_client.py +58 -47
  27. vellum/client/resources/workspace_secrets/client.py +4 -20
  28. vellum/client/resources/workspaces/client.py +2 -6
  29. vellum/client/types/__init__.py +16 -0
  30. vellum/client/types/array_chat_message_content_item.py +4 -2
  31. vellum/client/types/array_chat_message_content_item_request.py +4 -2
  32. vellum/client/types/chat_message_content.py +4 -2
  33. vellum/client/types/chat_message_content_request.py +4 -2
  34. vellum/client/types/node_execution_span.py +2 -0
  35. vellum/client/types/prompt_block.py +4 -2
  36. vellum/client/types/vellum_value.py +4 -2
  37. vellum/client/types/vellum_value_request.py +4 -2
  38. vellum/client/types/vellum_variable_type.py +2 -1
  39. vellum/client/types/vellum_video.py +24 -0
  40. vellum/client/types/vellum_video_request.py +24 -0
  41. vellum/client/types/video_chat_message_content.py +25 -0
  42. vellum/client/types/video_chat_message_content_request.py +25 -0
  43. vellum/client/types/video_prompt_block.py +29 -0
  44. vellum/client/types/video_vellum_value.py +25 -0
  45. vellum/client/types/video_vellum_value_request.py +25 -0
  46. vellum/client/types/workflow_execution_span.py +2 -0
  47. vellum/client/types/workflow_execution_usage_calculation_fulfilled_body.py +22 -0
  48. vellum/prompts/blocks/compilation.py +22 -10
  49. vellum/types/vellum_video.py +3 -0
  50. vellum/types/vellum_video_request.py +3 -0
  51. vellum/types/video_chat_message_content.py +3 -0
  52. vellum/types/video_chat_message_content_request.py +3 -0
  53. vellum/types/video_prompt_block.py +3 -0
  54. vellum/types/video_vellum_value.py +3 -0
  55. vellum/types/video_vellum_value_request.py +3 -0
  56. vellum/types/workflow_execution_usage_calculation_fulfilled_body.py +3 -0
  57. vellum/workflows/events/workflow.py +11 -0
  58. vellum/workflows/graph/graph.py +103 -1
  59. vellum/workflows/graph/tests/test_graph.py +99 -0
  60. vellum/workflows/nodes/bases/base.py +9 -1
  61. vellum/workflows/nodes/displayable/bases/utils.py +4 -2
  62. vellum/workflows/nodes/displayable/tool_calling_node/node.py +19 -18
  63. vellum/workflows/nodes/displayable/tool_calling_node/tests/test_node.py +17 -7
  64. vellum/workflows/nodes/displayable/tool_calling_node/tests/test_utils.py +7 -7
  65. vellum/workflows/nodes/displayable/tool_calling_node/utils.py +47 -80
  66. vellum/workflows/references/environment_variable.py +10 -0
  67. vellum/workflows/runner/runner.py +18 -2
  68. vellum/workflows/state/context.py +101 -12
  69. vellum/workflows/types/definition.py +11 -1
  70. vellum/workflows/types/tests/test_definition.py +19 -0
  71. vellum/workflows/utils/vellum_variables.py +9 -5
  72. vellum/workflows/workflows/base.py +12 -5
  73. {vellum_ai-1.1.2.dist-info → vellum_ai-1.1.3.dist-info}/METADATA +1 -1
  74. {vellum_ai-1.1.2.dist-info → vellum_ai-1.1.3.dist-info}/RECORD +84 -68
  75. vellum_ee/workflows/display/nodes/vellum/code_execution_node.py +1 -1
  76. vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py +55 -1
  77. vellum_ee/workflows/display/nodes/vellum/tests/test_tool_calling_node.py +15 -52
  78. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_mcp_serialization.py +15 -49
  79. vellum_ee/workflows/display/types.py +14 -1
  80. vellum_ee/workflows/display/utils/expressions.py +13 -4
  81. vellum_ee/workflows/display/workflows/base_workflow_display.py +6 -19
  82. {vellum_ai-1.1.2.dist-info → vellum_ai-1.1.3.dist-info}/LICENSE +0 -0
  83. {vellum_ai-1.1.2.dist-info → vellum_ai-1.1.3.dist-info}/WHEEL +0 -0
  84. {vellum_ai-1.1.2.dist-info → vellum_ai-1.1.3.dist-info}/entry_points.txt +0 -0
@@ -339,6 +339,152 @@ client.execute_prompt(
339
339
  </dl>
340
340
 
341
341
 
342
+ </dd>
343
+ </dl>
344
+ </details>
345
+
346
+ <details><summary><code>client.<a href="src/vellum/client.py">execute_prompt_stream</a>(...)</code></summary>
347
+ <dl>
348
+ <dd>
349
+
350
+ #### 📝 Description
351
+
352
+ <dl>
353
+ <dd>
354
+
355
+ <dl>
356
+ <dd>
357
+
358
+ Executes a deployed Prompt and streams back the results.
359
+ </dd>
360
+ </dl>
361
+ </dd>
362
+ </dl>
363
+
364
+ #### 🔌 Usage
365
+
366
+ <dl>
367
+ <dd>
368
+
369
+ <dl>
370
+ <dd>
371
+
372
+ ```python
373
+ from vellum import StringInputRequest, Vellum
374
+
375
+ client = Vellum(
376
+ api_version="YOUR_API_VERSION",
377
+ api_key="YOUR_API_KEY",
378
+ )
379
+ response = client.execute_prompt_stream(
380
+ inputs=[
381
+ StringInputRequest(
382
+ name="x",
383
+ value="value",
384
+ ),
385
+ StringInputRequest(
386
+ name="x",
387
+ value="value",
388
+ ),
389
+ ],
390
+ )
391
+ for chunk in response.data:
392
+ yield chunk
393
+
394
+ ```
395
+ </dd>
396
+ </dl>
397
+ </dd>
398
+ </dl>
399
+
400
+ #### ⚙️ Parameters
401
+
402
+ <dl>
403
+ <dd>
404
+
405
+ <dl>
406
+ <dd>
407
+
408
+ **inputs:** `typing.Sequence[PromptDeploymentInputRequest]` — A list consisting of the Prompt Deployment's input variables and their values.
409
+
410
+ </dd>
411
+ </dl>
412
+
413
+ <dl>
414
+ <dd>
415
+
416
+ **prompt_deployment_id:** `typing.Optional[str]` — The ID of the Prompt Deployment. Must provide either this or prompt_deployment_name.
417
+
418
+ </dd>
419
+ </dl>
420
+
421
+ <dl>
422
+ <dd>
423
+
424
+ **prompt_deployment_name:** `typing.Optional[str]` — The unique name of the Prompt Deployment. Must provide either this or prompt_deployment_id.
425
+
426
+ </dd>
427
+ </dl>
428
+
429
+ <dl>
430
+ <dd>
431
+
432
+ **release_tag:** `typing.Optional[str]` — Optionally specify a release tag if you want to pin to a specific release of the Prompt Deployment
433
+
434
+ </dd>
435
+ </dl>
436
+
437
+ <dl>
438
+ <dd>
439
+
440
+ **external_id:** `typing.Optional[str]` — Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
441
+
442
+ </dd>
443
+ </dl>
444
+
445
+ <dl>
446
+ <dd>
447
+
448
+ **expand_meta:** `typing.Optional[PromptDeploymentExpandMetaRequest]` — An optionally specified configuration used to opt in to including additional metadata about this prompt execution in the API response. Corresponding values will be returned under the `meta` key of the API response.
449
+
450
+ </dd>
451
+ </dl>
452
+
453
+ <dl>
454
+ <dd>
455
+
456
+ **raw_overrides:** `typing.Optional[RawPromptExecutionOverridesRequest]` — Overrides for the raw API request sent to the model host. Combined with `expand_raw`, it can be used to access new features from models.
457
+
458
+ </dd>
459
+ </dl>
460
+
461
+ <dl>
462
+ <dd>
463
+
464
+ **expand_raw:** `typing.Optional[typing.Sequence[str]]` — A list of keys whose values you'd like to directly return from the JSON response of the model provider. Useful if you need lower-level info returned by model providers that Vellum would otherwise omit. Corresponding key/value pairs will be returned under the `raw` key of the API response.
465
+
466
+ </dd>
467
+ </dl>
468
+
469
+ <dl>
470
+ <dd>
471
+
472
+ **metadata:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
473
+
474
+ </dd>
475
+ </dl>
476
+
477
+ <dl>
478
+ <dd>
479
+
480
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
481
+
482
+ </dd>
483
+ </dl>
484
+ </dd>
485
+ </dl>
486
+
487
+
342
488
  </dd>
343
489
  </dl>
344
490
  </details>
@@ -407,27 +553,270 @@ client.execute_workflow(
407
553
 
408
554
  </dd>
409
555
  </dl>
410
-
411
- <dl>
412
- <dd>
413
-
414
- **expand_meta:** `typing.Optional[WorkflowExpandMetaRequest]` — An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
415
-
556
+
557
+ <dl>
558
+ <dd>
559
+
560
+ **expand_meta:** `typing.Optional[WorkflowExpandMetaRequest]` — An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
561
+
562
+ </dd>
563
+ </dl>
564
+
565
+ <dl>
566
+ <dd>
567
+
568
+ **workflow_deployment_id:** `typing.Optional[str]` — The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
569
+
570
+ </dd>
571
+ </dl>
572
+
573
+ <dl>
574
+ <dd>
575
+
576
+ **workflow_deployment_name:** `typing.Optional[str]` — The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
577
+
578
+ </dd>
579
+ </dl>
580
+
581
+ <dl>
582
+ <dd>
583
+
584
+ **release_tag:** `typing.Optional[str]` — Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
585
+
586
+ </dd>
587
+ </dl>
588
+
589
+ <dl>
590
+ <dd>
591
+
592
+ **external_id:** `typing.Optional[str]` — Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
593
+
594
+ </dd>
595
+ </dl>
596
+
597
+ <dl>
598
+ <dd>
599
+
600
+ **metadata:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
601
+
602
+ </dd>
603
+ </dl>
604
+
605
+ <dl>
606
+ <dd>
607
+
608
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
609
+
610
+ </dd>
611
+ </dl>
612
+ </dd>
613
+ </dl>
614
+
615
+
616
+ </dd>
617
+ </dl>
618
+ </details>
619
+
620
+ <details><summary><code>client.<a href="src/vellum/client.py">execute_workflow_stream</a>(...)</code></summary>
621
+ <dl>
622
+ <dd>
623
+
624
+ #### 📝 Description
625
+
626
+ <dl>
627
+ <dd>
628
+
629
+ <dl>
630
+ <dd>
631
+
632
+ Executes a deployed Workflow and streams back its results.
633
+ </dd>
634
+ </dl>
635
+ </dd>
636
+ </dl>
637
+
638
+ #### 🔌 Usage
639
+
640
+ <dl>
641
+ <dd>
642
+
643
+ <dl>
644
+ <dd>
645
+
646
+ ```python
647
+ from vellum import Vellum, WorkflowRequestStringInputRequest
648
+
649
+ client = Vellum(
650
+ api_version="YOUR_API_VERSION",
651
+ api_key="YOUR_API_KEY",
652
+ )
653
+ response = client.execute_workflow_stream(
654
+ inputs=[
655
+ WorkflowRequestStringInputRequest(
656
+ name="x",
657
+ value="value",
658
+ ),
659
+ WorkflowRequestStringInputRequest(
660
+ name="x",
661
+ value="value",
662
+ ),
663
+ ],
664
+ )
665
+ for chunk in response.data:
666
+ yield chunk
667
+
668
+ ```
669
+ </dd>
670
+ </dl>
671
+ </dd>
672
+ </dl>
673
+
674
+ #### ⚙️ Parameters
675
+
676
+ <dl>
677
+ <dd>
678
+
679
+ <dl>
680
+ <dd>
681
+
682
+ **inputs:** `typing.Sequence[WorkflowRequestInputRequest]` — The list of inputs defined in the Workflow's Deployment with their corresponding values.
683
+
684
+ </dd>
685
+ </dl>
686
+
687
+ <dl>
688
+ <dd>
689
+
690
+ **expand_meta:** `typing.Optional[WorkflowExpandMetaRequest]` — An optionally specified configuration used to opt in to including additional metadata about this workflow execution in the API response. Corresponding values will be returned under the `execution_meta` key within NODE events in the response stream.
691
+
692
+ </dd>
693
+ </dl>
694
+
695
+ <dl>
696
+ <dd>
697
+
698
+ **workflow_deployment_id:** `typing.Optional[str]` — The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
699
+
700
+ </dd>
701
+ </dl>
702
+
703
+ <dl>
704
+ <dd>
705
+
706
+ **workflow_deployment_name:** `typing.Optional[str]` — The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
707
+
708
+ </dd>
709
+ </dl>
710
+
711
+ <dl>
712
+ <dd>
713
+
714
+ **release_tag:** `typing.Optional[str]` — Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
715
+
716
+ </dd>
717
+ </dl>
718
+
719
+ <dl>
720
+ <dd>
721
+
722
+ **external_id:** `typing.Optional[str]` — Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
723
+
724
+ </dd>
725
+ </dl>
726
+
727
+ <dl>
728
+ <dd>
729
+
730
+ **event_types:** `typing.Optional[typing.Sequence[WorkflowExecutionEventType]]` — Optionally specify which events you want to receive. Defaults to only WORKFLOW events. Note that the schema of non-WORKFLOW events is unstable and should be used with caution.
731
+
732
+ </dd>
733
+ </dl>
734
+
735
+ <dl>
736
+ <dd>
737
+
738
+ **metadata:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
739
+
740
+ </dd>
741
+ </dl>
742
+
743
+ <dl>
744
+ <dd>
745
+
746
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
747
+
748
+ </dd>
749
+ </dl>
750
+ </dd>
751
+ </dl>
752
+
753
+
754
+ </dd>
755
+ </dl>
756
+ </details>
757
+
758
+ <details><summary><code>client.<a href="src/vellum/client.py">generate</a>(...)</code></summary>
759
+ <dl>
760
+ <dd>
761
+
762
+ #### 📝 Description
763
+
764
+ <dl>
765
+ <dd>
766
+
767
+ <dl>
768
+ <dd>
769
+
770
+ Generate a completion using a previously defined deployment.
771
+
772
+ Important: This endpoint is DEPRECATED and has been superseded by
773
+ [execute-prompt](/api-reference/api-reference/execute-prompt).
774
+ </dd>
775
+ </dl>
776
+ </dd>
777
+ </dl>
778
+
779
+ #### 🔌 Usage
780
+
781
+ <dl>
782
+ <dd>
783
+
784
+ <dl>
785
+ <dd>
786
+
787
+ ```python
788
+ from vellum import GenerateRequest, Vellum
789
+
790
+ client = Vellum(
791
+ api_version="YOUR_API_VERSION",
792
+ api_key="YOUR_API_KEY",
793
+ )
794
+ client.generate(
795
+ requests=[
796
+ GenerateRequest(
797
+ input_values={"input_values": {"key": "value"}},
798
+ ),
799
+ GenerateRequest(
800
+ input_values={"input_values": {"key": "value"}},
801
+ ),
802
+ ],
803
+ )
804
+
805
+ ```
806
+ </dd>
807
+ </dl>
416
808
  </dd>
417
809
  </dl>
418
810
 
811
+ #### ⚙️ Parameters
812
+
419
813
  <dl>
420
814
  <dd>
421
815
 
422
- **workflow_deployment_id:** `typing.Optional[str]` — The ID of the Workflow Deployment. Must provide either this or workflow_deployment_name.
423
-
424
- </dd>
425
- </dl>
426
-
427
816
  <dl>
428
817
  <dd>
429
818
 
430
- **workflow_deployment_name:** `typing.Optional[str]` — The name of the Workflow Deployment. Must provide either this or workflow_deployment_id.
819
+ **requests:** `typing.Sequence[GenerateRequest]` — The generation request to make. Bulk requests are no longer supported, this field must be an array of length 1.
431
820
 
432
821
  </dd>
433
822
  </dl>
@@ -435,7 +824,7 @@ client.execute_workflow(
435
824
  <dl>
436
825
  <dd>
437
826
 
438
- **release_tag:** `typing.Optional[str]` — Optionally specify a release tag if you want to pin to a specific release of the Workflow Deployment
827
+ **deployment_id:** `typing.Optional[str]` — The ID of the deployment. Must provide either this or deployment_name.
439
828
 
440
829
  </dd>
441
830
  </dl>
@@ -443,7 +832,7 @@ client.execute_workflow(
443
832
  <dl>
444
833
  <dd>
445
834
 
446
- **external_id:** `typing.Optional[str]` — Optionally include a unique identifier for tracking purposes. Must be unique within a given Workspace.
835
+ **deployment_name:** `typing.Optional[str]` — The name of the deployment. Must provide either this or deployment_id.
447
836
 
448
837
  </dd>
449
838
  </dl>
@@ -451,7 +840,7 @@ client.execute_workflow(
451
840
  <dl>
452
841
  <dd>
453
842
 
454
- **metadata:** `typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]]` — Arbitrary JSON metadata associated with this request. Can be used to capture additional monitoring data such as user id, session id, etc. for future analysis.
843
+ **options:** `typing.Optional[GenerateOptionsRequest]` — Additional configuration that can be used to control what's included in the response.
455
844
 
456
845
  </dd>
457
846
  </dl>
@@ -471,7 +860,7 @@ client.execute_workflow(
471
860
  </dl>
472
861
  </details>
473
862
 
474
- <details><summary><code>client.<a href="src/vellum/client.py">generate</a>(...)</code></summary>
863
+ <details><summary><code>client.<a href="src/vellum/client.py">generate_stream</a>(...)</code></summary>
475
864
  <dl>
476
865
  <dd>
477
866
 
@@ -483,10 +872,10 @@ client.execute_workflow(
483
872
  <dl>
484
873
  <dd>
485
874
 
486
- Generate a completion using a previously defined deployment.
875
+ Generate a stream of completions using a previously defined deployment.
487
876
 
488
877
  Important: This endpoint is DEPRECATED and has been superseded by
489
- [execute-prompt](/api-reference/api-reference/execute-prompt).
878
+ [execute-prompt-stream](/api-reference/api-reference/execute-prompt-stream).
490
879
  </dd>
491
880
  </dl>
492
881
  </dd>
@@ -507,7 +896,7 @@ client = Vellum(
507
896
  api_version="YOUR_API_VERSION",
508
897
  api_key="YOUR_API_KEY",
509
898
  )
510
- client.generate(
899
+ response = client.generate_stream(
511
900
  requests=[
512
901
  GenerateRequest(
513
902
  input_values={"input_values": {"key": "value"}},
@@ -517,6 +906,8 @@ client.generate(
517
906
  ),
518
907
  ],
519
908
  )
909
+ for chunk in response.data:
910
+ yield chunk
520
911
 
521
912
  ```
522
913
  </dd>
@@ -1005,6 +1396,158 @@ client.ad_hoc.adhoc_execute_prompt(
1005
1396
  </dl>
1006
1397
 
1007
1398
 
1399
+ </dd>
1400
+ </dl>
1401
+ </details>
1402
+
1403
+ <details><summary><code>client.ad_hoc.<a href="src/vellum/resources/ad_hoc/client.py">adhoc_execute_prompt_stream</a>(...)</code></summary>
1404
+ <dl>
1405
+ <dd>
1406
+
1407
+ #### 🔌 Usage
1408
+
1409
+ <dl>
1410
+ <dd>
1411
+
1412
+ <dl>
1413
+ <dd>
1414
+
1415
+ ```python
1416
+ from vellum import (
1417
+ JinjaPromptBlock,
1418
+ PromptParameters,
1419
+ PromptRequestStringInput,
1420
+ Vellum,
1421
+ VellumVariable,
1422
+ )
1423
+
1424
+ client = Vellum(
1425
+ api_version="YOUR_API_VERSION",
1426
+ api_key="YOUR_API_KEY",
1427
+ )
1428
+ response = client.ad_hoc.adhoc_execute_prompt_stream(
1429
+ ml_model="x",
1430
+ input_values=[
1431
+ PromptRequestStringInput(
1432
+ key="x",
1433
+ value="value",
1434
+ ),
1435
+ PromptRequestStringInput(
1436
+ key="x",
1437
+ value="value",
1438
+ ),
1439
+ ],
1440
+ input_variables=[
1441
+ VellumVariable(
1442
+ id="x",
1443
+ key="key",
1444
+ type="STRING",
1445
+ ),
1446
+ VellumVariable(
1447
+ id="x",
1448
+ key="key",
1449
+ type="STRING",
1450
+ ),
1451
+ ],
1452
+ parameters=PromptParameters(),
1453
+ blocks=[
1454
+ JinjaPromptBlock(
1455
+ template="template",
1456
+ ),
1457
+ JinjaPromptBlock(
1458
+ template="template",
1459
+ ),
1460
+ ],
1461
+ )
1462
+ for chunk in response.data:
1463
+ yield chunk
1464
+
1465
+ ```
1466
+ </dd>
1467
+ </dl>
1468
+ </dd>
1469
+ </dl>
1470
+
1471
+ #### ⚙️ Parameters
1472
+
1473
+ <dl>
1474
+ <dd>
1475
+
1476
+ <dl>
1477
+ <dd>
1478
+
1479
+ **ml_model:** `str`
1480
+
1481
+ </dd>
1482
+ </dl>
1483
+
1484
+ <dl>
1485
+ <dd>
1486
+
1487
+ **input_values:** `typing.Sequence[PromptRequestInput]`
1488
+
1489
+ </dd>
1490
+ </dl>
1491
+
1492
+ <dl>
1493
+ <dd>
1494
+
1495
+ **input_variables:** `typing.Sequence[VellumVariable]`
1496
+
1497
+ </dd>
1498
+ </dl>
1499
+
1500
+ <dl>
1501
+ <dd>
1502
+
1503
+ **parameters:** `PromptParameters`
1504
+
1505
+ </dd>
1506
+ </dl>
1507
+
1508
+ <dl>
1509
+ <dd>
1510
+
1511
+ **blocks:** `typing.Sequence[PromptBlock]`
1512
+
1513
+ </dd>
1514
+ </dl>
1515
+
1516
+ <dl>
1517
+ <dd>
1518
+
1519
+ **settings:** `typing.Optional[PromptSettings]`
1520
+
1521
+ </dd>
1522
+ </dl>
1523
+
1524
+ <dl>
1525
+ <dd>
1526
+
1527
+ **functions:** `typing.Optional[typing.Sequence[FunctionDefinition]]`
1528
+
1529
+ </dd>
1530
+ </dl>
1531
+
1532
+ <dl>
1533
+ <dd>
1534
+
1535
+ **expand_meta:** `typing.Optional[AdHocExpandMeta]`
1536
+
1537
+ </dd>
1538
+ </dl>
1539
+
1540
+ <dl>
1541
+ <dd>
1542
+
1543
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
1544
+
1545
+ </dd>
1546
+ </dl>
1547
+ </dd>
1548
+ </dl>
1549
+
1550
+
1008
1551
  </dd>
1009
1552
  </dl>
1010
1553
  </details>
@@ -4531,6 +5074,136 @@ client.test_suites.upsert_test_suite_test_case(
4531
5074
  </dl>
4532
5075
 
4533
5076
 
5077
+ </dd>
5078
+ </dl>
5079
+ </details>
5080
+
5081
+ <details><summary><code>client.test_suites.<a href="src/vellum/resources/test_suites/client.py">test_suite_test_cases_bulk</a>(...)</code></summary>
5082
+ <dl>
5083
+ <dd>
5084
+
5085
+ #### 📝 Description
5086
+
5087
+ <dl>
5088
+ <dd>
5089
+
5090
+ <dl>
5091
+ <dd>
5092
+
5093
+ Created, replace, and delete Test Cases within the specified Test Suite in bulk
5094
+ </dd>
5095
+ </dl>
5096
+ </dd>
5097
+ </dl>
5098
+
5099
+ #### 🔌 Usage
5100
+
5101
+ <dl>
5102
+ <dd>
5103
+
5104
+ <dl>
5105
+ <dd>
5106
+
5107
+ ```python
5108
+ from vellum import (
5109
+ CreateTestSuiteTestCaseRequest,
5110
+ NamedTestCaseStringVariableValueRequest,
5111
+ TestSuiteTestCaseCreateBulkOperationRequest,
5112
+ Vellum,
5113
+ )
5114
+
5115
+ client = Vellum(
5116
+ api_version="YOUR_API_VERSION",
5117
+ api_key="YOUR_API_KEY",
5118
+ )
5119
+ response = client.test_suites.test_suite_test_cases_bulk(
5120
+ id="id",
5121
+ request=[
5122
+ TestSuiteTestCaseCreateBulkOperationRequest(
5123
+ id="id",
5124
+ data=CreateTestSuiteTestCaseRequest(
5125
+ input_values=[
5126
+ NamedTestCaseStringVariableValueRequest(
5127
+ name="x",
5128
+ ),
5129
+ NamedTestCaseStringVariableValueRequest(
5130
+ name="x",
5131
+ ),
5132
+ ],
5133
+ evaluation_values=[
5134
+ NamedTestCaseStringVariableValueRequest(
5135
+ name="x",
5136
+ ),
5137
+ NamedTestCaseStringVariableValueRequest(
5138
+ name="x",
5139
+ ),
5140
+ ],
5141
+ ),
5142
+ ),
5143
+ TestSuiteTestCaseCreateBulkOperationRequest(
5144
+ id="id",
5145
+ data=CreateTestSuiteTestCaseRequest(
5146
+ input_values=[
5147
+ NamedTestCaseStringVariableValueRequest(
5148
+ name="x",
5149
+ ),
5150
+ NamedTestCaseStringVariableValueRequest(
5151
+ name="x",
5152
+ ),
5153
+ ],
5154
+ evaluation_values=[
5155
+ NamedTestCaseStringVariableValueRequest(
5156
+ name="x",
5157
+ ),
5158
+ NamedTestCaseStringVariableValueRequest(
5159
+ name="x",
5160
+ ),
5161
+ ],
5162
+ ),
5163
+ ),
5164
+ ],
5165
+ )
5166
+ for chunk in response.data:
5167
+ yield chunk
5168
+
5169
+ ```
5170
+ </dd>
5171
+ </dl>
5172
+ </dd>
5173
+ </dl>
5174
+
5175
+ #### ⚙️ Parameters
5176
+
5177
+ <dl>
5178
+ <dd>
5179
+
5180
+ <dl>
5181
+ <dd>
5182
+
5183
+ **id:** `str` — Either the Test Suites' ID or its unique name
5184
+
5185
+ </dd>
5186
+ </dl>
5187
+
5188
+ <dl>
5189
+ <dd>
5190
+
5191
+ **request:** `typing.Sequence[TestSuiteTestCaseBulkOperationRequest]`
5192
+
5193
+ </dd>
5194
+ </dl>
5195
+
5196
+ <dl>
5197
+ <dd>
5198
+
5199
+ **request_options:** `typing.Optional[RequestOptions]` — Request-specific configuration.
5200
+
5201
+ </dd>
5202
+ </dl>
5203
+ </dd>
5204
+ </dl>
5205
+
5206
+
4534
5207
  </dd>
4535
5208
  </dl>
4536
5209
  </details>