vellum_ai 0.14.88 → 1.0.0

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.
data/lib/vellum_ai.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  require_relative "environment"
3
3
  require_relative "types_export"
4
+ require_relative "vellum_ai/types/api_version_enum"
4
5
  require_relative "requests"
5
6
  require_relative "vellum_ai/ad_hoc/client"
6
7
  require_relative "vellum_ai/container_images/client"
@@ -93,14 +94,16 @@ module Vellum
93
94
  # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
94
95
  # @param timeout_in_seconds [Long]
95
96
  # @param api_key [String]
97
+ # @param api_version [Vellum::ApiVersionEnum]
96
98
  # @return [Vellum::Client]
97
- def initialize(base_url: nil, environment: Vellum::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, api_key:)
99
+ def initialize(base_url: nil, environment: Vellum::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, api_key:, api_version: nil)
98
100
  @request_client = Vellum::RequestClient.new(
99
101
  base_url: base_url,
100
102
  environment: environment,
101
103
  max_retries: max_retries,
102
104
  timeout_in_seconds: timeout_in_seconds,
103
- api_key: api_key
105
+ api_key: api_key,
106
+ api_version: api_version
104
107
  )
105
108
  @ad_hoc = Vellum::AdHocClient.new(request_client: @request_client)
106
109
  @container_images = Vellum::ContainerImagesClient.new(request_client: @request_client)
@@ -135,7 +138,7 @@ module Vellum
135
138
  # environment: Vellum::Environment::PRODUCTION,
136
139
  # api_key: "YOUR_API_KEY"
137
140
  # )
138
- # api.execute_api(url: "url")
141
+ # api.execute_api(url: "x")
139
142
  def execute_api(url:, method: nil, body: nil, headers: nil, bearer_token: nil, request_options: nil)
140
143
  response = @request_client.conn.post do | req |
141
144
  unless request_options&.timeout_in_seconds.nil?
@@ -144,6 +147,11 @@ module Vellum
144
147
  unless request_options&.api_key.nil?
145
148
  req.headers["X-API-KEY"] = request_options.api_key
146
149
  end
150
+ unless request_options&.api_version.nil?
151
+ req.headers["X-API-Version"] = request_options.api_version
152
+ else
153
+ req.headers["X-API-Version"] = "2025-07-30"
154
+ end
147
155
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
148
156
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
149
157
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -170,10 +178,10 @@ end
170
178
  # api_key: "YOUR_API_KEY"
171
179
  # )
172
180
  # api.execute_code(
173
- # code: "code",
181
+ # code: "x",
174
182
  # runtime: PYTHON_3_11_6,
175
- # input_values: [{ name: "name", type: "STRING", value: "value" }],
176
- # packages: [{ version: "version", name: "name" }],
183
+ # input_values: [{ name: "x", type: "STRING", value: "value" }, { name: "x", type: "STRING", value: "value" }],
184
+ # packages: [{ version: "version", name: "name" }, { version: "version", name: "name" }],
177
185
  # output_type: STRING
178
186
  # )
179
187
  def execute_code(code:, runtime:, input_values:, packages:, output_type:, request_options: nil)
@@ -184,6 +192,11 @@ end
184
192
  unless request_options&.api_key.nil?
185
193
  req.headers["X-API-KEY"] = request_options.api_key
186
194
  end
195
+ unless request_options&.api_version.nil?
196
+ req.headers["X-API-Version"] = request_options.api_version
197
+ else
198
+ req.headers["X-API-Version"] = "2025-07-30"
199
+ end
187
200
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
188
201
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
189
202
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -234,7 +247,7 @@ end
234
247
  # environment: Vellum::Environment::PRODUCTION,
235
248
  # api_key: "YOUR_API_KEY"
236
249
  # )
237
- # api.execute_prompt(inputs: [{ name: "name", type: "STRING", value: "value" }])
250
+ # api.execute_prompt(inputs: [{ name: "x", type: "STRING", value: "value" }, { name: "x", type: "STRING", value: "value" }])
238
251
  def execute_prompt(inputs:, prompt_deployment_id: nil, prompt_deployment_name: nil, release_tag: nil, external_id: nil, expand_meta: nil, raw_overrides: nil, expand_raw: nil, metadata: nil, request_options: nil)
239
252
  response = @request_client.conn.post do | req |
240
253
  unless request_options&.timeout_in_seconds.nil?
@@ -243,6 +256,11 @@ end
243
256
  unless request_options&.api_key.nil?
244
257
  req.headers["X-API-KEY"] = request_options.api_key
245
258
  end
259
+ unless request_options&.api_version.nil?
260
+ req.headers["X-API-Version"] = request_options.api_version
261
+ else
262
+ req.headers["X-API-Version"] = "2025-07-30"
263
+ end
246
264
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
247
265
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
248
266
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -282,7 +300,7 @@ end
282
300
  # environment: Vellum::Environment::PRODUCTION,
283
301
  # api_key: "YOUR_API_KEY"
284
302
  # )
285
- # api.execute_workflow(inputs: [{ name: "name", type: "STRING", value: "value" }])
303
+ # api.execute_workflow(inputs: [{ name: "x", type: "STRING", value: "value" }, { name: "x", type: "STRING", value: "value" }])
286
304
  def execute_workflow(inputs:, expand_meta: nil, workflow_deployment_id: nil, workflow_deployment_name: nil, release_tag: nil, external_id: nil, metadata: nil, request_options: nil)
287
305
  response = @request_client.conn.post do | req |
288
306
  unless request_options&.timeout_in_seconds.nil?
@@ -291,6 +309,11 @@ end
291
309
  unless request_options&.api_key.nil?
292
310
  req.headers["X-API-KEY"] = request_options.api_key
293
311
  end
312
+ unless request_options&.api_version.nil?
313
+ req.headers["X-API-Version"] = request_options.api_version
314
+ else
315
+ req.headers["X-API-Version"] = "2025-07-30"
316
+ end
294
317
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
295
318
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
296
319
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -322,7 +345,7 @@ end
322
345
  # environment: Vellum::Environment::PRODUCTION,
323
346
  # api_key: "YOUR_API_KEY"
324
347
  # )
325
- # api.generate(requests: [{ input_values: { "key": "value" } }])
348
+ # api.generate(requests: [{ input_values: { "input_values": {"key":"value"} } }, { input_values: { "input_values": {"key":"value"} } }])
326
349
  def generate(deployment_id: nil, deployment_name: nil, requests:, options: nil, request_options: nil)
327
350
  response = @request_client.conn.post do | req |
328
351
  unless request_options&.timeout_in_seconds.nil?
@@ -331,6 +354,11 @@ end
331
354
  unless request_options&.api_key.nil?
332
355
  req.headers["X-API-KEY"] = request_options.api_key
333
356
  end
357
+ unless request_options&.api_version.nil?
358
+ req.headers["X-API-Version"] = request_options.api_version
359
+ else
360
+ req.headers["X-API-Version"] = "2025-07-30"
361
+ end
334
362
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
335
363
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
336
364
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -367,7 +395,7 @@ end
367
395
  # environment: Vellum::Environment::PRODUCTION,
368
396
  # api_key: "YOUR_API_KEY"
369
397
  # )
370
- # api.search(query: "query")
398
+ # api.search(query: "x")
371
399
  def search(index_id: nil, index_name: nil, query:, options: nil, document_index: nil, request_options: nil)
372
400
  response = @request_client.conn.post do | req |
373
401
  unless request_options&.timeout_in_seconds.nil?
@@ -376,6 +404,11 @@ end
376
404
  unless request_options&.api_key.nil?
377
405
  req.headers["X-API-KEY"] = request_options.api_key
378
406
  end
407
+ unless request_options&.api_version.nil?
408
+ req.headers["X-API-Version"] = request_options.api_version
409
+ else
410
+ req.headers["X-API-Version"] = "2025-07-30"
411
+ end
379
412
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
380
413
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
381
414
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -405,7 +438,7 @@ end
405
438
  # environment: Vellum::Environment::PRODUCTION,
406
439
  # api_key: "YOUR_API_KEY"
407
440
  # )
408
- # api.submit_completion_actuals(actuals: [{ }])
441
+ # api.submit_completion_actuals(actuals: [{ }, { }])
409
442
  def submit_completion_actuals(deployment_id: nil, deployment_name: nil, actuals:, request_options: nil)
410
443
  response = @request_client.conn.post do | req |
411
444
  unless request_options&.timeout_in_seconds.nil?
@@ -414,6 +447,11 @@ end
414
447
  unless request_options&.api_key.nil?
415
448
  req.headers["X-API-KEY"] = request_options.api_key
416
449
  end
450
+ unless request_options&.api_version.nil?
451
+ req.headers["X-API-Version"] = request_options.api_version
452
+ else
453
+ req.headers["X-API-Version"] = "2025-07-30"
454
+ end
417
455
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
418
456
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
419
457
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -440,7 +478,7 @@ end
440
478
  # environment: Vellum::Environment::PRODUCTION,
441
479
  # api_key: "YOUR_API_KEY"
442
480
  # )
443
- # api.submit_workflow_execution_actuals(actuals: [{ output_type: "STRING" }])
481
+ # api.submit_workflow_execution_actuals(actuals: [{ output_type: "STRING" }, { output_type: "STRING" }])
444
482
  def submit_workflow_execution_actuals(actuals:, execution_id: nil, external_id: nil, request_options: nil)
445
483
  response = @request_client.conn.post do | req |
446
484
  unless request_options&.timeout_in_seconds.nil?
@@ -449,6 +487,11 @@ end
449
487
  unless request_options&.api_key.nil?
450
488
  req.headers["X-API-KEY"] = request_options.api_key
451
489
  end
490
+ unless request_options&.api_version.nil?
491
+ req.headers["X-API-Version"] = request_options.api_version
492
+ else
493
+ req.headers["X-API-Version"] = "2025-07-30"
494
+ end
452
495
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
453
496
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
454
497
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -504,14 +547,16 @@ end
504
547
  # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
505
548
  # @param timeout_in_seconds [Long]
506
549
  # @param api_key [String]
550
+ # @param api_version [Vellum::ApiVersionEnum]
507
551
  # @return [Vellum::AsyncClient]
508
- def initialize(base_url: nil, environment: Vellum::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, api_key:)
552
+ def initialize(base_url: nil, environment: Vellum::Environment::PRODUCTION, max_retries: nil, timeout_in_seconds: nil, api_key:, api_version: nil)
509
553
  @async_request_client = Vellum::AsyncRequestClient.new(
510
554
  base_url: base_url,
511
555
  environment: environment,
512
556
  max_retries: max_retries,
513
557
  timeout_in_seconds: timeout_in_seconds,
514
- api_key: api_key
558
+ api_key: api_key,
559
+ api_version: api_version
515
560
  )
516
561
  @ad_hoc = Vellum::AsyncAdHocClient.new(request_client: @async_request_client)
517
562
  @container_images = Vellum::AsyncContainerImagesClient.new(request_client: @async_request_client)
@@ -546,7 +591,7 @@ end
546
591
  # environment: Vellum::Environment::PRODUCTION,
547
592
  # api_key: "YOUR_API_KEY"
548
593
  # )
549
- # api.execute_api(url: "url")
594
+ # api.execute_api(url: "x")
550
595
  def execute_api(url:, method: nil, body: nil, headers: nil, bearer_token: nil, request_options: nil)
551
596
  response = @async_request_client.conn.post do | req |
552
597
  unless request_options&.timeout_in_seconds.nil?
@@ -555,6 +600,11 @@ end
555
600
  unless request_options&.api_key.nil?
556
601
  req.headers["X-API-KEY"] = request_options.api_key
557
602
  end
603
+ unless request_options&.api_version.nil?
604
+ req.headers["X-API-Version"] = request_options.api_version
605
+ else
606
+ req.headers["X-API-Version"] = "2025-07-30"
607
+ end
558
608
  req.headers = { **(req.headers || {}), **@async_request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
559
609
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
560
610
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -581,10 +631,10 @@ end
581
631
  # api_key: "YOUR_API_KEY"
582
632
  # )
583
633
  # api.execute_code(
584
- # code: "code",
634
+ # code: "x",
585
635
  # runtime: PYTHON_3_11_6,
586
- # input_values: [{ name: "name", type: "STRING", value: "value" }],
587
- # packages: [{ version: "version", name: "name" }],
636
+ # input_values: [{ name: "x", type: "STRING", value: "value" }, { name: "x", type: "STRING", value: "value" }],
637
+ # packages: [{ version: "version", name: "name" }, { version: "version", name: "name" }],
588
638
  # output_type: STRING
589
639
  # )
590
640
  def execute_code(code:, runtime:, input_values:, packages:, output_type:, request_options: nil)
@@ -595,6 +645,11 @@ end
595
645
  unless request_options&.api_key.nil?
596
646
  req.headers["X-API-KEY"] = request_options.api_key
597
647
  end
648
+ unless request_options&.api_version.nil?
649
+ req.headers["X-API-Version"] = request_options.api_version
650
+ else
651
+ req.headers["X-API-Version"] = "2025-07-30"
652
+ end
598
653
  req.headers = { **(req.headers || {}), **@async_request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
599
654
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
600
655
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -645,7 +700,7 @@ end
645
700
  # environment: Vellum::Environment::PRODUCTION,
646
701
  # api_key: "YOUR_API_KEY"
647
702
  # )
648
- # api.execute_prompt(inputs: [{ name: "name", type: "STRING", value: "value" }])
703
+ # api.execute_prompt(inputs: [{ name: "x", type: "STRING", value: "value" }, { name: "x", type: "STRING", value: "value" }])
649
704
  def execute_prompt(inputs:, prompt_deployment_id: nil, prompt_deployment_name: nil, release_tag: nil, external_id: nil, expand_meta: nil, raw_overrides: nil, expand_raw: nil, metadata: nil, request_options: nil)
650
705
  response = @async_request_client.conn.post do | req |
651
706
  unless request_options&.timeout_in_seconds.nil?
@@ -654,6 +709,11 @@ end
654
709
  unless request_options&.api_key.nil?
655
710
  req.headers["X-API-KEY"] = request_options.api_key
656
711
  end
712
+ unless request_options&.api_version.nil?
713
+ req.headers["X-API-Version"] = request_options.api_version
714
+ else
715
+ req.headers["X-API-Version"] = "2025-07-30"
716
+ end
657
717
  req.headers = { **(req.headers || {}), **@async_request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
658
718
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
659
719
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -693,7 +753,7 @@ end
693
753
  # environment: Vellum::Environment::PRODUCTION,
694
754
  # api_key: "YOUR_API_KEY"
695
755
  # )
696
- # api.execute_workflow(inputs: [{ name: "name", type: "STRING", value: "value" }])
756
+ # api.execute_workflow(inputs: [{ name: "x", type: "STRING", value: "value" }, { name: "x", type: "STRING", value: "value" }])
697
757
  def execute_workflow(inputs:, expand_meta: nil, workflow_deployment_id: nil, workflow_deployment_name: nil, release_tag: nil, external_id: nil, metadata: nil, request_options: nil)
698
758
  response = @async_request_client.conn.post do | req |
699
759
  unless request_options&.timeout_in_seconds.nil?
@@ -702,6 +762,11 @@ end
702
762
  unless request_options&.api_key.nil?
703
763
  req.headers["X-API-KEY"] = request_options.api_key
704
764
  end
765
+ unless request_options&.api_version.nil?
766
+ req.headers["X-API-Version"] = request_options.api_version
767
+ else
768
+ req.headers["X-API-Version"] = "2025-07-30"
769
+ end
705
770
  req.headers = { **(req.headers || {}), **@async_request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
706
771
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
707
772
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -733,7 +798,7 @@ end
733
798
  # environment: Vellum::Environment::PRODUCTION,
734
799
  # api_key: "YOUR_API_KEY"
735
800
  # )
736
- # api.generate(requests: [{ input_values: { "key": "value" } }])
801
+ # api.generate(requests: [{ input_values: { "input_values": {"key":"value"} } }, { input_values: { "input_values": {"key":"value"} } }])
737
802
  def generate(deployment_id: nil, deployment_name: nil, requests:, options: nil, request_options: nil)
738
803
  response = @async_request_client.conn.post do | req |
739
804
  unless request_options&.timeout_in_seconds.nil?
@@ -742,6 +807,11 @@ end
742
807
  unless request_options&.api_key.nil?
743
808
  req.headers["X-API-KEY"] = request_options.api_key
744
809
  end
810
+ unless request_options&.api_version.nil?
811
+ req.headers["X-API-Version"] = request_options.api_version
812
+ else
813
+ req.headers["X-API-Version"] = "2025-07-30"
814
+ end
745
815
  req.headers = { **(req.headers || {}), **@async_request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
746
816
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
747
817
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -778,7 +848,7 @@ end
778
848
  # environment: Vellum::Environment::PRODUCTION,
779
849
  # api_key: "YOUR_API_KEY"
780
850
  # )
781
- # api.search(query: "query")
851
+ # api.search(query: "x")
782
852
  def search(index_id: nil, index_name: nil, query:, options: nil, document_index: nil, request_options: nil)
783
853
  response = @async_request_client.conn.post do | req |
784
854
  unless request_options&.timeout_in_seconds.nil?
@@ -787,6 +857,11 @@ end
787
857
  unless request_options&.api_key.nil?
788
858
  req.headers["X-API-KEY"] = request_options.api_key
789
859
  end
860
+ unless request_options&.api_version.nil?
861
+ req.headers["X-API-Version"] = request_options.api_version
862
+ else
863
+ req.headers["X-API-Version"] = "2025-07-30"
864
+ end
790
865
  req.headers = { **(req.headers || {}), **@async_request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
791
866
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
792
867
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -816,7 +891,7 @@ end
816
891
  # environment: Vellum::Environment::PRODUCTION,
817
892
  # api_key: "YOUR_API_KEY"
818
893
  # )
819
- # api.submit_completion_actuals(actuals: [{ }])
894
+ # api.submit_completion_actuals(actuals: [{ }, { }])
820
895
  def submit_completion_actuals(deployment_id: nil, deployment_name: nil, actuals:, request_options: nil)
821
896
  response = @async_request_client.conn.post do | req |
822
897
  unless request_options&.timeout_in_seconds.nil?
@@ -825,6 +900,11 @@ end
825
900
  unless request_options&.api_key.nil?
826
901
  req.headers["X-API-KEY"] = request_options.api_key
827
902
  end
903
+ unless request_options&.api_version.nil?
904
+ req.headers["X-API-Version"] = request_options.api_version
905
+ else
906
+ req.headers["X-API-Version"] = "2025-07-30"
907
+ end
828
908
  req.headers = { **(req.headers || {}), **@async_request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
829
909
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
830
910
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
@@ -851,7 +931,7 @@ end
851
931
  # environment: Vellum::Environment::PRODUCTION,
852
932
  # api_key: "YOUR_API_KEY"
853
933
  # )
854
- # api.submit_workflow_execution_actuals(actuals: [{ output_type: "STRING" }])
934
+ # api.submit_workflow_execution_actuals(actuals: [{ output_type: "STRING" }, { output_type: "STRING" }])
855
935
  def submit_workflow_execution_actuals(actuals:, execution_id: nil, external_id: nil, request_options: nil)
856
936
  response = @async_request_client.conn.post do | req |
857
937
  unless request_options&.timeout_in_seconds.nil?
@@ -860,6 +940,11 @@ end
860
940
  unless request_options&.api_key.nil?
861
941
  req.headers["X-API-KEY"] = request_options.api_key
862
942
  end
943
+ unless request_options&.api_version.nil?
944
+ req.headers["X-API-Version"] = request_options.api_version
945
+ else
946
+ req.headers["X-API-Version"] = "2025-07-30"
947
+ end
863
948
  req.headers = { **(req.headers || {}), **@async_request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
864
949
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
865
950
  req.params = { **(request_options&.additional_query_parameters || {}) }.compact
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vellum_ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.88
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vellum
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-07-13 00:00:00.000000000 Z
11
+ date: 2025-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday