vellum_ai 1.7.3 → 1.7.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2a9ae23c18b01a9b7ff09f6255491f9d9137f611b4776010127290a96e29bc4
4
- data.tar.gz: 8c9bb1dab24a333f72f8dca3030fceaf599c4b0fa68daa32bb1cffe006cf7270
3
+ metadata.gz: e374cd613fbef94c44f9edf238c36532c1289357f7cbfae86245885ac35461a6
4
+ data.tar.gz: 4ba50994ee0c03826fa541654a560e101443480b4c2afd4cc355e17f7feaeb36
5
5
  SHA512:
6
- metadata.gz: ac0d1099e35b8c8903c4c782114275a3c6e6a06bdf1422e851917742c26d07116405a53b2a6409374d9da68be4e7d66f13f66ec9677c72d8e8e3131bad0e47ef
7
- data.tar.gz: 6ee89668e85579f536f9ad2ab39a292b6aaf65aeb071f30224649070f744e3754617905d3b8998bda35ea6d02661962e2640ce3adfdf0d4a3fd1efa9333c4637
6
+ metadata.gz: fd74efc5e866115fff83d9ec65cf63b9fa4dbabf994b9aa51796cf67a2d35e22182d01a6c69e8316de941a4496dd77bce5d8869b7323a8cf12ed9b38ccdecedc
7
+ data.tar.gz: f38de40e14e5378b72f6c662e817a13d33e0239f0ff1c584e28de4691959b709919ac48fabce1f199ad70eca8da9405042cb89c51672e9b281f7939365ec0e48
data/lib/requests.rb CHANGED
@@ -56,7 +56,7 @@ end
56
56
  end
57
57
  # @return [Hash{String => String}]
58
58
  def get_headers
59
- headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.7.3' }
59
+ headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.7.5' }
60
60
  headers["X-API-KEY"] = ((@api_key.is_a? Method) ? @api_key.call : @api_key) unless @api_key.nil?
61
61
  headers
62
62
  end
@@ -107,7 +107,7 @@ end
107
107
  end
108
108
  # @return [Hash{String => String}]
109
109
  def get_headers
110
- headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.7.3' }
110
+ headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.7.5' }
111
111
  headers["X-API-KEY"] = ((@api_key.is_a? Method) ? @api_key.call : @api_key) unless @api_key.nil?
112
112
  headers
113
113
  end
data/lib/types_export.rb CHANGED
@@ -389,6 +389,7 @@ require_relative "vellum_ai/types/paginated_slim_tool_definition_list"
389
389
  require_relative "vellum_ai/types/paginated_slim_workflow_deployment_list"
390
390
  require_relative "vellum_ai/types/paginated_test_suite_run_execution_list"
391
391
  require_relative "vellum_ai/types/paginated_test_suite_test_case_list"
392
+ require_relative "vellum_ai/types/paginated_workflow_deployment_release_list"
392
393
  require_relative "vellum_ai/types/paginated_workflow_release_tag_read_list"
393
394
  require_relative "vellum_ai/types/paginated_workflow_sandbox_example_list"
394
395
  require_relative "vellum_ai/types/workflow_parent_context"
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+ require_relative "workflow_deployment_release"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vellum
7
+ class PaginatedWorkflowDeploymentReleaseList
8
+ # @return [Integer]
9
+ attr_reader :count
10
+ # @return [String]
11
+ attr_reader :next_
12
+ # @return [String]
13
+ attr_reader :previous
14
+ # @return [Array<Vellum::WorkflowDeploymentRelease>]
15
+ attr_reader :results
16
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
17
+ attr_reader :additional_properties
18
+ # @return [Object]
19
+ attr_reader :_field_set
20
+ protected :_field_set
21
+
22
+ OMIT = Object.new
23
+
24
+ # @param count [Integer]
25
+ # @param next_ [String]
26
+ # @param previous [String]
27
+ # @param results [Array<Vellum::WorkflowDeploymentRelease>]
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [Vellum::PaginatedWorkflowDeploymentReleaseList]
30
+ def initialize(count: OMIT, next_: OMIT, previous: OMIT, results: OMIT, additional_properties: nil)
31
+ @count = count if count != OMIT
32
+ @next_ = next_ if next_ != OMIT
33
+ @previous = previous if previous != OMIT
34
+ @results = results if results != OMIT
35
+ @additional_properties = additional_properties
36
+ @_field_set = { "count": count, "next": next_, "previous": previous, "results": results }.reject do | _k, v |
37
+ v == OMIT
38
+ end
39
+ end
40
+ # Deserialize a JSON object to an instance of
41
+ # PaginatedWorkflowDeploymentReleaseList
42
+ #
43
+ # @param json_object [String]
44
+ # @return [Vellum::PaginatedWorkflowDeploymentReleaseList]
45
+ def self.from_json(json_object:)
46
+ struct = JSON.parse(json_object, object_class: OpenStruct)
47
+ parsed_json = JSON.parse(json_object)
48
+ count = parsed_json["count"]
49
+ next_ = parsed_json["next"]
50
+ previous = parsed_json["previous"]
51
+ results = parsed_json["results"]&.map do | item |
52
+ item = item.to_json
53
+ Vellum::WorkflowDeploymentRelease.from_json(json_object: item)
54
+ end
55
+ new(
56
+ count: count,
57
+ next_: next_,
58
+ previous: previous,
59
+ results: results,
60
+ additional_properties: struct
61
+ )
62
+ end
63
+ # Serialize an instance of PaginatedWorkflowDeploymentReleaseList to a JSON object
64
+ #
65
+ # @return [String]
66
+ def to_json
67
+ @_field_set&.to_json
68
+ end
69
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
70
+ # hash and check each fields type against the current object's property
71
+ # definitions.
72
+ #
73
+ # @param obj [Object]
74
+ # @return [Void]
75
+ def self.validate_raw(obj:)
76
+ obj.count&.is_a?(Integer) != false || raise("Passed value for field obj.count is not the expected type, validation failed.")
77
+ obj.next_&.is_a?(String) != false || raise("Passed value for field obj.next_ is not the expected type, validation failed.")
78
+ obj.previous&.is_a?(String) != false || raise("Passed value for field obj.previous is not the expected type, validation failed.")
79
+ obj.results&.is_a?(Array) != false || raise("Passed value for field obj.results is not the expected type, validation failed.")
80
+ end
81
+ end
82
+ end
@@ -5,20 +5,24 @@ module Vellum
5
5
  # * `INVALID_INPUTS` - INVALID_INPUTS
6
6
  # * `PROVIDER_ERROR` - PROVIDER_ERROR
7
7
  # * `PROVIDER_CREDENTIALS_UNAVAILABLE` - PROVIDER_CREDENTIALS_UNAVAILABLE
8
+ # * `INTEGRATION_CREDENTIALS_UNAVAILABLE` - INTEGRATION_CREDENTIALS_UNAVAILABLE
8
9
  # * `REQUEST_TIMEOUT` - REQUEST_TIMEOUT
9
10
  # * `INTERNAL_SERVER_ERROR` - INTERNAL_SERVER_ERROR
10
11
  # * `USER_DEFINED_ERROR` - USER_DEFINED_ERROR
11
12
  # * `WORKFLOW_CANCELLED` - WORKFLOW_CANCELLED
13
+ # * `NODE_CANCELLED` - NODE_CANCELLED
12
14
  class VellumErrorCodeEnum
13
15
 
14
16
  INVALID_REQUEST = "INVALID_REQUEST"
15
17
  INVALID_INPUTS = "INVALID_INPUTS"
16
18
  PROVIDER_ERROR = "PROVIDER_ERROR"
17
19
  PROVIDER_CREDENTIALS_UNAVAILABLE = "PROVIDER_CREDENTIALS_UNAVAILABLE"
20
+ INTEGRATION_CREDENTIALS_UNAVAILABLE = "INTEGRATION_CREDENTIALS_UNAVAILABLE"
18
21
  REQUEST_TIMEOUT = "REQUEST_TIMEOUT"
19
22
  INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR"
20
23
  USER_DEFINED_ERROR = "USER_DEFINED_ERROR"
21
24
  WORKFLOW_CANCELLED = "WORKFLOW_CANCELLED"
25
+ NODE_CANCELLED = "NODE_CANCELLED"
22
26
 
23
27
  end
24
28
  end
@@ -9,9 +9,11 @@ module Vellum
9
9
  # * `INVALID_TEMPLATE` - INVALID_TEMPLATE
10
10
  # * `INTERNAL_ERROR` - INTERNAL_ERROR
11
11
  # * `PROVIDER_CREDENTIALS_UNAVAILABLE` - PROVIDER_CREDENTIALS_UNAVAILABLE
12
+ # * `INTEGRATION_CREDENTIALS_UNAVAILABLE` - INTEGRATION_CREDENTIALS_UNAVAILABLE
12
13
  # * `PROVIDER_ERROR` - PROVIDER_ERROR
13
14
  # * `USER_DEFINED_ERROR` - USER_DEFINED_ERROR
14
15
  # * `WORKFLOW_CANCELLED` - WORKFLOW_CANCELLED
16
+ # * `NODE_CANCELLED` - NODE_CANCELLED
15
17
  # * `NODE_EXECUTION` - NODE_EXECUTION
16
18
  class VellumSdkErrorCodeEnum
17
19
 
@@ -23,9 +25,11 @@ module Vellum
23
25
  INVALID_TEMPLATE = "INVALID_TEMPLATE"
24
26
  INTERNAL_ERROR = "INTERNAL_ERROR"
25
27
  PROVIDER_CREDENTIALS_UNAVAILABLE = "PROVIDER_CREDENTIALS_UNAVAILABLE"
28
+ INTEGRATION_CREDENTIALS_UNAVAILABLE = "INTEGRATION_CREDENTIALS_UNAVAILABLE"
26
29
  PROVIDER_ERROR = "PROVIDER_ERROR"
27
30
  USER_DEFINED_ERROR = "USER_DEFINED_ERROR"
28
31
  WORKFLOW_CANCELLED = "WORKFLOW_CANCELLED"
32
+ NODE_CANCELLED = "NODE_CANCELLED"
29
33
  NODE_EXECUTION = "NODE_EXECUTION"
30
34
 
31
35
  end
@@ -4,9 +4,11 @@ module Vellum
4
4
  # * `WORKFLOW_INITIALIZATION` - WORKFLOW_INITIALIZATION
5
5
  # * `WORKFLOW_CANCELLED` - WORKFLOW_CANCELLED
6
6
  # * `PROVIDER_CREDENTIALS_UNAVAILABLE` - PROVIDER_CREDENTIALS_UNAVAILABLE
7
+ # * `INTEGRATION_CREDENTIALS_UNAVAILABLE` - INTEGRATION_CREDENTIALS_UNAVAILABLE
7
8
  # * `NODE_EXECUTION_COUNT_LIMIT_REACHED` - NODE_EXECUTION_COUNT_LIMIT_REACHED
8
9
  # * `INTERNAL_SERVER_ERROR` - INTERNAL_SERVER_ERROR
9
10
  # * `NODE_EXECUTION` - NODE_EXECUTION
11
+ # * `NODE_CANCELLED` - NODE_CANCELLED
10
12
  # * `LLM_PROVIDER` - LLM_PROVIDER
11
13
  # * `INVALID_TEMPLATE` - INVALID_TEMPLATE
12
14
  # * `INVALID_INPUTS` - INVALID_INPUTS
@@ -16,9 +18,11 @@ module Vellum
16
18
  WORKFLOW_INITIALIZATION = "WORKFLOW_INITIALIZATION"
17
19
  WORKFLOW_CANCELLED = "WORKFLOW_CANCELLED"
18
20
  PROVIDER_CREDENTIALS_UNAVAILABLE = "PROVIDER_CREDENTIALS_UNAVAILABLE"
21
+ INTEGRATION_CREDENTIALS_UNAVAILABLE = "INTEGRATION_CREDENTIALS_UNAVAILABLE"
19
22
  NODE_EXECUTION_COUNT_LIMIT_REACHED = "NODE_EXECUTION_COUNT_LIMIT_REACHED"
20
23
  INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR"
21
24
  NODE_EXECUTION = "NODE_EXECUTION"
25
+ NODE_CANCELLED = "NODE_CANCELLED"
22
26
  LLM_PROVIDER = "LLM_PROVIDER"
23
27
  INVALID_TEMPLATE = "INVALID_TEMPLATE"
24
28
  INVALID_INPUTS = "INVALID_INPUTS"
@@ -9,6 +9,7 @@ require_relative "../types/workflow_deployment_history_item"
9
9
  require_relative "types/list_workflow_release_tags_request_source"
10
10
  require_relative "../types/paginated_workflow_release_tag_read_list"
11
11
  require_relative "../types/workflow_release_tag_read"
12
+ require_relative "../types/paginated_workflow_deployment_release_list"
12
13
  require_relative "../types/workflow_deployment_release"
13
14
  require "async"
14
15
  require "async"
@@ -19,6 +20,7 @@ require "async"
19
20
  require "async"
20
21
  require "async"
21
22
  require "async"
23
+ require "async"
22
24
  require_relative "../../requests"
23
25
 
24
26
  module Vellum
@@ -332,6 +334,44 @@ end
332
334
  end
333
335
  Vellum::WorkflowReleaseTagRead.from_json(json_object: response.body)
334
336
  end
337
+ # List the Releases of the specified Workflow Deployment for the current
338
+ # Environment.
339
+ #
340
+ # @param id [String] Either the Workflow Deployment's ID or its unique name
341
+ # @param limit [Integer] Number of results to return per page.
342
+ # @param offset [Integer] The initial index from which to return the results.
343
+ # @param ordering [String] Which field to use when ordering the results.
344
+ # @param request_options [Vellum::RequestOptions]
345
+ # @return [Vellum::PaginatedWorkflowDeploymentReleaseList]
346
+ # @example
347
+ # api = Vellum::Client.new(
348
+ # base_url: "https://api.example.com",
349
+ # environment: Vellum::Environment::PRODUCTION,
350
+ # api_key: "YOUR_API_KEY"
351
+ # )
352
+ # api.workflow_deployments.list_workflow_deployment_releases(id: "id")
353
+ def list_workflow_deployment_releases(id:, limit: nil, offset: nil, ordering: nil, request_options: nil)
354
+ response = @request_client.conn.get do | req |
355
+ unless request_options&.timeout_in_seconds.nil?
356
+ req.options.timeout = request_options.timeout_in_seconds
357
+ end
358
+ unless request_options&.api_key.nil?
359
+ req.headers["X-API-KEY"] = request_options.api_key
360
+ end
361
+ unless request_options&.api_version.nil?
362
+ req.headers["X-API-Version"] = request_options.api_version
363
+ else
364
+ req.headers["X-API-Version"] = "2025-07-30"
365
+ end
366
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
367
+ req.params = { **(request_options&.additional_query_parameters || {}), "limit": limit, "offset": offset, "ordering": ordering }.compact
368
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
369
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
370
+ end
371
+ req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/workflow-deployments/#{id}/releases"
372
+ end
373
+ Vellum::PaginatedWorkflowDeploymentReleaseList.from_json(json_object: response.body)
374
+ end
335
375
  # Retrieve a specific Workflow Deployment Release by either its UUID or the name
336
376
  # of a Release Tag that points to it.
337
377
  #
@@ -699,6 +739,46 @@ end
699
739
  Vellum::WorkflowReleaseTagRead.from_json(json_object: response.body)
700
740
  end
701
741
  end
742
+ # List the Releases of the specified Workflow Deployment for the current
743
+ # Environment.
744
+ #
745
+ # @param id [String] Either the Workflow Deployment's ID or its unique name
746
+ # @param limit [Integer] Number of results to return per page.
747
+ # @param offset [Integer] The initial index from which to return the results.
748
+ # @param ordering [String] Which field to use when ordering the results.
749
+ # @param request_options [Vellum::RequestOptions]
750
+ # @return [Vellum::PaginatedWorkflowDeploymentReleaseList]
751
+ # @example
752
+ # api = Vellum::Client.new(
753
+ # base_url: "https://api.example.com",
754
+ # environment: Vellum::Environment::PRODUCTION,
755
+ # api_key: "YOUR_API_KEY"
756
+ # )
757
+ # api.workflow_deployments.list_workflow_deployment_releases(id: "id")
758
+ def list_workflow_deployment_releases(id:, limit: nil, offset: nil, ordering: nil, request_options: nil)
759
+ Async do
760
+ response = @request_client.conn.get do | req |
761
+ unless request_options&.timeout_in_seconds.nil?
762
+ req.options.timeout = request_options.timeout_in_seconds
763
+ end
764
+ unless request_options&.api_key.nil?
765
+ req.headers["X-API-KEY"] = request_options.api_key
766
+ end
767
+ unless request_options&.api_version.nil?
768
+ req.headers["X-API-Version"] = request_options.api_version
769
+ else
770
+ req.headers["X-API-Version"] = "2025-07-30"
771
+ end
772
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
773
+ req.params = { **(request_options&.additional_query_parameters || {}), "limit": limit, "offset": offset, "ordering": ordering }.compact
774
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
775
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
776
+ end
777
+ req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/workflow-deployments/#{id}/releases"
778
+ end
779
+ Vellum::PaginatedWorkflowDeploymentReleaseList.from_json(json_object: response.body)
780
+ end
781
+ end
702
782
  # Retrieve a specific Workflow Deployment Release by either its UUID or the name
703
783
  # of a Release Tag that points to it.
704
784
  #
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: 1.7.3
4
+ version: 1.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vellum
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-10-07 00:00:00.000000000 Z
11
+ date: 2025-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -504,6 +504,7 @@ files:
504
504
  - lib/vellum_ai/types/paginated_slim_workflow_deployment_list.rb
505
505
  - lib/vellum_ai/types/paginated_test_suite_run_execution_list.rb
506
506
  - lib/vellum_ai/types/paginated_test_suite_test_case_list.rb
507
+ - lib/vellum_ai/types/paginated_workflow_deployment_release_list.rb
507
508
  - lib/vellum_ai/types/paginated_workflow_release_tag_read_list.rb
508
509
  - lib/vellum_ai/types/paginated_workflow_sandbox_example_list.rb
509
510
  - lib/vellum_ai/types/parent_context.rb