vellum_ai 1.11.15 → 1.11.17

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: 4a79efd9fff830ff696ec52d93c9b908eb87e3c8295b023a99b33b91e798a6c9
4
- data.tar.gz: 69ad3ec153756b16034b738cc0f84b0fc8099babb2d5786865a39a1da97e862e
3
+ metadata.gz: f2da4fbda4d420431f561c390aec43809d3a151a0ee854500a681e1e50fc9f45
4
+ data.tar.gz: b001bdc89c09d9926b256fa57d84b8680733aeb3d3d15f1bdabee92509dd2f12
5
5
  SHA512:
6
- metadata.gz: d7b8f80492b599b4530e534ca227c8e1363264be17f76c8696c3bf8d6bc31d1a4580091e39327e2d34b36815860ae338fb7614ebb7ead4185bb79edfe16e0074
7
- data.tar.gz: 8afbab4be67d84561f5ce6020bf1f5f5e4ee46614f87ce9c49ac3ac1184a2450f557fb3da3684cb088cc83638bf2891571d66ae71d1fb49c3755d71ecaaa8067
6
+ metadata.gz: 6ff9c36b7817c56ccdae170a22a02b876d782a9ebc7bf3cc8b8afc114a2ec62719643e1186b47c8e41a4323516b4abc396af9129aa096a99ace5c1ddd8a19cb8
7
+ data.tar.gz: 87ed6edca1a63becba72bfb8d611b14823be23722347b5216fb7b7cd7ca13fc88ad44c365f5e3d8de286feb3aa4cb9102aa560fd35bb89d853c3626655314420
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.11.15' }
59
+ headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.11.17' }
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.11.15' }
110
+ headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.11.17' }
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
@@ -80,6 +80,7 @@ require_relative "vellum_ai/types/code_execution_node_string_result"
80
80
  require_relative "vellum_ai/types/code_execution_node_search_results_result"
81
81
  require_relative "vellum_ai/types/code_execution_node_result_output"
82
82
  require_relative "vellum_ai/types/code_execution_package"
83
+ require_relative "vellum_ai/types/code_execution_package_request"
83
84
  require_relative "vellum_ai/types/code_execution_runtime"
84
85
  require_relative "vellum_ai/types/string_input"
85
86
  require_relative "vellum_ai/types/json_input"
@@ -1,12 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
  require_relative "../../requests"
3
3
  require_relative "../types/paginated_container_image_read_list"
4
+ require_relative "../types/code_execution_package_request"
4
5
  require_relative "../types/container_image_read"
5
6
  require_relative "../types/docker_service_token"
6
7
  require "async"
7
8
  require "async"
8
9
  require "async"
9
10
  require "async"
11
+ require "async"
12
+ require "async"
10
13
  require_relative "../../requests"
11
14
 
12
15
  module Vellum
@@ -56,6 +59,52 @@ module Vellum
56
59
  end
57
60
  Vellum::PaginatedContainerImageReadList.from_json(json_object: response.body)
58
61
  end
62
+ # Create a new Container Image.
63
+ #
64
+ # @param name [String]
65
+ # @param packages [Array<Hash>] Request of type Array<Vellum::CodeExecutionPackageRequest>, as a Hash
66
+ # * :version (String)
67
+ # * :name (String)
68
+ # * :repository (String)
69
+ # @param tag [String]
70
+ # @param user_script [String]
71
+ # @param is_hotswappable [Boolean]
72
+ # @param server_version [String]
73
+ # @param request_options [Vellum::RequestOptions]
74
+ # @return [Vellum::ContainerImageRead]
75
+ # @example
76
+ # api = Vellum::Client.new(
77
+ # base_url: "https://api.example.com",
78
+ # environment: Vellum::Environment::PRODUCTION,
79
+ # api_key: "YOUR_API_KEY"
80
+ # )
81
+ # api.container_images.create_container_image(
82
+ # name: "x",
83
+ # packages: [{ version: "x", name: "x" }, { version: "x", name: "x" }],
84
+ # tag: "x"
85
+ # )
86
+ def create_container_image(name:, packages:, tag:, user_script: nil, is_hotswappable: nil, server_version: nil, request_options: nil)
87
+ response = @request_client.conn.post do | req |
88
+ unless request_options&.timeout_in_seconds.nil?
89
+ req.options.timeout = request_options.timeout_in_seconds
90
+ end
91
+ unless request_options&.api_key.nil?
92
+ req.headers["X-API-KEY"] = request_options.api_key
93
+ end
94
+ unless request_options&.api_version.nil?
95
+ req.headers["X-API-Version"] = request_options.api_version
96
+ else
97
+ req.headers["X-API-Version"] = "2025-07-30"
98
+ end
99
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
100
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
101
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
102
+ end
103
+ req.body = { **(request_options&.additional_body_parameters || {}), name: name, packages: packages, tag: tag, user_script: user_script, is_hotswappable: is_hotswappable, server_version: server_version }.compact
104
+ req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/container-images"
105
+ end
106
+ Vellum::ContainerImageRead.from_json(json_object: response.body)
107
+ end
59
108
  # Retrieve a Container Image by its ID or name.
60
109
  #
61
110
  # @param id [String] Either the Container Image's ID or its unique name
@@ -89,6 +138,52 @@ end
89
138
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
90
139
  end
91
140
  req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/container-images/#{id}"
141
+ end
142
+ Vellum::ContainerImageRead.from_json(json_object: response.body)
143
+ end
144
+ # Update an existing Container Image.
145
+ #
146
+ # @param id [String] A UUID string identifying this container image.
147
+ # @param packages [Array<Hash>] Request of type Array<Vellum::CodeExecutionPackageRequest>, as a Hash
148
+ # * :version (String)
149
+ # * :name (String)
150
+ # * :repository (String)
151
+ # @param tag [String]
152
+ # @param user_script [String]
153
+ # @param is_hotswappable [Boolean]
154
+ # @param server_version [String]
155
+ # @param request_options [Vellum::RequestOptions]
156
+ # @return [Vellum::ContainerImageRead]
157
+ # @example
158
+ # api = Vellum::Client.new(
159
+ # base_url: "https://api.example.com",
160
+ # environment: Vellum::Environment::PRODUCTION,
161
+ # api_key: "YOUR_API_KEY"
162
+ # )
163
+ # api.container_images.update_container_image(
164
+ # id: "id",
165
+ # packages: [{ version: "x", name: "x" }, { version: "x", name: "x" }],
166
+ # tag: "x"
167
+ # )
168
+ def update_container_image(id:, packages:, tag:, user_script: nil, is_hotswappable: nil, server_version: nil, request_options: nil)
169
+ response = @request_client.conn.put do | req |
170
+ unless request_options&.timeout_in_seconds.nil?
171
+ req.options.timeout = request_options.timeout_in_seconds
172
+ end
173
+ unless request_options&.api_key.nil?
174
+ req.headers["X-API-KEY"] = request_options.api_key
175
+ end
176
+ unless request_options&.api_version.nil?
177
+ req.headers["X-API-Version"] = request_options.api_version
178
+ else
179
+ req.headers["X-API-Version"] = "2025-07-30"
180
+ end
181
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
182
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
183
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
184
+ end
185
+ req.body = { **(request_options&.additional_body_parameters || {}), packages: packages, tag: tag, user_script: user_script, is_hotswappable: is_hotswappable, server_version: server_version }.compact
186
+ req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/container-images/#{id}"
92
187
  end
93
188
  Vellum::ContainerImageRead.from_json(json_object: response.body)
94
189
  end
@@ -213,6 +308,54 @@ end
213
308
  Vellum::PaginatedContainerImageReadList.from_json(json_object: response.body)
214
309
  end
215
310
  end
311
+ # Create a new Container Image.
312
+ #
313
+ # @param name [String]
314
+ # @param packages [Array<Hash>] Request of type Array<Vellum::CodeExecutionPackageRequest>, as a Hash
315
+ # * :version (String)
316
+ # * :name (String)
317
+ # * :repository (String)
318
+ # @param tag [String]
319
+ # @param user_script [String]
320
+ # @param is_hotswappable [Boolean]
321
+ # @param server_version [String]
322
+ # @param request_options [Vellum::RequestOptions]
323
+ # @return [Vellum::ContainerImageRead]
324
+ # @example
325
+ # api = Vellum::Client.new(
326
+ # base_url: "https://api.example.com",
327
+ # environment: Vellum::Environment::PRODUCTION,
328
+ # api_key: "YOUR_API_KEY"
329
+ # )
330
+ # api.container_images.create_container_image(
331
+ # name: "x",
332
+ # packages: [{ version: "x", name: "x" }, { version: "x", name: "x" }],
333
+ # tag: "x"
334
+ # )
335
+ def create_container_image(name:, packages:, tag:, user_script: nil, is_hotswappable: nil, server_version: nil, request_options: nil)
336
+ Async do
337
+ response = @request_client.conn.post do | req |
338
+ unless request_options&.timeout_in_seconds.nil?
339
+ req.options.timeout = request_options.timeout_in_seconds
340
+ end
341
+ unless request_options&.api_key.nil?
342
+ req.headers["X-API-KEY"] = request_options.api_key
343
+ end
344
+ unless request_options&.api_version.nil?
345
+ req.headers["X-API-Version"] = request_options.api_version
346
+ else
347
+ req.headers["X-API-Version"] = "2025-07-30"
348
+ end
349
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
350
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
351
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
352
+ end
353
+ req.body = { **(request_options&.additional_body_parameters || {}), name: name, packages: packages, tag: tag, user_script: user_script, is_hotswappable: is_hotswappable, server_version: server_version }.compact
354
+ req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/container-images"
355
+ end
356
+ Vellum::ContainerImageRead.from_json(json_object: response.body)
357
+ end
358
+ end
216
359
  # Retrieve a Container Image by its ID or name.
217
360
  #
218
361
  # @param id [String] Either the Container Image's ID or its unique name
@@ -247,6 +390,54 @@ end
247
390
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
248
391
  end
249
392
  req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/container-images/#{id}"
393
+ end
394
+ Vellum::ContainerImageRead.from_json(json_object: response.body)
395
+ end
396
+ end
397
+ # Update an existing Container Image.
398
+ #
399
+ # @param id [String] A UUID string identifying this container image.
400
+ # @param packages [Array<Hash>] Request of type Array<Vellum::CodeExecutionPackageRequest>, as a Hash
401
+ # * :version (String)
402
+ # * :name (String)
403
+ # * :repository (String)
404
+ # @param tag [String]
405
+ # @param user_script [String]
406
+ # @param is_hotswappable [Boolean]
407
+ # @param server_version [String]
408
+ # @param request_options [Vellum::RequestOptions]
409
+ # @return [Vellum::ContainerImageRead]
410
+ # @example
411
+ # api = Vellum::Client.new(
412
+ # base_url: "https://api.example.com",
413
+ # environment: Vellum::Environment::PRODUCTION,
414
+ # api_key: "YOUR_API_KEY"
415
+ # )
416
+ # api.container_images.update_container_image(
417
+ # id: "id",
418
+ # packages: [{ version: "x", name: "x" }, { version: "x", name: "x" }],
419
+ # tag: "x"
420
+ # )
421
+ def update_container_image(id:, packages:, tag:, user_script: nil, is_hotswappable: nil, server_version: nil, request_options: nil)
422
+ Async do
423
+ response = @request_client.conn.put do | req |
424
+ unless request_options&.timeout_in_seconds.nil?
425
+ req.options.timeout = request_options.timeout_in_seconds
426
+ end
427
+ unless request_options&.api_key.nil?
428
+ req.headers["X-API-KEY"] = request_options.api_key
429
+ end
430
+ unless request_options&.api_version.nil?
431
+ req.headers["X-API-Version"] = request_options.api_version
432
+ else
433
+ req.headers["X-API-Version"] = "2025-07-30"
434
+ end
435
+ req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
436
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
437
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
438
+ end
439
+ req.body = { **(request_options&.additional_body_parameters || {}), packages: packages, tag: tag, user_script: user_script, is_hotswappable: is_hotswappable, server_version: server_version }.compact
440
+ req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/container-images/#{id}"
250
441
  end
251
442
  Vellum::ContainerImageRead.from_json(json_object: response.body)
252
443
  end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+ require "ostruct"
3
+ require "json"
4
+
5
+ module Vellum
6
+ class CodeExecutionPackageRequest
7
+ # @return [String]
8
+ attr_reader :version
9
+ # @return [String]
10
+ attr_reader :name
11
+ # @return [String]
12
+ attr_reader :repository
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
18
+
19
+ OMIT = Object.new
20
+
21
+ # @param version [String]
22
+ # @param name [String]
23
+ # @param repository [String]
24
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
25
+ # @return [Vellum::CodeExecutionPackageRequest]
26
+ def initialize(version:, name:, repository: OMIT, additional_properties: nil)
27
+ @version = version
28
+ @name = name
29
+ @repository = repository if repository != OMIT
30
+ @additional_properties = additional_properties
31
+ @_field_set = { "version": version, "name": name, "repository": repository }.reject do | _k, v |
32
+ v == OMIT
33
+ end
34
+ end
35
+ # Deserialize a JSON object to an instance of CodeExecutionPackageRequest
36
+ #
37
+ # @param json_object [String]
38
+ # @return [Vellum::CodeExecutionPackageRequest]
39
+ def self.from_json(json_object:)
40
+ struct = JSON.parse(json_object, object_class: OpenStruct)
41
+ parsed_json = JSON.parse(json_object)
42
+ version = parsed_json["version"]
43
+ name = parsed_json["name"]
44
+ repository = parsed_json["repository"]
45
+ new(
46
+ version: version,
47
+ name: name,
48
+ repository: repository,
49
+ additional_properties: struct
50
+ )
51
+ end
52
+ # Serialize an instance of CodeExecutionPackageRequest to a JSON object
53
+ #
54
+ # @return [String]
55
+ def to_json
56
+ @_field_set&.to_json
57
+ end
58
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
59
+ # hash and check each fields type against the current object's property
60
+ # definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ obj.version.is_a?(String) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
66
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
67
+ obj.repository&.is_a?(String) != false || raise("Passed value for field obj.repository is not the expected type, validation failed.")
68
+ end
69
+ end
70
+ end
@@ -9,6 +9,8 @@ module Vellum
9
9
  attr_reader :name
10
10
  # @return [DateTime]
11
11
  attr_reader :modified
12
+ # @return [String]
13
+ attr_reader :history_item_sha
12
14
  # @return [OpenStruct] Additional properties unmapped to the current class definition
13
15
  attr_reader :additional_properties
14
16
  # @return [Object]
@@ -19,13 +21,17 @@ module Vellum
19
21
 
20
22
  # @param name [String]
21
23
  # @param modified [DateTime]
24
+ # @param history_item_sha [String]
22
25
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
26
  # @return [Vellum::ContainerImageContainerImageTag]
24
- def initialize(name:, modified:, additional_properties: nil)
27
+ def initialize(name:, modified:, history_item_sha: OMIT, additional_properties: nil)
25
28
  @name = name
26
29
  @modified = modified
30
+ @history_item_sha = history_item_sha if history_item_sha != OMIT
27
31
  @additional_properties = additional_properties
28
- @_field_set = { "name": name, "modified": modified }
32
+ @_field_set = { "name": name, "modified": modified, "history_item_sha": history_item_sha }.reject do | _k, v |
33
+ v == OMIT
34
+ end
29
35
  end
30
36
  # Deserialize a JSON object to an instance of ContainerImageContainerImageTag
31
37
  #
@@ -40,9 +46,11 @@ module Vellum
40
46
  else
41
47
  nil
42
48
  end
49
+ history_item_sha = parsed_json["history_item_sha"]
43
50
  new(
44
51
  name: name,
45
52
  modified: modified,
53
+ history_item_sha: history_item_sha,
46
54
  additional_properties: struct
47
55
  )
48
56
  end
@@ -61,6 +69,7 @@ end
61
69
  def self.validate_raw(obj:)
62
70
  obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
63
71
  obj.modified.is_a?(DateTime) != false || raise("Passed value for field obj.modified is not the expected type, validation failed.")
72
+ obj.history_item_sha&.is_a?(String) != false || raise("Passed value for field obj.history_item_sha is not the expected type, validation failed.")
64
73
  end
65
74
  end
66
75
  end
@@ -52,6 +52,7 @@ module Vellum
52
52
  # * `EXA` - Exa
53
53
  # * `GAMMA` - Gamma
54
54
  # * `GITLAB` - Gitlab
55
+ # * `GONG` - Gong
55
56
  # * `FIRECRAWL` - Firecrawl
56
57
  # * `FIGMA` - Figma
57
58
  # * `FIREFLIES` - Fireflies
@@ -148,6 +149,7 @@ module Vellum
148
149
  EXA = "EXA"
149
150
  GAMMA = "GAMMA"
150
151
  GITLAB = "GITLAB"
152
+ GONG = "GONG"
151
153
  FIRECRAWL = "FIRECRAWL"
152
154
  FIGMA = "FIGMA"
153
155
  FIREFLIES = "FIREFLIES"
@@ -98,7 +98,8 @@ end
98
98
  end
99
99
  Vellum::WorkflowResolvedState.from_json(json_object: response.body)
100
100
  end
101
- # @param exec_config [String] The execution configuration of the workflow.
101
+ # @param exec_config [String] The execution configuration of the workflow. If not provided, it will be derived
102
+ # from the artifact.
102
103
  # @param workflow_sandbox_id [String]
103
104
  # @param deployment_config [Hash] Request of type Vellum::WorkflowPushDeploymentConfigRequest, as a Hash
104
105
  # * :label (String)
@@ -115,7 +116,7 @@ end
115
116
  # @param strict [Boolean]
116
117
  # @param request_options [Vellum::RequestOptions]
117
118
  # @return [Vellum::WorkflowPushResponse]
118
- def push(exec_config:, workflow_sandbox_id: nil, deployment_config: nil, artifact: nil, dataset: nil, dry_run: nil, strict: nil, request_options: nil)
119
+ def push(exec_config: nil, workflow_sandbox_id: nil, deployment_config: nil, artifact: nil, dataset: nil, dry_run: nil, strict: nil, request_options: nil)
119
120
  response = @request_client.conn.post do | req |
120
121
  unless request_options&.timeout_in_seconds.nil?
121
122
  req.options.timeout = request_options.timeout_in_seconds
@@ -271,7 +272,8 @@ end
271
272
  Vellum::WorkflowResolvedState.from_json(json_object: response.body)
272
273
  end
273
274
  end
274
- # @param exec_config [String] The execution configuration of the workflow.
275
+ # @param exec_config [String] The execution configuration of the workflow. If not provided, it will be derived
276
+ # from the artifact.
275
277
  # @param workflow_sandbox_id [String]
276
278
  # @param deployment_config [Hash] Request of type Vellum::WorkflowPushDeploymentConfigRequest, as a Hash
277
279
  # * :label (String)
@@ -288,7 +290,7 @@ end
288
290
  # @param strict [Boolean]
289
291
  # @param request_options [Vellum::RequestOptions]
290
292
  # @return [Vellum::WorkflowPushResponse]
291
- def push(exec_config:, workflow_sandbox_id: nil, deployment_config: nil, artifact: nil, dataset: nil, dry_run: nil, strict: nil, request_options: nil)
293
+ def push(exec_config: nil, workflow_sandbox_id: nil, deployment_config: nil, artifact: nil, dataset: nil, dry_run: nil, strict: nil, request_options: nil)
292
294
  Async do
293
295
  response = @request_client.conn.post do | req |
294
296
  unless request_options&.timeout_in_seconds.nil?
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.11.15
4
+ version: 1.11.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vellum
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-12-09 00:00:00.000000000 Z
11
+ date: 2025-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -215,6 +215,7 @@ files:
215
215
  - lib/vellum_ai/types/code_execution_node_search_results_result.rb
216
216
  - lib/vellum_ai/types/code_execution_node_string_result.rb
217
217
  - lib/vellum_ai/types/code_execution_package.rb
218
+ - lib/vellum_ai/types/code_execution_package_request.rb
218
219
  - lib/vellum_ai/types/code_execution_runtime.rb
219
220
  - lib/vellum_ai/types/code_executor_input.rb
220
221
  - lib/vellum_ai/types/code_executor_response.rb