vellum_ai 1.12.0 → 1.12.2

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: '025449af032943d55350172dd40b19468e024144bd0bb32397b776b8c329ea18'
4
- data.tar.gz: faaea744fd497604aa4e952bf22b1429031024a83a924a010f858cc92e25bb02
3
+ metadata.gz: 29fb112650285d7ff2fd4499a3e408ffa18d4add14a3a9b7980e6b8ab6fe1c2a
4
+ data.tar.gz: 53ffd1733e616a3598d20a737e019772356e452d00eed6007227dddf32ee5d7f
5
5
  SHA512:
6
- metadata.gz: d19f8ecdb7c59cfe6e1937bac9a7bfdcd460e53dc793095c1bae82116e5210884a99305355c4e6e21f2b669ec8e71516af5a3dbf4f810a211a259e8d4ffc4ee8
7
- data.tar.gz: 1799ef5280520ff032893aeb5181853d10733e51ac43eaef3dd17b60d2fe42e81976109422d3b5f6a0cf51e24e7a6fbe5542f3e0c83e7e51fad8c2c7b2041fa0
6
+ metadata.gz: 520444d8c94059b758a4a7f02585add8c21c7a9803c1f919297448478c5d434b3dfcad807f4c84f92e08fd42346bedff044fee271532412e7e7ddb1eed1ac3f8
7
+ data.tar.gz: 337c579e5e3a363aa8dc8b813fe4ac11f9084a12ab0dced83736612e362b42a23f5c77642c979838ccf73eb4d0e23cf52eeb7ed9b392ec2f04030ef48de13391
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.12.0' }
59
+ headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.12.2' }
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.12.0' }
110
+ headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.12.2' }
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
@@ -114,6 +114,7 @@ require_relative "vellum_ai/types/node_execution_fulfilled_event"
114
114
  require_relative "vellum_ai/types/node_execution_rejected_event"
115
115
  require_relative "vellum_ai/types/node_execution_paused_event"
116
116
  require_relative "vellum_ai/types/node_execution_resumed_event"
117
+ require_relative "vellum_ai/types/node_execution_log_event"
117
118
  require_relative "vellum_ai/types/workflow_execution_initiated_event"
118
119
  require_relative "vellum_ai/types/workflow_execution_streaming_event"
119
120
  require_relative "vellum_ai/types/workflow_execution_rejected_event"
@@ -348,6 +349,7 @@ require_relative "vellum_ai/types/named_test_case_variable_value_request"
348
349
  require_relative "vellum_ai/types/new_member_join_behavior_enum"
349
350
  require_relative "vellum_ai/types/node_execution_fulfilled_body"
350
351
  require_relative "vellum_ai/types/node_execution_initiated_body"
352
+ require_relative "vellum_ai/types/node_execution_log_body"
351
353
  require_relative "vellum_ai/types/node_execution_paused_body"
352
354
  require_relative "vellum_ai/types/node_execution_rejected_body"
353
355
  require_relative "vellum_ai/types/node_execution_resumed_body"
@@ -481,6 +483,7 @@ require_relative "vellum_ai/types/search_weights_request"
481
483
  require_relative "vellum_ai/types/secret_type_enum"
482
484
  require_relative "vellum_ai/types/sentence_chunker_config"
483
485
  require_relative "vellum_ai/types/sentence_chunker_config_request"
486
+ require_relative "vellum_ai/types/severity_enum"
484
487
  require_relative "vellum_ai/types/slim_composio_tool_definition"
485
488
  require_relative "vellum_ai/types/slim_deployment_read"
486
489
  require_relative "vellum_ai/types/slim_document"
@@ -22,6 +22,8 @@ module Vellum
22
22
  # @param integration_name [String] The integration name
23
23
  # @param integration_provider [String] The integration provider name
24
24
  # @param tool_name [String] The tool's unique name, as specified by the integration provider
25
+ # @param toolkit_version [String] The version of the toolkit to use. Pass 'latest' to get the latest version, or a
26
+ # specific version string to pin it. If not provided, uses the provider's default.
25
27
  # @param request_options [Vellum::RequestOptions]
26
28
  # @return [Vellum::COMPONENTS_SCHEMAS_COMPOSIO_TOOL_DEFINITION]
27
29
  # @example
@@ -35,7 +37,7 @@ module Vellum
35
37
  # integration_provider: "integration_provider",
36
38
  # tool_name: "tool_name"
37
39
  # )
38
- def retrieve_integration_provider_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil)
40
+ def retrieve_integration_provider_tool_definition(integration_name:, integration_provider:, tool_name:, toolkit_version: nil, request_options: nil)
39
41
  response = @request_client.conn.get do | req |
40
42
  unless request_options&.timeout_in_seconds.nil?
41
43
  req.options.timeout = request_options.timeout_in_seconds
@@ -49,9 +51,7 @@ module Vellum
49
51
  req.headers["X-API-Version"] = "2025-07-30"
50
52
  end
51
53
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
52
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
53
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
54
- end
54
+ req.params = { **(request_options&.additional_query_parameters || {}), "toolkit_version": toolkit_version }.compact
55
55
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
56
56
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
57
57
  end
@@ -68,6 +68,9 @@ end
68
68
  # @param limit [Integer] Number of results to return per page.
69
69
  # @param offset [Integer] The initial index from which to return the results.
70
70
  # @param search [String] The search term to filter the tools by
71
+ # @param toolkit_version [String] The version of the toolkit to lookup. Pass 'latest' to get the latest version,
72
+ # or a specific version string to pin it. If not provided, uses the provider's
73
+ # default.
71
74
  # @param request_options [Vellum::RequestOptions]
72
75
  # @return [Vellum::PaginatedSlimToolDefinitionList]
73
76
  # @example
@@ -77,7 +80,7 @@ end
77
80
  # api_key: "YOUR_API_KEY"
78
81
  # )
79
82
  # api.integration_providers.list_integration_tools(integration_provider: "integration_provider")
80
- def list_integration_tools(integration_provider:, important: nil, include_deprecated: nil, integration_name: nil, limit: nil, offset: nil, search: nil, request_options: nil)
83
+ def list_integration_tools(integration_provider:, important: nil, include_deprecated: nil, integration_name: nil, limit: nil, offset: nil, search: nil, toolkit_version: nil, request_options: nil)
81
84
  response = @request_client.conn.get do | req |
82
85
  unless request_options&.timeout_in_seconds.nil?
83
86
  req.options.timeout = request_options.timeout_in_seconds
@@ -91,7 +94,7 @@ end
91
94
  req.headers["X-API-Version"] = "2025-07-30"
92
95
  end
93
96
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
94
- req.params = { **(request_options&.additional_query_parameters || {}), "important": important, "include_deprecated": include_deprecated, "integration_name": integration_name, "limit": limit, "offset": offset, "search": search }.compact
97
+ req.params = { **(request_options&.additional_query_parameters || {}), "important": important, "include_deprecated": include_deprecated, "integration_name": integration_name, "limit": limit, "offset": offset, "search": search, "toolkit_version": toolkit_version }.compact
95
98
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
96
99
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
97
100
  end
@@ -115,6 +118,8 @@ end
115
118
  # @param integration_name [String] The integration name
116
119
  # @param integration_provider [String] The integration provider name
117
120
  # @param tool_name [String] The tool's unique name, as specified by the integration provider
121
+ # @param toolkit_version [String] The version of the toolkit to use. Pass 'latest' to get the latest version, or a
122
+ # specific version string to pin it. If not provided, uses the provider's default.
118
123
  # @param request_options [Vellum::RequestOptions]
119
124
  # @return [Vellum::COMPONENTS_SCHEMAS_COMPOSIO_TOOL_DEFINITION]
120
125
  # @example
@@ -128,7 +133,7 @@ end
128
133
  # integration_provider: "integration_provider",
129
134
  # tool_name: "tool_name"
130
135
  # )
131
- def retrieve_integration_provider_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil)
136
+ def retrieve_integration_provider_tool_definition(integration_name:, integration_provider:, tool_name:, toolkit_version: nil, request_options: nil)
132
137
  Async do
133
138
  response = @request_client.conn.get do | req |
134
139
  unless request_options&.timeout_in_seconds.nil?
@@ -143,9 +148,7 @@ end
143
148
  req.headers["X-API-Version"] = "2025-07-30"
144
149
  end
145
150
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
146
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
147
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
148
- end
151
+ req.params = { **(request_options&.additional_query_parameters || {}), "toolkit_version": toolkit_version }.compact
149
152
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
150
153
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
151
154
  end
@@ -163,6 +166,9 @@ end
163
166
  # @param limit [Integer] Number of results to return per page.
164
167
  # @param offset [Integer] The initial index from which to return the results.
165
168
  # @param search [String] The search term to filter the tools by
169
+ # @param toolkit_version [String] The version of the toolkit to lookup. Pass 'latest' to get the latest version,
170
+ # or a specific version string to pin it. If not provided, uses the provider's
171
+ # default.
166
172
  # @param request_options [Vellum::RequestOptions]
167
173
  # @return [Vellum::PaginatedSlimToolDefinitionList]
168
174
  # @example
@@ -172,7 +178,7 @@ end
172
178
  # api_key: "YOUR_API_KEY"
173
179
  # )
174
180
  # api.integration_providers.list_integration_tools(integration_provider: "integration_provider")
175
- def list_integration_tools(integration_provider:, important: nil, include_deprecated: nil, integration_name: nil, limit: nil, offset: nil, search: nil, request_options: nil)
181
+ def list_integration_tools(integration_provider:, important: nil, include_deprecated: nil, integration_name: nil, limit: nil, offset: nil, search: nil, toolkit_version: nil, request_options: nil)
176
182
  Async do
177
183
  response = @request_client.conn.get do | req |
178
184
  unless request_options&.timeout_in_seconds.nil?
@@ -187,7 +193,7 @@ end
187
193
  req.headers["X-API-Version"] = "2025-07-30"
188
194
  end
189
195
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
190
- req.params = { **(request_options&.additional_query_parameters || {}), "important": important, "include_deprecated": include_deprecated, "integration_name": integration_name, "limit": limit, "offset": offset, "search": search }.compact
196
+ req.params = { **(request_options&.additional_query_parameters || {}), "important": important, "include_deprecated": include_deprecated, "integration_name": integration_name, "limit": limit, "offset": offset, "search": search, "toolkit_version": toolkit_version }.compact
191
197
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
192
198
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
193
199
  end
@@ -25,6 +25,8 @@ module Vellum
25
25
  # @param integration_name [String] The integration name
26
26
  # @param integration_provider [String] The integration provider name
27
27
  # @param tool_name [String] The tool's unique name, as specified by the integration provider
28
+ # @param toolkit_version [String] The version of the toolkit to use. Pass 'latest' to get the latest version, or a
29
+ # specific version string to pin it. If not provided, uses the provider's default.
28
30
  # @param request_options [Vellum::RequestOptions]
29
31
  # @return [Vellum::COMPONENTS_SCHEMAS_COMPOSIO_TOOL_DEFINITION]
30
32
  # @example
@@ -38,7 +40,7 @@ module Vellum
38
40
  # integration_provider: "integration_provider",
39
41
  # tool_name: "tool_name"
40
42
  # )
41
- def retrieve_integration_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil)
43
+ def retrieve_integration_tool_definition(integration_name:, integration_provider:, tool_name:, toolkit_version: nil, request_options: nil)
42
44
  response = @request_client.conn.get do | req |
43
45
  unless request_options&.timeout_in_seconds.nil?
44
46
  req.options.timeout = request_options.timeout_in_seconds
@@ -52,9 +54,7 @@ module Vellum
52
54
  req.headers["X-API-Version"] = "2025-07-30"
53
55
  end
54
56
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
55
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
56
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
57
- end
57
+ req.params = { **(request_options&.additional_query_parameters || {}), "toolkit_version": toolkit_version }.compact
58
58
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
59
59
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
60
60
  end
@@ -68,6 +68,7 @@ end
68
68
  # @param request [Hash] Request of type Vellum::COMPONENTS_SCHEMAS_COMPOSIO_EXECUTE_TOOL_REQUEST, as a Hash
69
69
  # * :provider (String)
70
70
  # * :arguments (Hash{String => Object})
71
+ # * :toolkit_version (String)
71
72
  # @param request_options [Vellum::RequestOptions]
72
73
  # @return [Vellum::COMPONENTS_SCHEMAS_COMPOSIO_EXECUTE_TOOL_RESPONSE]
73
74
  # @example
@@ -193,6 +194,8 @@ end
193
194
  # @param integration_name [String] The integration name
194
195
  # @param integration_provider [String] The integration provider name
195
196
  # @param tool_name [String] The tool's unique name, as specified by the integration provider
197
+ # @param toolkit_version [String] The version of the toolkit to use. Pass 'latest' to get the latest version, or a
198
+ # specific version string to pin it. If not provided, uses the provider's default.
196
199
  # @param request_options [Vellum::RequestOptions]
197
200
  # @return [Vellum::COMPONENTS_SCHEMAS_COMPOSIO_TOOL_DEFINITION]
198
201
  # @example
@@ -206,7 +209,7 @@ end
206
209
  # integration_provider: "integration_provider",
207
210
  # tool_name: "tool_name"
208
211
  # )
209
- def retrieve_integration_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil)
212
+ def retrieve_integration_tool_definition(integration_name:, integration_provider:, tool_name:, toolkit_version: nil, request_options: nil)
210
213
  Async do
211
214
  response = @request_client.conn.get do | req |
212
215
  unless request_options&.timeout_in_seconds.nil?
@@ -221,9 +224,7 @@ end
221
224
  req.headers["X-API-Version"] = "2025-07-30"
222
225
  end
223
226
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
224
- unless request_options.nil? || request_options&.additional_query_parameters.nil?
225
- req.params = { **(request_options&.additional_query_parameters || {}) }.compact
226
- end
227
+ req.params = { **(request_options&.additional_query_parameters || {}), "toolkit_version": toolkit_version }.compact
227
228
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
228
229
  req.body = { **(request_options&.additional_body_parameters || {}) }.compact
229
230
  end
@@ -238,6 +239,7 @@ end
238
239
  # @param request [Hash] Request of type Vellum::COMPONENTS_SCHEMAS_COMPOSIO_EXECUTE_TOOL_REQUEST, as a Hash
239
240
  # * :provider (String)
240
241
  # * :arguments (Hash{String => Object})
242
+ # * :toolkit_version (String)
241
243
  # @param request_options [Vellum::RequestOptions]
242
244
  # @return [Vellum::COMPONENTS_SCHEMAS_COMPOSIO_EXECUTE_TOOL_RESPONSE]
243
245
  # @example
@@ -9,6 +9,8 @@ module Vellum
9
9
  attr_reader :provider
10
10
  # @return [Hash{String => Object}]
11
11
  attr_reader :arguments
12
+ # @return [String]
13
+ attr_reader :toolkit_version
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 provider [String]
21
23
  # @param arguments [Hash{String => Object}]
24
+ # @param toolkit_version [String]
22
25
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
26
  # @return [Vellum::ComposioExecuteToolRequest]
24
- def initialize(provider:, arguments:, additional_properties: nil)
27
+ def initialize(provider:, arguments:, toolkit_version: OMIT, additional_properties: nil)
25
28
  @provider = provider
26
29
  @arguments = arguments
30
+ @toolkit_version = toolkit_version if toolkit_version != OMIT
27
31
  @additional_properties = additional_properties
28
- @_field_set = { "provider": provider, "arguments": arguments }
32
+ @_field_set = { "provider": provider, "arguments": arguments, "toolkit_version": toolkit_version }.reject do | _k, v |
33
+ v == OMIT
34
+ end
29
35
  end
30
36
  # Deserialize a JSON object to an instance of ComposioExecuteToolRequest
31
37
  #
@@ -36,9 +42,11 @@ module Vellum
36
42
  parsed_json = JSON.parse(json_object)
37
43
  provider = parsed_json["provider"]
38
44
  arguments = parsed_json["arguments"]
45
+ toolkit_version = parsed_json["toolkit_version"]
39
46
  new(
40
47
  provider: provider,
41
48
  arguments: arguments,
49
+ toolkit_version: toolkit_version,
42
50
  additional_properties: struct
43
51
  )
44
52
  end
@@ -57,6 +65,7 @@ module Vellum
57
65
  def self.validate_raw(obj:)
58
66
  obj.provider.is_a?(String) != false || raise("Passed value for field obj.provider is not the expected type, validation failed.")
59
67
  obj.arguments.is_a?(Hash) != false || raise("Passed value for field obj.arguments is not the expected type, validation failed.")
68
+ obj.toolkit_version&.is_a?(String) != false || raise("Passed value for field obj.toolkit_version is not the expected type, validation failed.")
60
69
  end
61
70
  end
62
71
  end
@@ -20,6 +20,8 @@ module Vellum
20
20
  attr_reader :input_parameters
21
21
  # @return [Hash{String => Object}]
22
22
  attr_reader :output_parameters
23
+ # @return [String]
24
+ attr_reader :toolkit_version
23
25
  # @return [OpenStruct] Additional properties unmapped to the current class definition
24
26
  attr_reader :additional_properties
25
27
  # @return [Object]
@@ -35,9 +37,10 @@ module Vellum
35
37
  # @param description [String]
36
38
  # @param input_parameters [Hash{String => Object}]
37
39
  # @param output_parameters [Hash{String => Object}]
40
+ # @param toolkit_version [String]
38
41
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
39
42
  # @return [Vellum::ComposioToolDefinition]
40
- def initialize(provider:, integration:, name:, label:, description:, input_parameters:, output_parameters:, additional_properties: nil)
43
+ def initialize(provider:, integration:, name:, label:, description:, input_parameters:, output_parameters:, toolkit_version:, additional_properties: nil)
41
44
  @provider = provider
42
45
  @integration = integration
43
46
  @name = name
@@ -45,8 +48,9 @@ module Vellum
45
48
  @description = description
46
49
  @input_parameters = input_parameters
47
50
  @output_parameters = output_parameters
51
+ @toolkit_version = toolkit_version
48
52
  @additional_properties = additional_properties
49
- @_field_set = { "provider": provider, "integration": integration, "name": name, "label": label, "description": description, "input_parameters": input_parameters, "output_parameters": output_parameters }
53
+ @_field_set = { "provider": provider, "integration": integration, "name": name, "label": label, "description": description, "input_parameters": input_parameters, "output_parameters": output_parameters, "toolkit_version": toolkit_version }
50
54
  end
51
55
  # Deserialize a JSON object to an instance of ComposioToolDefinition
52
56
  #
@@ -67,6 +71,7 @@ module Vellum
67
71
  description = parsed_json["description"]
68
72
  input_parameters = parsed_json["input_parameters"]
69
73
  output_parameters = parsed_json["output_parameters"]
74
+ toolkit_version = parsed_json["toolkit_version"]
70
75
  new(
71
76
  provider: provider,
72
77
  integration: integration,
@@ -75,6 +80,7 @@ module Vellum
75
80
  description: description,
76
81
  input_parameters: input_parameters,
77
82
  output_parameters: output_parameters,
83
+ toolkit_version: toolkit_version,
78
84
  additional_properties: struct
79
85
  )
80
86
  end
@@ -98,6 +104,7 @@ module Vellum
98
104
  obj.description.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
99
105
  obj.input_parameters.is_a?(Hash) != false || raise("Passed value for field obj.input_parameters is not the expected type, validation failed.")
100
106
  obj.output_parameters.is_a?(Hash) != false || raise("Passed value for field obj.output_parameters is not the expected type, validation failed.")
107
+ obj.toolkit_version.is_a?(String) != false || raise("Passed value for field obj.toolkit_version is not the expected type, validation failed.")
101
108
  end
102
109
  end
103
110
  end
@@ -68,6 +68,7 @@ module Vellum
68
68
  # * `POSTHOG` - PostHog
69
69
  # * `PRODUCTBOARD` - Productboard
70
70
  # * `REDDIT` - Reddit
71
+ # * `SALESFORCE` - Salesforce
71
72
  # * `SEMRUSH` - Semrush
72
73
  # * `SEMANTICSCHOLAR` - Semantic Scholar
73
74
  # * `SENDGRID` - SendGrid
@@ -165,6 +166,7 @@ module Vellum
165
166
  POSTHOG = "POSTHOG"
166
167
  PRODUCTBOARD = "PRODUCTBOARD"
167
168
  REDDIT = "REDDIT"
169
+ SALESFORCE = "SALESFORCE"
168
170
  SEMRUSH = "SEMRUSH"
169
171
  SEMANTICSCHOLAR = "SEMANTICSCHOLAR"
170
172
  SENDGRID = "SENDGRID"
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+ require_relative "vellum_code_resource_definition"
3
+ require_relative "severity_enum"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module Vellum
8
+ class NodeExecutionLogBody
9
+ # @return [Vellum::VellumCodeResourceDefinition]
10
+ attr_reader :node_definition
11
+ # @return [Hash{String => Object}]
12
+ attr_reader :attributes
13
+ # @return [Vellum::SeverityEnum]
14
+ attr_reader :severity
15
+ # @return [String]
16
+ attr_reader :message
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
22
+
23
+ OMIT = Object.new
24
+
25
+ # @param node_definition [Vellum::VellumCodeResourceDefinition]
26
+ # @param attributes [Hash{String => Object}]
27
+ # @param severity [Vellum::SeverityEnum]
28
+ # @param message [String]
29
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
+ # @return [Vellum::NodeExecutionLogBody]
31
+ def initialize(node_definition:, attributes: OMIT, severity:, message:, additional_properties: nil)
32
+ @node_definition = node_definition
33
+ @attributes = attributes if attributes != OMIT
34
+ @severity = severity
35
+ @message = message
36
+ @additional_properties = additional_properties
37
+ @_field_set = { "node_definition": node_definition, "attributes": attributes, "severity": severity, "message": message }.reject do | _k, v |
38
+ v == OMIT
39
+ end
40
+ end
41
+ # Deserialize a JSON object to an instance of NodeExecutionLogBody
42
+ #
43
+ # @param json_object [String]
44
+ # @return [Vellum::NodeExecutionLogBody]
45
+ def self.from_json(json_object:)
46
+ struct = JSON.parse(json_object, object_class: OpenStruct)
47
+ parsed_json = JSON.parse(json_object)
48
+ unless parsed_json["node_definition"].nil?
49
+ node_definition = parsed_json["node_definition"].to_json
50
+ node_definition = Vellum::VellumCodeResourceDefinition.from_json(json_object: node_definition)
51
+ else
52
+ node_definition = nil
53
+ end
54
+ attributes = parsed_json["attributes"]
55
+ severity = parsed_json["severity"]
56
+ message = parsed_json["message"]
57
+ new(
58
+ node_definition: node_definition,
59
+ attributes: attributes,
60
+ severity: severity,
61
+ message: message,
62
+ additional_properties: struct
63
+ )
64
+ end
65
+ # Serialize an instance of NodeExecutionLogBody to a JSON object
66
+ #
67
+ # @return [String]
68
+ def to_json
69
+ @_field_set&.to_json
70
+ end
71
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
72
+ # hash and check each fields type against the current object's property
73
+ # definitions.
74
+ #
75
+ # @param obj [Object]
76
+ # @return [Void]
77
+ def self.validate_raw(obj:)
78
+ Vellum::VellumCodeResourceDefinition.validate_raw(obj: obj.node_definition)
79
+ obj.attributes&.is_a?(Hash) != false || raise("Passed value for field obj.attributes is not the expected type, validation failed.")
80
+ obj.severity.is_a?(Vellum::SeverityEnum) != false || raise("Passed value for field obj.severity is not the expected type, validation failed.")
81
+ obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,134 @@
1
+ # frozen_string_literal: true
2
+ require_relative "parent_context"
3
+ require_relative "span_link"
4
+ require_relative "node_execution_log_body"
5
+ require "date"
6
+ require_relative "api_version_enum"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module Vellum
11
+ class NodeExecutionLogEvent
12
+ # @return [Vellum::ParentContext]
13
+ attr_reader :parent
14
+ # @return [Array<Vellum::SpanLink>]
15
+ attr_reader :links
16
+ # @return [String]
17
+ attr_reader :name
18
+ # @return [Vellum::NodeExecutionLogBody]
19
+ attr_reader :body
20
+ # @return [String]
21
+ attr_reader :id
22
+ # @return [DateTime]
23
+ attr_reader :timestamp
24
+ # @return [Vellum::ApiVersionEnum]
25
+ attr_reader :api_version
26
+ # @return [String]
27
+ attr_reader :trace_id
28
+ # @return [String]
29
+ attr_reader :span_id
30
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
31
+ attr_reader :additional_properties
32
+ # @return [Object]
33
+ attr_reader :_field_set
34
+ protected :_field_set
35
+
36
+ OMIT = Object.new
37
+
38
+ # @param parent [Vellum::ParentContext]
39
+ # @param links [Array<Vellum::SpanLink>]
40
+ # @param name [String]
41
+ # @param body [Vellum::NodeExecutionLogBody]
42
+ # @param id [String]
43
+ # @param timestamp [DateTime]
44
+ # @param api_version [Vellum::ApiVersionEnum]
45
+ # @param trace_id [String]
46
+ # @param span_id [String]
47
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
48
+ # @return [Vellum::NodeExecutionLogEvent]
49
+ def initialize(parent: OMIT, links: OMIT, name:, body:, id:, timestamp:, api_version: OMIT, trace_id:, span_id:, additional_properties: nil)
50
+ @parent = parent if parent != OMIT
51
+ @links = links if links != OMIT
52
+ @name = name
53
+ @body = body
54
+ @id = id
55
+ @timestamp = timestamp
56
+ @api_version = api_version if api_version != OMIT
57
+ @trace_id = trace_id
58
+ @span_id = span_id
59
+ @additional_properties = additional_properties
60
+ @_field_set = { "parent": parent, "links": links, "name": name, "body": body, "id": id, "timestamp": timestamp, "api_version": api_version, "trace_id": trace_id, "span_id": span_id }.reject do | _k, v |
61
+ v == OMIT
62
+ end
63
+ end
64
+ # Deserialize a JSON object to an instance of NodeExecutionLogEvent
65
+ #
66
+ # @param json_object [String]
67
+ # @return [Vellum::NodeExecutionLogEvent]
68
+ def self.from_json(json_object:)
69
+ struct = JSON.parse(json_object, object_class: OpenStruct)
70
+ parsed_json = JSON.parse(json_object)
71
+ unless parsed_json["parent"].nil?
72
+ parent = parsed_json["parent"].to_json
73
+ parent = Vellum::ParentContext.from_json(json_object: parent)
74
+ else
75
+ parent = nil
76
+ end
77
+ links = parsed_json["links"]&.map do | item |
78
+ item = item.to_json
79
+ Vellum::SpanLink.from_json(json_object: item)
80
+ end
81
+ name = parsed_json["name"]
82
+ unless parsed_json["body"].nil?
83
+ body = parsed_json["body"].to_json
84
+ body = Vellum::NodeExecutionLogBody.from_json(json_object: body)
85
+ else
86
+ body = nil
87
+ end
88
+ id = parsed_json["id"]
89
+ timestamp = unless parsed_json["timestamp"].nil?
90
+ DateTime.parse(parsed_json["timestamp"])
91
+ else
92
+ nil
93
+ end
94
+ api_version = parsed_json["api_version"]
95
+ trace_id = parsed_json["trace_id"]
96
+ span_id = parsed_json["span_id"]
97
+ new(
98
+ parent: parent,
99
+ links: links,
100
+ name: name,
101
+ body: body,
102
+ id: id,
103
+ timestamp: timestamp,
104
+ api_version: api_version,
105
+ trace_id: trace_id,
106
+ span_id: span_id,
107
+ additional_properties: struct
108
+ )
109
+ end
110
+ # Serialize an instance of NodeExecutionLogEvent to a JSON object
111
+ #
112
+ # @return [String]
113
+ def to_json
114
+ @_field_set&.to_json
115
+ end
116
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
117
+ # hash and check each fields type against the current object's property
118
+ # definitions.
119
+ #
120
+ # @param obj [Object]
121
+ # @return [Void]
122
+ def self.validate_raw(obj:)
123
+ obj.parent.nil? || Vellum::ParentContext.validate_raw(obj: obj.parent)
124
+ obj.links&.is_a?(Array) != false || raise("Passed value for field obj.links is not the expected type, validation failed.")
125
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
126
+ Vellum::NodeExecutionLogBody.validate_raw(obj: obj.body)
127
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
128
+ obj.timestamp.is_a?(DateTime) != false || raise("Passed value for field obj.timestamp is not the expected type, validation failed.")
129
+ obj.api_version&.is_a?(Vellum::ApiVersionEnum) != false || raise("Passed value for field obj.api_version is not the expected type, validation failed.")
130
+ obj.trace_id.is_a?(String) != false || raise("Passed value for field obj.trace_id is not the expected type, validation failed.")
131
+ obj.span_id.is_a?(String) != false || raise("Passed value for field obj.span_id is not the expected type, validation failed.")
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Vellum
4
+ # * `DEBUG` - DEBUG
5
+ # * `INFO` - INFO
6
+ # * `WARNING` - WARNING
7
+ # * `ERROR` - ERROR
8
+ class SeverityEnum
9
+
10
+ DEBUG = "DEBUG"
11
+ INFO = "INFO"
12
+ WARNING = "WARNING"
13
+ ERROR = "ERROR"
14
+
15
+ end
16
+ end
@@ -15,6 +15,8 @@ module Vellum
15
15
  attr_reader :label
16
16
  # @return [String]
17
17
  attr_reader :description
18
+ # @return [String]
19
+ attr_reader :toolkit_version
18
20
  # @return [OpenStruct] Additional properties unmapped to the current class definition
19
21
  attr_reader :additional_properties
20
22
  # @return [Object]
@@ -28,16 +30,18 @@ module Vellum
28
30
  # @param name [String]
29
31
  # @param label [String]
30
32
  # @param description [String]
33
+ # @param toolkit_version [String]
31
34
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
32
35
  # @return [Vellum::SlimComposioToolDefinition]
33
- def initialize(provider:, integration:, name:, label:, description:, additional_properties: nil)
36
+ def initialize(provider:, integration:, name:, label:, description:, toolkit_version:, additional_properties: nil)
34
37
  @provider = provider
35
38
  @integration = integration
36
39
  @name = name
37
40
  @label = label
38
41
  @description = description
42
+ @toolkit_version = toolkit_version
39
43
  @additional_properties = additional_properties
40
- @_field_set = { "provider": provider, "integration": integration, "name": name, "label": label, "description": description }
44
+ @_field_set = { "provider": provider, "integration": integration, "name": name, "label": label, "description": description, "toolkit_version": toolkit_version }
41
45
  end
42
46
  # Deserialize a JSON object to an instance of SlimComposioToolDefinition
43
47
  #
@@ -56,12 +60,14 @@ module Vellum
56
60
  name = parsed_json["name"]
57
61
  label = parsed_json["label"]
58
62
  description = parsed_json["description"]
63
+ toolkit_version = parsed_json["toolkit_version"]
59
64
  new(
60
65
  provider: provider,
61
66
  integration: integration,
62
67
  name: name,
63
68
  label: label,
64
69
  description: description,
70
+ toolkit_version: toolkit_version,
65
71
  additional_properties: struct
66
72
  )
67
73
  end
@@ -83,6 +89,7 @@ module Vellum
83
89
  obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
84
90
  obj.label.is_a?(String) != false || raise("Passed value for field obj.label is not the expected type, validation failed.")
85
91
  obj.description.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
92
+ obj.toolkit_version.is_a?(String) != false || raise("Passed value for field obj.toolkit_version is not the expected type, validation failed.")
86
93
  end
87
94
  end
88
95
  end
@@ -6,6 +6,7 @@ require_relative "node_execution_fulfilled_event"
6
6
  require_relative "node_execution_rejected_event"
7
7
  require_relative "node_execution_paused_event"
8
8
  require_relative "node_execution_resumed_event"
9
+ require_relative "node_execution_log_event"
9
10
 
10
11
  module Vellum
11
12
  class VellumNodeExecutionEvent
@@ -73,6 +74,16 @@ end
73
74
  return Vellum::NodeExecutionResumedEvent.from_json(json_object: struct)
74
75
  else
75
76
  return nil
77
+ end
78
+ rescue StandardError
79
+ # noop
80
+ end
81
+ begin
82
+ Vellum::NodeExecutionLogEvent.validate_raw(obj: struct)
83
+ unless struct.nil?
84
+ return Vellum::NodeExecutionLogEvent.from_json(json_object: struct)
85
+ else
86
+ return nil
76
87
  end
77
88
  rescue StandardError
78
89
  # noop
@@ -116,6 +127,11 @@ end
116
127
  rescue StandardError
117
128
  # noop
118
129
  end
130
+ begin
131
+ return Vellum::NodeExecutionLogEvent.validate_raw(obj: obj)
132
+ rescue StandardError
133
+ # noop
134
+ end
119
135
  raise("Passed value matched no type within the union, validation failed.")
120
136
  end
121
137
  end
@@ -6,6 +6,7 @@ require_relative "node_execution_fulfilled_event"
6
6
  require_relative "node_execution_rejected_event"
7
7
  require_relative "node_execution_paused_event"
8
8
  require_relative "node_execution_resumed_event"
9
+ require_relative "node_execution_log_event"
9
10
  require_relative "workflow_execution_initiated_event"
10
11
  require_relative "workflow_execution_streaming_event"
11
12
  require_relative "workflow_execution_rejected_event"
@@ -80,6 +81,16 @@ end
80
81
  return Vellum::NodeExecutionResumedEvent.from_json(json_object: struct)
81
82
  else
82
83
  return nil
84
+ end
85
+ rescue StandardError
86
+ # noop
87
+ end
88
+ begin
89
+ Vellum::NodeExecutionLogEvent.validate_raw(obj: struct)
90
+ unless struct.nil?
91
+ return Vellum::NodeExecutionLogEvent.from_json(json_object: struct)
92
+ else
93
+ return nil
83
94
  end
84
95
  rescue StandardError
85
96
  # noop
@@ -193,6 +204,11 @@ end
193
204
  rescue StandardError
194
205
  # noop
195
206
  end
207
+ begin
208
+ return Vellum::NodeExecutionLogEvent.validate_raw(obj: obj)
209
+ rescue StandardError
210
+ # noop
211
+ end
196
212
  begin
197
213
  return Vellum::WorkflowExecutionInitiatedEvent.validate_raw(obj: obj)
198
214
  rescue StandardError
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.12.0
4
+ version: 1.12.2
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-19 00:00:00.000000000 Z
11
+ date: 2025-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -453,6 +453,8 @@ files:
453
453
  - lib/vellum_ai/types/node_execution_fulfilled_event.rb
454
454
  - lib/vellum_ai/types/node_execution_initiated_body.rb
455
455
  - lib/vellum_ai/types/node_execution_initiated_event.rb
456
+ - lib/vellum_ai/types/node_execution_log_body.rb
457
+ - lib/vellum_ai/types/node_execution_log_event.rb
456
458
  - lib/vellum_ai/types/node_execution_paused_body.rb
457
459
  - lib/vellum_ai/types/node_execution_paused_event.rb
458
460
  - lib/vellum_ai/types/node_execution_rejected_body.rb
@@ -604,6 +606,7 @@ files:
604
606
  - lib/vellum_ai/types/sentence_chunker_config_request.rb
605
607
  - lib/vellum_ai/types/sentence_chunking.rb
606
608
  - lib/vellum_ai/types/sentence_chunking_request.rb
609
+ - lib/vellum_ai/types/severity_enum.rb
607
610
  - lib/vellum_ai/types/slim_composio_tool_definition.rb
608
611
  - lib/vellum_ai/types/slim_deployment_read.rb
609
612
  - lib/vellum_ai/types/slim_document.rb