vellum_ai 1.3.8 → 1.3.10

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: 26259e732727a5df9cdb7bc3ec51f5581c280bf3986ebb8afab61a9ece520b41
4
- data.tar.gz: f99bafd15c4f1ac12c1bab6b8eb7d73abac47cfded0593af496ce4352e831534
3
+ metadata.gz: f097ea83d136eefc085c22afcfdf99122c5c6c7d02b48423b352c9bbb11c5f67
4
+ data.tar.gz: 87aadf823d8c9d702d2a8ca950b640f38114fee49df109c4ec814f9da7814858
5
5
  SHA512:
6
- metadata.gz: 73437cb2f4154e0404bdf3e715b15cc0dbe66093e3be887c6e329c98f41900c248bad8c7e09b8ff4837fbe74363f9b11c631e8322badc17ead5b51ff71771082
7
- data.tar.gz: 9348975f773b042f8840fc878a8bdd15567766da639bce1b36e8d453dd2b5b5e5cdce85ec47456836703ad4e90673590e193c69a21cb9b690dc9408629204cdd
6
+ metadata.gz: '08ed801ade2afdd3aecc82fb69e1b90f3148374aa8701ce007c06b54801c8c098760254aca77c1888b92b922eb4b0654b5650ac90e42ba4a4683cd76e0751a52'
7
+ data.tar.gz: be47ff89ec7a538c762bb016a7212e856bd0f0ea3563a74232bd02768a8516f56bba434033db8b96775bf0cebe0ffda69f78d175172287d864065d1e46513826
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.3.8' }
59
+ headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.3.10' }
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.3.8' }
110
+ headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.3.10' }
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
@@ -5,10 +5,12 @@ require "json"
5
5
 
6
6
  module Vellum
7
7
  class VellumError
8
- # @return [String]
9
- attr_reader :message
10
8
  # @return [Vellum::VellumErrorCodeEnum]
11
9
  attr_reader :code
10
+ # @return [String]
11
+ attr_reader :message
12
+ # @return [Hash{String => Object}]
13
+ attr_reader :raw_data
12
14
  # @return [OpenStruct] Additional properties unmapped to the current class definition
13
15
  attr_reader :additional_properties
14
16
  # @return [Object]
@@ -17,15 +19,19 @@ module Vellum
17
19
 
18
20
  OMIT = Object.new
19
21
 
20
- # @param message [String]
21
22
  # @param code [Vellum::VellumErrorCodeEnum]
23
+ # @param message [String]
24
+ # @param raw_data [Hash{String => Object}]
22
25
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
26
  # @return [Vellum::VellumError]
24
- def initialize(message:, code:, additional_properties: nil)
25
- @message = message
27
+ def initialize(code:, message:, raw_data: OMIT, additional_properties: nil)
26
28
  @code = code
29
+ @message = message
30
+ @raw_data = raw_data if raw_data != OMIT
27
31
  @additional_properties = additional_properties
28
- @_field_set = { "message": message, "code": code }
32
+ @_field_set = { "code": code, "message": message, "raw_data": raw_data }.reject do | _k, v |
33
+ v == OMIT
34
+ end
29
35
  end
30
36
  # Deserialize a JSON object to an instance of VellumError
31
37
  #
@@ -34,11 +40,13 @@ module Vellum
34
40
  def self.from_json(json_object:)
35
41
  struct = JSON.parse(json_object, object_class: OpenStruct)
36
42
  parsed_json = JSON.parse(json_object)
37
- message = parsed_json["message"]
38
43
  code = parsed_json["code"]
44
+ message = parsed_json["message"]
45
+ raw_data = parsed_json["raw_data"]
39
46
  new(
40
- message: message,
41
47
  code: code,
48
+ message: message,
49
+ raw_data: raw_data,
42
50
  additional_properties: struct
43
51
  )
44
52
  end
@@ -55,8 +63,9 @@ module Vellum
55
63
  # @param obj [Object]
56
64
  # @return [Void]
57
65
  def self.validate_raw(obj:)
58
- obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
59
66
  obj.code.is_a?(Vellum::VellumErrorCodeEnum) != false || raise("Passed value for field obj.code is not the expected type, validation failed.")
67
+ obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
68
+ obj.raw_data&.is_a?(Hash) != false || raise("Passed value for field obj.raw_data is not the expected type, validation failed.")
60
69
  end
61
70
  end
62
71
  end
@@ -5,10 +5,12 @@ require "json"
5
5
 
6
6
  module Vellum
7
7
  class VellumErrorRequest
8
- # @return [String]
9
- attr_reader :message
10
8
  # @return [Vellum::VellumErrorCodeEnum]
11
9
  attr_reader :code
10
+ # @return [String]
11
+ attr_reader :message
12
+ # @return [Hash{String => Object}]
13
+ attr_reader :raw_data
12
14
  # @return [OpenStruct] Additional properties unmapped to the current class definition
13
15
  attr_reader :additional_properties
14
16
  # @return [Object]
@@ -17,15 +19,19 @@ module Vellum
17
19
 
18
20
  OMIT = Object.new
19
21
 
20
- # @param message [String]
21
22
  # @param code [Vellum::VellumErrorCodeEnum]
23
+ # @param message [String]
24
+ # @param raw_data [Hash{String => Object}]
22
25
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
26
  # @return [Vellum::VellumErrorRequest]
24
- def initialize(message:, code:, additional_properties: nil)
25
- @message = message
27
+ def initialize(code:, message:, raw_data: OMIT, additional_properties: nil)
26
28
  @code = code
29
+ @message = message
30
+ @raw_data = raw_data if raw_data != OMIT
27
31
  @additional_properties = additional_properties
28
- @_field_set = { "message": message, "code": code }
32
+ @_field_set = { "code": code, "message": message, "raw_data": raw_data }.reject do | _k, v |
33
+ v == OMIT
34
+ end
29
35
  end
30
36
  # Deserialize a JSON object to an instance of VellumErrorRequest
31
37
  #
@@ -34,11 +40,13 @@ module Vellum
34
40
  def self.from_json(json_object:)
35
41
  struct = JSON.parse(json_object, object_class: OpenStruct)
36
42
  parsed_json = JSON.parse(json_object)
37
- message = parsed_json["message"]
38
43
  code = parsed_json["code"]
44
+ message = parsed_json["message"]
45
+ raw_data = parsed_json["raw_data"]
39
46
  new(
40
- message: message,
41
47
  code: code,
48
+ message: message,
49
+ raw_data: raw_data,
42
50
  additional_properties: struct
43
51
  )
44
52
  end
@@ -55,8 +63,9 @@ module Vellum
55
63
  # @param obj [Object]
56
64
  # @return [Void]
57
65
  def self.validate_raw(obj:)
58
- obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
59
66
  obj.code.is_a?(Vellum::VellumErrorCodeEnum) != false || raise("Passed value for field obj.code is not the expected type, validation failed.")
67
+ obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
68
+ obj.raw_data&.is_a?(Hash) != false || raise("Passed value for field obj.raw_data is not the expected type, validation failed.")
60
69
  end
61
70
  end
62
71
  end
@@ -3,6 +3,8 @@ require_relative "../../requests"
3
3
  require_relative "../types/workflow_push_deployment_config_request"
4
4
  require_relative "../types/workflow_push_response"
5
5
  require_relative "../../core/file_utilities"
6
+ require "json"
7
+ require "async"
6
8
  require "async"
7
9
  require "async"
8
10
  require_relative "../../requests"
@@ -92,6 +94,41 @@ end, dry_run: dry_run, strict: strict }.compact
92
94
  end
93
95
  Vellum::WorkflowPushResponse.from_json(json_object: response.body)
94
96
  end
97
+ # Serialize files
98
+ #
99
+ # @param files [Hash{String => Object}]
100
+ # @param request_options [Vellum::RequestOptions]
101
+ # @return [Hash{String => Object}]
102
+ # @example
103
+ # api = Vellum::Client.new(
104
+ # base_url: "https://api.example.com",
105
+ # environment: Vellum::Environment::PRODUCTION,
106
+ # api_key: "YOUR_API_KEY"
107
+ # )
108
+ # api.workflows.serialize_workflow_files(files: { "files": {"key":"value"} })
109
+ def serialize_workflow_files(files:, request_options: nil)
110
+ response = @request_client.conn.post do | req |
111
+ unless request_options&.timeout_in_seconds.nil?
112
+ req.options.timeout = request_options.timeout_in_seconds
113
+ end
114
+ unless request_options&.api_key.nil?
115
+ req.headers["X-API-KEY"] = request_options.api_key
116
+ end
117
+ unless request_options&.api_version.nil?
118
+ req.headers["X-API-Version"] = request_options.api_version
119
+ else
120
+ req.headers["X-API-Version"] = "2025-07-30"
121
+ end
122
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
123
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
124
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
125
+ end
126
+ req.body = { **(request_options&.additional_body_parameters || {}), files: files }.compact
127
+ req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/workflows/serialize"
128
+ end
129
+ parsed_json = JSON.parse(response.body)
130
+ parsed_json
131
+ end
95
132
  end
96
133
  class AsyncWorkflowsClient
97
134
  # @return [Vellum::AsyncRequestClient]
@@ -181,5 +218,42 @@ end
181
218
  Vellum::WorkflowPushResponse.from_json(json_object: response.body)
182
219
  end
183
220
  end
221
+ # Serialize files
222
+ #
223
+ # @param files [Hash{String => Object}]
224
+ # @param request_options [Vellum::RequestOptions]
225
+ # @return [Hash{String => Object}]
226
+ # @example
227
+ # api = Vellum::Client.new(
228
+ # base_url: "https://api.example.com",
229
+ # environment: Vellum::Environment::PRODUCTION,
230
+ # api_key: "YOUR_API_KEY"
231
+ # )
232
+ # api.workflows.serialize_workflow_files(files: { "files": {"key":"value"} })
233
+ def serialize_workflow_files(files:, request_options: nil)
234
+ Async do
235
+ response = @request_client.conn.post do | req |
236
+ unless request_options&.timeout_in_seconds.nil?
237
+ req.options.timeout = request_options.timeout_in_seconds
238
+ end
239
+ unless request_options&.api_key.nil?
240
+ req.headers["X-API-KEY"] = request_options.api_key
241
+ end
242
+ unless request_options&.api_version.nil?
243
+ req.headers["X-API-Version"] = request_options.api_version
244
+ else
245
+ req.headers["X-API-Version"] = "2025-07-30"
246
+ end
247
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
248
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
249
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
250
+ end
251
+ req.body = { **(request_options&.additional_body_parameters || {}), files: files }.compact
252
+ req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/workflows/serialize"
253
+ end
254
+ parsed_json = JSON.parse(response.body)
255
+ parsed_json
256
+ end
257
+ end
184
258
  end
185
259
  end
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.3.8
4
+ version: 1.3.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vellum
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-09-09 00:00:00.000000000 Z
11
+ date: 2025-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday