vellum_ai 1.10.4 → 1.10.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 +4 -4
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +1 -0
- data/lib/vellum_ai/types/uploaded_file_read.rb +64 -0
- data/lib/vellum_ai/uploaded_files/client.rb +162 -0
- data/lib/vellum_ai.rb +7 -0
- metadata +4 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2d9d3a074bed53cbb7cf976508e41cffdc3737ee980f0930be1ebc92055b09df
|
|
4
|
+
data.tar.gz: a0315a68ac585bcc37fcb9b7fb68556f0ec5efa6a9fd9ac79fdec0cc87a87aec
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5e85af35c343a5dc0e9c10e716ae9c0a0988fcacd4931a6ce57ec092311b9f5b6038af53f175ce6fdbc0af189d29fc8d4c227c6beed12b1bcaf9f742d4b3054c
|
|
7
|
+
data.tar.gz: 5e5279482d64437e18ffecd3173faf3fb78448028e751c1a7e9b994d65bd24ceb39e1a55a253a3c34c60d3d36ac7b535cdfaa08df8c364ffe33e43c9f96890b3
|
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.10.
|
|
59
|
+
headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.10.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.10.
|
|
110
|
+
headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.10.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
|
@@ -605,6 +605,7 @@ require_relative "vellum_ai/types/components_schemas_composio_tool_definition"
|
|
|
605
605
|
require_relative "vellum_ai/types/unit_enum"
|
|
606
606
|
require_relative "vellum_ai/types/update_active_workspace_response"
|
|
607
607
|
require_relative "vellum_ai/types/upload_document_response"
|
|
608
|
+
require_relative "vellum_ai/types/uploaded_file_read"
|
|
608
609
|
require_relative "vellum_ai/types/upsert_test_suite_test_case_request"
|
|
609
610
|
require_relative "vellum_ai/types/vellum_audio"
|
|
610
611
|
require_relative "vellum_ai/types/vellum_audio_request"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "ostruct"
|
|
3
|
+
require "json"
|
|
4
|
+
|
|
5
|
+
module Vellum
|
|
6
|
+
# Represents a file that has been uploaded to a Vellum Workspace.
|
|
7
|
+
class UploadedFileRead
|
|
8
|
+
# @return [String]
|
|
9
|
+
attr_reader :id
|
|
10
|
+
# @return [String] A signed URL to download the uploaded file.
|
|
11
|
+
attr_reader :file_url
|
|
12
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
|
13
|
+
attr_reader :additional_properties
|
|
14
|
+
# @return [Object]
|
|
15
|
+
attr_reader :_field_set
|
|
16
|
+
protected :_field_set
|
|
17
|
+
|
|
18
|
+
OMIT = Object.new
|
|
19
|
+
|
|
20
|
+
# @param id [String]
|
|
21
|
+
# @param file_url [String] A signed URL to download the uploaded file.
|
|
22
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
|
23
|
+
# @return [Vellum::UploadedFileRead]
|
|
24
|
+
def initialize(id: OMIT, file_url: OMIT, additional_properties: nil)
|
|
25
|
+
@id = id if id != OMIT
|
|
26
|
+
@file_url = file_url if file_url != OMIT
|
|
27
|
+
@additional_properties = additional_properties
|
|
28
|
+
@_field_set = { "id": id, "file_url": file_url }.reject do | _k, v |
|
|
29
|
+
v == OMIT
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
# Deserialize a JSON object to an instance of UploadedFileRead
|
|
33
|
+
#
|
|
34
|
+
# @param json_object [String]
|
|
35
|
+
# @return [Vellum::UploadedFileRead]
|
|
36
|
+
def self.from_json(json_object:)
|
|
37
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
|
38
|
+
parsed_json = JSON.parse(json_object)
|
|
39
|
+
id = parsed_json["id"]
|
|
40
|
+
file_url = parsed_json["file_url"]
|
|
41
|
+
new(
|
|
42
|
+
id: id,
|
|
43
|
+
file_url: file_url,
|
|
44
|
+
additional_properties: struct
|
|
45
|
+
)
|
|
46
|
+
end
|
|
47
|
+
# Serialize an instance of UploadedFileRead to a JSON object
|
|
48
|
+
#
|
|
49
|
+
# @return [String]
|
|
50
|
+
def to_json
|
|
51
|
+
@_field_set&.to_json
|
|
52
|
+
end
|
|
53
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
|
54
|
+
# hash and check each fields type against the current object's property
|
|
55
|
+
# definitions.
|
|
56
|
+
#
|
|
57
|
+
# @param obj [Object]
|
|
58
|
+
# @return [Void]
|
|
59
|
+
def self.validate_raw(obj:)
|
|
60
|
+
obj.id&.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
|
|
61
|
+
obj.file_url&.is_a?(String) != false || raise("Passed value for field obj.file_url is not the expected type, validation failed.")
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require_relative "../../requests"
|
|
3
|
+
require_relative "../types/uploaded_file_read"
|
|
4
|
+
require_relative "../../core/file_utilities"
|
|
5
|
+
require "async"
|
|
6
|
+
require "async"
|
|
7
|
+
require_relative "../../requests"
|
|
8
|
+
|
|
9
|
+
module Vellum
|
|
10
|
+
class UploadedFilesClient
|
|
11
|
+
# @return [Vellum::RequestClient]
|
|
12
|
+
attr_reader :request_client
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
# @param request_client [Vellum::RequestClient]
|
|
16
|
+
# @return [Vellum::UploadedFilesClient]
|
|
17
|
+
def initialize(request_client:)
|
|
18
|
+
@request_client = request_client
|
|
19
|
+
end
|
|
20
|
+
# Upload a file to be used in the Workspace
|
|
21
|
+
#
|
|
22
|
+
# @param file [String, IO]
|
|
23
|
+
# @param request_options [Vellum::RequestOptions]
|
|
24
|
+
# @return [Vellum::UploadedFileRead]
|
|
25
|
+
def create(file:, request_options: nil)
|
|
26
|
+
response = @request_client.conn.post do | req |
|
|
27
|
+
unless request_options&.timeout_in_seconds.nil?
|
|
28
|
+
req.options.timeout = request_options.timeout_in_seconds
|
|
29
|
+
end
|
|
30
|
+
unless request_options&.api_key.nil?
|
|
31
|
+
req.headers["X-API-KEY"] = request_options.api_key
|
|
32
|
+
end
|
|
33
|
+
unless request_options&.api_version.nil?
|
|
34
|
+
req.headers["X-API-Version"] = request_options.api_version
|
|
35
|
+
else
|
|
36
|
+
req.headers["X-API-Version"] = "2025-07-30"
|
|
37
|
+
end
|
|
38
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
|
39
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
40
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
41
|
+
end
|
|
42
|
+
req.body = { **(request_options&.additional_body_parameters || {}), file: Vellum::FileUtilities.as_faraday_multipart(file_like: file) }.compact
|
|
43
|
+
req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/uploaded-files"
|
|
44
|
+
end
|
|
45
|
+
Vellum::UploadedFileRead.from_json(json_object: response.body)
|
|
46
|
+
end
|
|
47
|
+
# Retrieve a previously uploaded file by its ID
|
|
48
|
+
#
|
|
49
|
+
# @param id [String] A UUID string identifying this uploaded file.
|
|
50
|
+
# @param request_options [Vellum::RequestOptions]
|
|
51
|
+
# @return [Vellum::UploadedFileRead]
|
|
52
|
+
# @example
|
|
53
|
+
# api = Vellum::Client.new(
|
|
54
|
+
# base_url: "https://api.example.com",
|
|
55
|
+
# environment: Vellum::Environment::PRODUCTION,
|
|
56
|
+
# api_key: "YOUR_API_KEY"
|
|
57
|
+
# )
|
|
58
|
+
# api.uploaded_files.retrieve(id: "id")
|
|
59
|
+
def retrieve(id:, request_options: nil)
|
|
60
|
+
response = @request_client.conn.get do | req |
|
|
61
|
+
unless request_options&.timeout_in_seconds.nil?
|
|
62
|
+
req.options.timeout = request_options.timeout_in_seconds
|
|
63
|
+
end
|
|
64
|
+
unless request_options&.api_key.nil?
|
|
65
|
+
req.headers["X-API-KEY"] = request_options.api_key
|
|
66
|
+
end
|
|
67
|
+
unless request_options&.api_version.nil?
|
|
68
|
+
req.headers["X-API-Version"] = request_options.api_version
|
|
69
|
+
else
|
|
70
|
+
req.headers["X-API-Version"] = "2025-07-30"
|
|
71
|
+
end
|
|
72
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
|
73
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
74
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
75
|
+
end
|
|
76
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
77
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
78
|
+
end
|
|
79
|
+
req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/uploaded-files/#{id}"
|
|
80
|
+
end
|
|
81
|
+
Vellum::UploadedFileRead.from_json(json_object: response.body)
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
class AsyncUploadedFilesClient
|
|
85
|
+
# @return [Vellum::AsyncRequestClient]
|
|
86
|
+
attr_reader :request_client
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
# @param request_client [Vellum::RequestClient]
|
|
90
|
+
# @return [Vellum::AsyncUploadedFilesClient]
|
|
91
|
+
def initialize(request_client:)
|
|
92
|
+
@request_client = request_client
|
|
93
|
+
end
|
|
94
|
+
# Upload a file to be used in the Workspace
|
|
95
|
+
#
|
|
96
|
+
# @param file [String, IO]
|
|
97
|
+
# @param request_options [Vellum::RequestOptions]
|
|
98
|
+
# @return [Vellum::UploadedFileRead]
|
|
99
|
+
def create(file:, request_options: nil)
|
|
100
|
+
Async do
|
|
101
|
+
response = @request_client.conn.post do | req |
|
|
102
|
+
unless request_options&.timeout_in_seconds.nil?
|
|
103
|
+
req.options.timeout = request_options.timeout_in_seconds
|
|
104
|
+
end
|
|
105
|
+
unless request_options&.api_key.nil?
|
|
106
|
+
req.headers["X-API-KEY"] = request_options.api_key
|
|
107
|
+
end
|
|
108
|
+
unless request_options&.api_version.nil?
|
|
109
|
+
req.headers["X-API-Version"] = request_options.api_version
|
|
110
|
+
else
|
|
111
|
+
req.headers["X-API-Version"] = "2025-07-30"
|
|
112
|
+
end
|
|
113
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
|
114
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
115
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
116
|
+
end
|
|
117
|
+
req.body = { **(request_options&.additional_body_parameters || {}), file: Vellum::FileUtilities.as_faraday_multipart(file_like: file) }.compact
|
|
118
|
+
req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/uploaded-files"
|
|
119
|
+
end
|
|
120
|
+
Vellum::UploadedFileRead.from_json(json_object: response.body)
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
# Retrieve a previously uploaded file by its ID
|
|
124
|
+
#
|
|
125
|
+
# @param id [String] A UUID string identifying this uploaded file.
|
|
126
|
+
# @param request_options [Vellum::RequestOptions]
|
|
127
|
+
# @return [Vellum::UploadedFileRead]
|
|
128
|
+
# @example
|
|
129
|
+
# api = Vellum::Client.new(
|
|
130
|
+
# base_url: "https://api.example.com",
|
|
131
|
+
# environment: Vellum::Environment::PRODUCTION,
|
|
132
|
+
# api_key: "YOUR_API_KEY"
|
|
133
|
+
# )
|
|
134
|
+
# api.uploaded_files.retrieve(id: "id")
|
|
135
|
+
def retrieve(id:, request_options: nil)
|
|
136
|
+
Async do
|
|
137
|
+
response = @request_client.conn.get do | req |
|
|
138
|
+
unless request_options&.timeout_in_seconds.nil?
|
|
139
|
+
req.options.timeout = request_options.timeout_in_seconds
|
|
140
|
+
end
|
|
141
|
+
unless request_options&.api_key.nil?
|
|
142
|
+
req.headers["X-API-KEY"] = request_options.api_key
|
|
143
|
+
end
|
|
144
|
+
unless request_options&.api_version.nil?
|
|
145
|
+
req.headers["X-API-Version"] = request_options.api_version
|
|
146
|
+
else
|
|
147
|
+
req.headers["X-API-Version"] = "2025-07-30"
|
|
148
|
+
end
|
|
149
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
|
150
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
|
151
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
|
152
|
+
end
|
|
153
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
|
154
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
|
155
|
+
end
|
|
156
|
+
req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/uploaded-files/#{id}"
|
|
157
|
+
end
|
|
158
|
+
Vellum::UploadedFileRead.from_json(json_object: response.body)
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
end
|
data/lib/vellum_ai.rb
CHANGED
|
@@ -21,6 +21,7 @@ require_relative "vellum_ai/prompts/client"
|
|
|
21
21
|
require_relative "vellum_ai/sandboxes/client"
|
|
22
22
|
require_relative "vellum_ai/test_suite_runs/client"
|
|
23
23
|
require_relative "vellum_ai/test_suites/client"
|
|
24
|
+
require_relative "vellum_ai/uploaded_files/client"
|
|
24
25
|
require_relative "vellum_ai/workflow_deployments/client"
|
|
25
26
|
require_relative "vellum_ai/workflow_executions/client"
|
|
26
27
|
require_relative "vellum_ai/workflow_sandboxes/client"
|
|
@@ -90,6 +91,8 @@ module Vellum
|
|
|
90
91
|
attr_reader :test_suite_runs
|
|
91
92
|
# @return [Vellum::TestSuitesClient]
|
|
92
93
|
attr_reader :test_suites
|
|
94
|
+
# @return [Vellum::UploadedFilesClient]
|
|
95
|
+
attr_reader :uploaded_files
|
|
93
96
|
# @return [Vellum::WorkflowDeploymentsClient]
|
|
94
97
|
attr_reader :workflow_deployments
|
|
95
98
|
# @return [Vellum::WorkflowExecutionsClient]
|
|
@@ -138,6 +141,7 @@ module Vellum
|
|
|
138
141
|
@sandboxes = Vellum::SandboxesClient.new(request_client: @request_client)
|
|
139
142
|
@test_suite_runs = Vellum::TestSuiteRunsClient.new(request_client: @request_client)
|
|
140
143
|
@test_suites = Vellum::TestSuitesClient.new(request_client: @request_client)
|
|
144
|
+
@uploaded_files = Vellum::UploadedFilesClient.new(request_client: @request_client)
|
|
141
145
|
@workflow_deployments = Vellum::WorkflowDeploymentsClient.new(request_client: @request_client)
|
|
142
146
|
@workflow_executions = Vellum::WorkflowExecutionsClient.new(request_client: @request_client)
|
|
143
147
|
@workflow_sandboxes = Vellum::WorkflowSandboxesClient.new(request_client: @request_client)
|
|
@@ -559,6 +563,8 @@ end
|
|
|
559
563
|
attr_reader :test_suite_runs
|
|
560
564
|
# @return [Vellum::AsyncTestSuitesClient]
|
|
561
565
|
attr_reader :test_suites
|
|
566
|
+
# @return [Vellum::AsyncUploadedFilesClient]
|
|
567
|
+
attr_reader :uploaded_files
|
|
562
568
|
# @return [Vellum::AsyncWorkflowDeploymentsClient]
|
|
563
569
|
attr_reader :workflow_deployments
|
|
564
570
|
# @return [Vellum::AsyncWorkflowExecutionsClient]
|
|
@@ -607,6 +613,7 @@ end
|
|
|
607
613
|
@sandboxes = Vellum::AsyncSandboxesClient.new(request_client: @async_request_client)
|
|
608
614
|
@test_suite_runs = Vellum::AsyncTestSuiteRunsClient.new(request_client: @async_request_client)
|
|
609
615
|
@test_suites = Vellum::AsyncTestSuitesClient.new(request_client: @async_request_client)
|
|
616
|
+
@uploaded_files = Vellum::AsyncUploadedFilesClient.new(request_client: @async_request_client)
|
|
610
617
|
@workflow_deployments = Vellum::AsyncWorkflowDeploymentsClient.new(request_client: @async_request_client)
|
|
611
618
|
@workflow_executions = Vellum::AsyncWorkflowExecutionsClient.new(request_client: @async_request_client)
|
|
612
619
|
@workflow_sandboxes = Vellum::AsyncWorkflowSandboxesClient.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.10.
|
|
4
|
+
version: 1.10.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-11-
|
|
11
|
+
date: 2025-11-14 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
@@ -733,6 +733,7 @@ files:
|
|
|
733
733
|
- lib/vellum_ai/types/unit_enum.rb
|
|
734
734
|
- lib/vellum_ai/types/update_active_workspace_response.rb
|
|
735
735
|
- lib/vellum_ai/types/upload_document_response.rb
|
|
736
|
+
- lib/vellum_ai/types/uploaded_file_read.rb
|
|
736
737
|
- lib/vellum_ai/types/upsert_test_suite_test_case_request.rb
|
|
737
738
|
- lib/vellum_ai/types/variable_prompt_block.rb
|
|
738
739
|
- lib/vellum_ai/types/vellum_audio.rb
|
|
@@ -862,6 +863,7 @@ files:
|
|
|
862
863
|
- lib/vellum_ai/types/workspace_display_config.rb
|
|
863
864
|
- lib/vellum_ai/types/workspace_read.rb
|
|
864
865
|
- lib/vellum_ai/types/workspace_secret_read.rb
|
|
866
|
+
- lib/vellum_ai/uploaded_files/client.rb
|
|
865
867
|
- lib/vellum_ai/workflow_deployments/client.rb
|
|
866
868
|
- lib/vellum_ai/workflow_deployments/types/list_workflow_release_tags_request_source.rb
|
|
867
869
|
- lib/vellum_ai/workflow_deployments/types/workflow_deployments_list_request_status.rb
|