vellum_ai 1.7.13 → 1.7.14

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: 0be34c7b14de70a60b13536b0d988839ea108da6936c554f4b4ed8483d9e2d84
4
- data.tar.gz: f498e3ba1c5fcc0e6cbdf29ccc25d260c516465180d3ae5c410b17cba969a69a
3
+ metadata.gz: 38a73b5c23a3bb027d07020b870879430e109b1dbd5c5207cda7009d4f2a0c30
4
+ data.tar.gz: 42fd482ae369b04197b6817bf55427371169da327c5bd8777bedd7194fb92dc5
5
5
  SHA512:
6
- metadata.gz: c6405068e6b3e493db4dbbea3e37392e1a717105c9cde62637dfa268a11286ae929e5a43d645ddc8bf6a0e166dfa0821c0667f4cab20ccd2d7d978817128e889
7
- data.tar.gz: 64dfc2b13588c2ffe5d693fb2d50e7af8d2c2661f4637c7e223ecda9cad06f71c3e9d07cc0732c4bdd4f86a9b841cbc962df72ee90d3f83dcd20ddc77512d6c5
6
+ metadata.gz: 406b9ffb3b41a9315e1ed28f3262a900a57942e6b6c51e06a2c050ba6549de1b808ee6c4ff20b2f8aab49248aa5b73db304ed89f50ed8073205ee5ed05ba7176
7
+ data.tar.gz: 8580fc1abb3c478f17e4978e2a322ee4765f231e8eab15090dbc599ea849b223929979ec76e6aecb6b3666ff3d8c9007bd642fcec52f47269c53d68edf4d763e
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.13' }
59
+ headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.7.14' }
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.13' }
110
+ headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.7.14' }
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
@@ -121,6 +121,7 @@ require_relative "vellum_ai/types/workflow_execution_resumed_event"
121
121
  require_relative "vellum_ai/types/workflow_execution_snapshotted_event"
122
122
  require_relative "vellum_ai/types/workflow_event"
123
123
  require_relative "vellum_ai/types/create_workflow_event_request"
124
+ require_relative "vellum_ai/types/dataset_row_push_request"
124
125
  require_relative "vellum_ai/types/delimiter_chunker_config"
125
126
  require_relative "vellum_ai/types/delimiter_chunker_config_request"
126
127
  require_relative "vellum_ai/types/delimiter_chunking"
@@ -164,7 +165,9 @@ require_relative "vellum_ai/types/document_vellum_value_request"
164
165
  require_relative "vellum_ai/types/enriched_normalized_completion"
165
166
  require_relative "vellum_ai/types/entity_status"
166
167
  require_relative "vellum_ai/types/entity_visibility"
168
+ require_relative "vellum_ai/types/environment_display_config"
167
169
  require_relative "vellum_ai/types/environment_enum"
170
+ require_relative "vellum_ai/types/environment_read"
168
171
  require_relative "vellum_ai/types/ephemeral_prompt_cache_config"
169
172
  require_relative "vellum_ai/types/ephemeral_prompt_cache_config_type_enum"
170
173
  require_relative "vellum_ai/types/error_detail_response"
@@ -0,0 +1,102 @@
1
+ # frozen_string_literal: true
2
+ require_relative "../../requests"
3
+ require_relative "../types/environment_read"
4
+ require "async"
5
+ require_relative "../../requests"
6
+
7
+ module Vellum
8
+ class EnvironmentsClient
9
+ # @return [Vellum::RequestClient]
10
+ attr_reader :request_client
11
+
12
+
13
+ # @param request_client [Vellum::RequestClient]
14
+ # @return [Vellum::EnvironmentsClient]
15
+ def initialize(request_client:)
16
+ @request_client = request_client
17
+ end
18
+ # Retrieves information about the active Environment
19
+ #
20
+ # @param request_options [Vellum::RequestOptions]
21
+ # @return [Vellum::EnvironmentRead]
22
+ # @example
23
+ # api = Vellum::Client.new(
24
+ # base_url: "https://api.example.com",
25
+ # environment: Vellum::Environment::PRODUCTION,
26
+ # api_key: "YOUR_API_KEY"
27
+ # )
28
+ # api.environments.environment_identity
29
+ def environment_identity(request_options: nil)
30
+ response = @request_client.conn.get do | req |
31
+ unless request_options&.timeout_in_seconds.nil?
32
+ req.options.timeout = request_options.timeout_in_seconds
33
+ end
34
+ unless request_options&.api_key.nil?
35
+ req.headers["X-API-KEY"] = request_options.api_key
36
+ end
37
+ unless request_options&.api_version.nil?
38
+ req.headers["X-API-Version"] = request_options.api_version
39
+ else
40
+ req.headers["X-API-Version"] = "2025-07-30"
41
+ end
42
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
43
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
44
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
45
+ end
46
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
47
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
48
+ end
49
+ req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/environments/identity"
50
+ end
51
+ Vellum::EnvironmentRead.from_json(json_object: response.body)
52
+ end
53
+ end
54
+ class AsyncEnvironmentsClient
55
+ # @return [Vellum::AsyncRequestClient]
56
+ attr_reader :request_client
57
+
58
+
59
+ # @param request_client [Vellum::RequestClient]
60
+ # @return [Vellum::AsyncEnvironmentsClient]
61
+ def initialize(request_client:)
62
+ @request_client = request_client
63
+ end
64
+ # Retrieves information about the active Environment
65
+ #
66
+ # @param request_options [Vellum::RequestOptions]
67
+ # @return [Vellum::EnvironmentRead]
68
+ # @example
69
+ # api = Vellum::Client.new(
70
+ # base_url: "https://api.example.com",
71
+ # environment: Vellum::Environment::PRODUCTION,
72
+ # api_key: "YOUR_API_KEY"
73
+ # )
74
+ # api.environments.environment_identity
75
+ def environment_identity(request_options: nil)
76
+ Async do
77
+ response = @request_client.conn.get do | req |
78
+ unless request_options&.timeout_in_seconds.nil?
79
+ req.options.timeout = request_options.timeout_in_seconds
80
+ end
81
+ unless request_options&.api_key.nil?
82
+ req.headers["X-API-KEY"] = request_options.api_key
83
+ end
84
+ unless request_options&.api_version.nil?
85
+ req.headers["X-API-Version"] = request_options.api_version
86
+ else
87
+ req.headers["X-API-Version"] = "2025-07-30"
88
+ end
89
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
90
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
91
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
92
+ end
93
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
94
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
95
+ end
96
+ req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/environments/identity"
97
+ end
98
+ Vellum::EnvironmentRead.from_json(json_object: response.body)
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Vellum
6
+ class DatasetRowPushRequest
7
+ # @return [String]
8
+ attr_reader :label
9
+ # @return [Hash{String => Object}]
10
+ attr_reader :inputs
11
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
12
+ attr_reader :additional_properties
13
+ # @return [Object]
14
+ attr_reader :_field_set
15
+ protected :_field_set
16
+
17
+ OMIT = Object.new
18
+
19
+ # @param label [String]
20
+ # @param inputs [Hash{String => Object}]
21
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
22
+ # @return [Vellum::DatasetRowPushRequest]
23
+ def initialize(label:, inputs:, additional_properties: nil)
24
+ @label = label
25
+ @inputs = inputs
26
+ @additional_properties = additional_properties
27
+ @_field_set = { "label": label, "inputs": inputs }
28
+ end
29
+ # Deserialize a JSON object to an instance of DatasetRowPushRequest
30
+ #
31
+ # @param json_object [String]
32
+ # @return [Vellum::DatasetRowPushRequest]
33
+ def self.from_json(json_object:)
34
+ struct = JSON.parse(json_object, object_class: OpenStruct)
35
+ parsed_json = JSON.parse(json_object)
36
+ label = parsed_json["label"]
37
+ inputs = parsed_json["inputs"]
38
+ new(
39
+ label: label,
40
+ inputs: inputs,
41
+ additional_properties: struct
42
+ )
43
+ end
44
+ # Serialize an instance of DatasetRowPushRequest to a JSON object
45
+ #
46
+ # @return [String]
47
+ def to_json
48
+ @_field_set&.to_json
49
+ end
50
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
51
+ # hash and check each fields type against the current object's property
52
+ # definitions.
53
+ #
54
+ # @param obj [Object]
55
+ # @return [Void]
56
+ def self.validate_raw(obj:)
57
+ obj.label.is_a?(String) != false || raise("Passed value for field obj.label is not the expected type, validation failed.")
58
+ obj.inputs.is_a?(Hash) != false || raise("Passed value for field obj.inputs is not the expected type, validation failed.")
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Vellum
6
+ class EnvironmentDisplayConfig
7
+ # @return [String]
8
+ attr_reader :color
9
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
10
+ attr_reader :additional_properties
11
+ # @return [Object]
12
+ attr_reader :_field_set
13
+ protected :_field_set
14
+
15
+ OMIT = Object.new
16
+
17
+ # @param color [String]
18
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
19
+ # @return [Vellum::EnvironmentDisplayConfig]
20
+ def initialize(color: OMIT, additional_properties: nil)
21
+ @color = color if color != OMIT
22
+ @additional_properties = additional_properties
23
+ @_field_set = { "color": color }.reject do | _k, v |
24
+ v == OMIT
25
+ end
26
+ end
27
+ # Deserialize a JSON object to an instance of EnvironmentDisplayConfig
28
+ #
29
+ # @param json_object [String]
30
+ # @return [Vellum::EnvironmentDisplayConfig]
31
+ def self.from_json(json_object:)
32
+ struct = JSON.parse(json_object, object_class: OpenStruct)
33
+ parsed_json = JSON.parse(json_object)
34
+ color = parsed_json["color"]
35
+ new(color: color, additional_properties: struct)
36
+ end
37
+ # Serialize an instance of EnvironmentDisplayConfig to a JSON object
38
+ #
39
+ # @return [String]
40
+ def to_json
41
+ @_field_set&.to_json
42
+ end
43
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
44
+ # hash and check each fields type against the current object's property
45
+ # definitions.
46
+ #
47
+ # @param obj [Object]
48
+ # @return [Void]
49
+ def self.validate_raw(obj:)
50
+ obj.color&.is_a?(String) != false || raise("Passed value for field obj.color is not the expected type, validation failed.")
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+ require_relative "environment_display_config"
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module Vellum
7
+ class EnvironmentRead
8
+ # @return [String]
9
+ attr_reader :id
10
+ # @return [String]
11
+ attr_reader :name
12
+ # @return [String]
13
+ attr_reader :label
14
+ # @return [Vellum::EnvironmentDisplayConfig]
15
+ attr_reader :display_config
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 id [String]
25
+ # @param name [String]
26
+ # @param label [String]
27
+ # @param display_config [Vellum::EnvironmentDisplayConfig]
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [Vellum::EnvironmentRead]
30
+ def initialize(id: OMIT, name:, label:, display_config: OMIT, additional_properties: nil)
31
+ @id = id if id != OMIT
32
+ @name = name
33
+ @label = label
34
+ @display_config = display_config if display_config != OMIT
35
+ @additional_properties = additional_properties
36
+ @_field_set = { "id": id, "name": name, "label": label, "display_config": display_config }.reject do | _k, v |
37
+ v == OMIT
38
+ end
39
+ end
40
+ # Deserialize a JSON object to an instance of EnvironmentRead
41
+ #
42
+ # @param json_object [String]
43
+ # @return [Vellum::EnvironmentRead]
44
+ def self.from_json(json_object:)
45
+ struct = JSON.parse(json_object, object_class: OpenStruct)
46
+ parsed_json = JSON.parse(json_object)
47
+ id = parsed_json["id"]
48
+ name = parsed_json["name"]
49
+ label = parsed_json["label"]
50
+ unless parsed_json["display_config"].nil?
51
+ display_config = parsed_json["display_config"].to_json
52
+ display_config = Vellum::EnvironmentDisplayConfig.from_json(json_object: display_config)
53
+ else
54
+ display_config = nil
55
+ end
56
+ new(
57
+ id: id,
58
+ name: name,
59
+ label: label,
60
+ display_config: display_config,
61
+ additional_properties: struct
62
+ )
63
+ end
64
+ # Serialize an instance of EnvironmentRead to a JSON object
65
+ #
66
+ # @return [String]
67
+ def to_json
68
+ @_field_set&.to_json
69
+ end
70
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
71
+ # hash and check each fields type against the current object's property
72
+ # definitions.
73
+ #
74
+ # @param obj [Object]
75
+ # @return [Void]
76
+ def self.validate_raw(obj:)
77
+ obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
78
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
79
+ obj.label.is_a?(String) != false || raise("Passed value for field obj.label is not the expected type, validation failed.")
80
+ obj.display_config.nil? || Vellum::EnvironmentDisplayConfig.validate_raw(obj: obj.display_config)
81
+ end
82
+ end
83
+ end
@@ -5,36 +5,66 @@ module Vellum
5
5
  # * `NOTION` - Notion
6
6
  # * `GOOGLE` - Google
7
7
  # * `CALENDLY` - Calendly
8
+ # * `CANVA` - Canva
8
9
  # * `HUBSPOT` - Hubspot
9
10
  # * `LINEAR` - Linear
11
+ # * `LINKEDIN` - LinkedIn
12
+ # * `MAILCHIMP` - Mailchimp
10
13
  # * `GITHUB` - Github
11
14
  # * `GOOGLE_SHEETS` - Google Sheets
12
15
  # * `GOOGLE_CALENDAR` - Google Calendar
13
16
  # * `GOOGLE_DRIVE` - Google Drive
14
17
  # * `GMAIL` - Gmail
15
18
  # * `AIRTABLE` - Airtable
19
+ # * `ATLASSIAN` - Atlassian
16
20
  # * `GAMMA` - Gamma
21
+ # * `GITLAB` - Gitlab
17
22
  # * `FIRECRAWL` - Firecrawl
23
+ # * `FIGMA` - Figma
24
+ # * `PAGERDUTY` - PagerDuty
18
25
  # * `PERPLEXITY` - Perplexity
26
+ # * `REDDIT` - Reddit
19
27
  # * `SERPAPI` - Serp Api
28
+ # * `SUPABASE` - Supabase
29
+ # * `WEBFLOW` - Webflow
30
+ # * `ZENDESK` - Zendesk
31
+ # * `DROPBOX` - Dropbox
32
+ # * `EVENTBRITE` - Eventbrite
33
+ # * `CONFLUENCE` - Confluence
34
+ # * `DOCUSIGN` - DocuSign
20
35
  class IntegrationName
21
36
 
22
37
  SLACK = "SLACK"
23
38
  NOTION = "NOTION"
24
39
  GOOGLE = "GOOGLE"
25
40
  CALENDLY = "CALENDLY"
41
+ CANVA = "CANVA"
26
42
  HUBSPOT = "HUBSPOT"
27
43
  LINEAR = "LINEAR"
44
+ LINKEDIN = "LINKEDIN"
45
+ MAILCHIMP = "MAILCHIMP"
28
46
  GITHUB = "GITHUB"
29
47
  GOOGLE_SHEETS = "GOOGLE_SHEETS"
30
48
  GOOGLE_CALENDAR = "GOOGLE_CALENDAR"
31
49
  GOOGLE_DRIVE = "GOOGLE_DRIVE"
32
50
  GMAIL = "GMAIL"
33
51
  AIRTABLE = "AIRTABLE"
52
+ ATLASSIAN = "ATLASSIAN"
34
53
  GAMMA = "GAMMA"
54
+ GITLAB = "GITLAB"
35
55
  FIRECRAWL = "FIRECRAWL"
56
+ FIGMA = "FIGMA"
57
+ PAGERDUTY = "PAGERDUTY"
36
58
  PERPLEXITY = "PERPLEXITY"
59
+ REDDIT = "REDDIT"
37
60
  SERPAPI = "SERPAPI"
61
+ SUPABASE = "SUPABASE"
62
+ WEBFLOW = "WEBFLOW"
63
+ ZENDESK = "ZENDESK"
64
+ DROPBOX = "DROPBOX"
65
+ EVENTBRITE = "EVENTBRITE"
66
+ CONFLUENCE = "CONFLUENCE"
67
+ DOCUSIGN = "DOCUSIGN"
38
68
 
39
69
  end
40
70
  end
@@ -4,7 +4,7 @@ require "json"
4
4
 
5
5
  module Vellum
6
6
  class VellumDocument
7
- # @return [String]
7
+ # @return [String] A valid data URL containing the document data.
8
8
  attr_reader :src
9
9
  # @return [Hash{String => Object}]
10
10
  attr_reader :metadata
@@ -16,7 +16,7 @@ module Vellum
16
16
 
17
17
  OMIT = Object.new
18
18
 
19
- # @param src [String]
19
+ # @param src [String] A valid data URL containing the document data.
20
20
  # @param metadata [Hash{String => Object}]
21
21
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
22
22
  # @return [Vellum::VellumDocument]
@@ -4,7 +4,7 @@ require "json"
4
4
 
5
5
  module Vellum
6
6
  class VellumDocumentRequest
7
- # @return [String]
7
+ # @return [String] A valid data URL containing the document data.
8
8
  attr_reader :src
9
9
  # @return [Hash{String => Object}]
10
10
  attr_reader :metadata
@@ -16,7 +16,7 @@ module Vellum
16
16
 
17
17
  OMIT = Object.new
18
18
 
19
- # @param src [String]
19
+ # @param src [String] A valid data URL containing the document data.
20
20
  # @param metadata [Hash{String => Object}]
21
21
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
22
22
  # @return [Vellum::VellumDocumentRequest]
@@ -4,7 +4,7 @@ require "json"
4
4
 
5
5
  module Vellum
6
6
  class VellumImage
7
- # @return [String]
7
+ # @return [String] A valid data URL containing the image data.
8
8
  attr_reader :src
9
9
  # @return [Hash{String => Object}]
10
10
  attr_reader :metadata
@@ -16,7 +16,7 @@ module Vellum
16
16
 
17
17
  OMIT = Object.new
18
18
 
19
- # @param src [String]
19
+ # @param src [String] A valid data URL containing the image data.
20
20
  # @param metadata [Hash{String => Object}]
21
21
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
22
22
  # @return [Vellum::VellumImage]
@@ -4,7 +4,7 @@ require "json"
4
4
 
5
5
  module Vellum
6
6
  class VellumImageRequest
7
- # @return [String]
7
+ # @return [String] A valid data URL containing the image data.
8
8
  attr_reader :src
9
9
  # @return [Hash{String => Object}]
10
10
  attr_reader :metadata
@@ -16,7 +16,7 @@ module Vellum
16
16
 
17
17
  OMIT = Object.new
18
18
 
19
- # @param src [String]
19
+ # @param src [String] A valid data URL containing the image data.
20
20
  # @param metadata [Hash{String => Object}]
21
21
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
22
22
  # @return [Vellum::VellumImageRequest]
@@ -11,6 +11,8 @@ module Vellum
11
11
  attr_reader :outputs
12
12
  # @return [Hash{String => Object}]
13
13
  attr_reader :final_state
14
+ # @return [Hash{String => Object}]
15
+ attr_reader :server_metadata
14
16
  # @return [OpenStruct] Additional properties unmapped to the current class definition
15
17
  attr_reader :additional_properties
16
18
  # @return [Object]
@@ -22,14 +24,16 @@ module Vellum
22
24
  # @param workflow_definition [Vellum::VellumCodeResourceDefinition]
23
25
  # @param outputs [Hash{String => Object}]
24
26
  # @param final_state [Hash{String => Object}]
27
+ # @param server_metadata [Hash{String => Object}]
25
28
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
29
  # @return [Vellum::WorkflowExecutionFulfilledBody]
27
- def initialize(workflow_definition:, outputs:, final_state: OMIT, additional_properties: nil)
30
+ def initialize(workflow_definition:, outputs:, final_state: OMIT, server_metadata: OMIT, additional_properties: nil)
28
31
  @workflow_definition = workflow_definition
29
32
  @outputs = outputs
30
33
  @final_state = final_state if final_state != OMIT
34
+ @server_metadata = server_metadata if server_metadata != OMIT
31
35
  @additional_properties = additional_properties
32
- @_field_set = { "workflow_definition": workflow_definition, "outputs": outputs, "final_state": final_state }.reject do | _k, v |
36
+ @_field_set = { "workflow_definition": workflow_definition, "outputs": outputs, "final_state": final_state, "server_metadata": server_metadata }.reject do | _k, v |
33
37
  v == OMIT
34
38
  end
35
39
  end
@@ -48,10 +52,12 @@ end
48
52
  end
49
53
  outputs = parsed_json["outputs"]
50
54
  final_state = parsed_json["final_state"]
55
+ server_metadata = parsed_json["server_metadata"]
51
56
  new(
52
57
  workflow_definition: workflow_definition,
53
58
  outputs: outputs,
54
59
  final_state: final_state,
60
+ server_metadata: server_metadata,
55
61
  additional_properties: struct
56
62
  )
57
63
  end
@@ -71,6 +77,7 @@ end
71
77
  Vellum::VellumCodeResourceDefinition.validate_raw(obj: obj.workflow_definition)
72
78
  obj.outputs.is_a?(Hash) != false || raise("Passed value for field obj.outputs is not the expected type, validation failed.")
73
79
  obj.final_state&.is_a?(Hash) != false || raise("Passed value for field obj.final_state is not the expected type, validation failed.")
80
+ obj.server_metadata&.is_a?(Hash) != false || raise("Passed value for field obj.server_metadata is not the expected type, validation failed.")
74
81
  end
75
82
  end
76
83
  end
@@ -2,6 +2,7 @@
2
2
  require_relative "../../requests"
3
3
  require_relative "../types/workflow_resolved_state"
4
4
  require_relative "../types/workflow_push_deployment_config_request"
5
+ require_relative "../types/dataset_row_push_request"
5
6
  require_relative "../types/workflow_push_response"
6
7
  require_relative "../../core/file_utilities"
7
8
  require "json"
@@ -105,11 +106,14 @@ end
105
106
  # * :release_tags (Array<String>)
106
107
  # * :release_description (String)
107
108
  # @param artifact [String, IO]
109
+ # @param dataset [Array<Hash>] List of dataset rows with inputs for scenarios.Request of type Array<Vellum::DatasetRowPushRequest>, as a Hash
110
+ # * :label (String)
111
+ # * :inputs (Hash{String => Object})
108
112
  # @param dry_run [Boolean]
109
113
  # @param strict [Boolean]
110
114
  # @param request_options [Vellum::RequestOptions]
111
115
  # @return [Vellum::WorkflowPushResponse]
112
- def push(exec_config:, workflow_sandbox_id: nil, deployment_config: nil, artifact: nil, dry_run: nil, strict: nil, request_options: nil)
116
+ def push(exec_config:, workflow_sandbox_id: nil, deployment_config: nil, artifact: nil, dataset: nil, dry_run: nil, strict: nil, request_options: nil)
113
117
  response = @request_client.conn.post do | req |
114
118
  unless request_options&.timeout_in_seconds.nil?
115
119
  req.options.timeout = request_options.timeout_in_seconds
@@ -128,7 +132,7 @@ end
128
132
  end
129
133
  req.body = { **(request_options&.additional_body_parameters || {}), exec_config: exec_config, workflow_sandbox_id: workflow_sandbox_id, deployment_config: deployment_config, artifact: unless artifact.nil?
130
134
  Vellum::FileUtilities.as_faraday_multipart(file_like: artifact)
131
- end, dry_run: dry_run, strict: strict }.compact
135
+ end, dataset: dataset, dry_run: dry_run, strict: strict }.compact
132
136
  req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/workflows/push"
133
137
  end
134
138
  Vellum::WorkflowPushResponse.from_json(json_object: response.body)
@@ -266,11 +270,14 @@ end
266
270
  # * :release_tags (Array<String>)
267
271
  # * :release_description (String)
268
272
  # @param artifact [String, IO]
273
+ # @param dataset [Array<Hash>] List of dataset rows with inputs for scenarios.Request of type Array<Vellum::DatasetRowPushRequest>, as a Hash
274
+ # * :label (String)
275
+ # * :inputs (Hash{String => Object})
269
276
  # @param dry_run [Boolean]
270
277
  # @param strict [Boolean]
271
278
  # @param request_options [Vellum::RequestOptions]
272
279
  # @return [Vellum::WorkflowPushResponse]
273
- def push(exec_config:, workflow_sandbox_id: nil, deployment_config: nil, artifact: nil, dry_run: nil, strict: nil, request_options: nil)
280
+ def push(exec_config:, workflow_sandbox_id: nil, deployment_config: nil, artifact: nil, dataset: nil, dry_run: nil, strict: nil, request_options: nil)
274
281
  Async do
275
282
  response = @request_client.conn.post do | req |
276
283
  unless request_options&.timeout_in_seconds.nil?
@@ -290,7 +297,7 @@ end
290
297
  end
291
298
  req.body = { **(request_options&.additional_body_parameters || {}), exec_config: exec_config, workflow_sandbox_id: workflow_sandbox_id, deployment_config: deployment_config, artifact: unless artifact.nil?
292
299
  Vellum::FileUtilities.as_faraday_multipart(file_like: artifact)
293
- end, dry_run: dry_run, strict: strict }.compact
300
+ end, dataset: dataset, dry_run: dry_run, strict: strict }.compact
294
301
  req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/workflows/push"
295
302
  end
296
303
  Vellum::WorkflowPushResponse.from_json(json_object: response.body)
data/lib/vellum_ai.rb CHANGED
@@ -10,6 +10,7 @@ require_relative "vellum_ai/container_images/client"
10
10
  require_relative "vellum_ai/deployments/client"
11
11
  require_relative "vellum_ai/document_indexes/client"
12
12
  require_relative "vellum_ai/documents/client"
13
+ require_relative "vellum_ai/environments/client"
13
14
  require_relative "vellum_ai/folder_entities/client"
14
15
  require_relative "vellum_ai/integration_auth_configs/client"
15
16
  require_relative "vellum_ai/integration_providers/client"
@@ -67,6 +68,8 @@ module Vellum
67
68
  attr_reader :document_indexes
68
69
  # @return [Vellum::DocumentsClient]
69
70
  attr_reader :documents
71
+ # @return [Vellum::EnvironmentsClient]
72
+ attr_reader :environments
70
73
  # @return [Vellum::FolderEntitiesClient]
71
74
  attr_reader :folder_entities
72
75
  # @return [Vellum::IntegrationAuthConfigsClient]
@@ -124,6 +127,7 @@ module Vellum
124
127
  @deployments = Vellum::DeploymentsClient.new(request_client: @request_client)
125
128
  @document_indexes = Vellum::DocumentIndexesClient.new(request_client: @request_client)
126
129
  @documents = Vellum::DocumentsClient.new(request_client: @request_client)
130
+ @environments = Vellum::EnvironmentsClient.new(request_client: @request_client)
127
131
  @folder_entities = Vellum::FolderEntitiesClient.new(request_client: @request_client)
128
132
  @integration_auth_configs = Vellum::IntegrationAuthConfigsClient.new(request_client: @request_client)
129
133
  @integration_providers = Vellum::IntegrationProvidersClient.new(request_client: @request_client)
@@ -533,6 +537,8 @@ end
533
537
  attr_reader :document_indexes
534
538
  # @return [Vellum::AsyncDocumentsClient]
535
539
  attr_reader :documents
540
+ # @return [Vellum::AsyncEnvironmentsClient]
541
+ attr_reader :environments
536
542
  # @return [Vellum::AsyncFolderEntitiesClient]
537
543
  attr_reader :folder_entities
538
544
  # @return [Vellum::AsyncIntegrationAuthConfigsClient]
@@ -590,6 +596,7 @@ end
590
596
  @deployments = Vellum::AsyncDeploymentsClient.new(request_client: @async_request_client)
591
597
  @document_indexes = Vellum::AsyncDocumentIndexesClient.new(request_client: @async_request_client)
592
598
  @documents = Vellum::AsyncDocumentsClient.new(request_client: @async_request_client)
599
+ @environments = Vellum::AsyncEnvironmentsClient.new(request_client: @async_request_client)
593
600
  @folder_entities = Vellum::AsyncFolderEntitiesClient.new(request_client: @async_request_client)
594
601
  @integration_auth_configs = Vellum::AsyncIntegrationAuthConfigsClient.new(request_client: @async_request_client)
595
602
  @integration_providers = Vellum::AsyncIntegrationProvidersClient.new(request_client: @async_request_client)
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.13
4
+ version: 1.7.14
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-20 00:00:00.000000000 Z
11
+ date: 2025-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -145,6 +145,7 @@ files:
145
145
  - lib/vellum_ai/document_indexes/client.rb
146
146
  - lib/vellum_ai/document_indexes/types/document_indexes_list_request_status.rb
147
147
  - lib/vellum_ai/documents/client.rb
148
+ - lib/vellum_ai/environments/client.rb
148
149
  - lib/vellum_ai/events/client.rb
149
150
  - lib/vellum_ai/folder_entities/client.rb
150
151
  - lib/vellum_ai/folder_entities/types/folder_entities_list_request_entity_status.rb
@@ -240,6 +241,7 @@ files:
240
241
  - lib/vellum_ai/types/container_image_read.rb
241
242
  - lib/vellum_ai/types/create_test_suite_test_case_request.rb
242
243
  - lib/vellum_ai/types/create_workflow_event_request.rb
244
+ - lib/vellum_ai/types/dataset_row_push_request.rb
243
245
  - lib/vellum_ai/types/delimiter_chunker_config.rb
244
246
  - lib/vellum_ai/types/delimiter_chunker_config_request.rb
245
247
  - lib/vellum_ai/types/delimiter_chunking.rb
@@ -271,7 +273,9 @@ files:
271
273
  - lib/vellum_ai/types/enriched_normalized_completion.rb
272
274
  - lib/vellum_ai/types/entity_status.rb
273
275
  - lib/vellum_ai/types/entity_visibility.rb
276
+ - lib/vellum_ai/types/environment_display_config.rb
274
277
  - lib/vellum_ai/types/environment_enum.rb
278
+ - lib/vellum_ai/types/environment_read.rb
275
279
  - lib/vellum_ai/types/ephemeral_prompt_cache_config.rb
276
280
  - lib/vellum_ai/types/ephemeral_prompt_cache_config_type_enum.rb
277
281
  - lib/vellum_ai/types/error_detail_response.rb