Class: Vellum::AsyncIntegrationsClient
- Inherits:
-
Object
- Object
- Vellum::AsyncIntegrationsClient
- Defined in:
- lib/vellum_ai/integrations/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#execute_integration_tool(integration_name:, integration_provider:, tool_name:, request:, request_options: nil) ⇒ Object
).
- #initialize(request_client:) ⇒ Vellum::AsyncIntegrationsClient constructor
-
#list(integration_provider: nil, limit: nil, offset: nil, ordering: nil, search: nil, supports_integration_triggers: nil, request_options: nil) ⇒ Object
api.integrations.list.
-
#retrieve(id:, request_options: nil) ⇒ Object
api.integrations.retrieve(id: “id”).
-
#retrieve_integration_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil) ⇒ Object
).
Constructor Details
#initialize(request_client:) ⇒ Vellum::AsyncIntegrationsClient
190 191 192 |
# File 'lib/vellum_ai/integrations/client.rb', line 190 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ Vellum::AsyncRequestClient (readonly)
185 186 187 |
# File 'lib/vellum_ai/integrations/client.rb', line 185 def request_client @request_client end |
Instance Method Details
#execute_integration_tool(integration_name:, integration_provider:, tool_name:, request:, request_options: nil) ⇒ Object
)
255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 |
# File 'lib/vellum_ai/integrations/client.rb', line 255 def execute_integration_tool(integration_name:, integration_provider:, tool_name:, request:, request_options: nil) Async do response = @request_client.conn.post do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end req.body = { **(request || {}), **(&.additional_body_parameters || {}) }.compact req.url "#{@request_client.get_url(environment: Default, request_options: )}/integrations/v1/providers/#{integration_name}/integrations/#{integration_provider}/tools/#{tool_name}/execute" end Vellum::ComposioExecuteToolResponse.from_json(json_object: response.body) end end |
#list(integration_provider: nil, limit: nil, offset: nil, ordering: nil, search: nil, supports_integration_triggers: nil, request_options: nil) ⇒ Object
api.integrations.list
296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 |
# File 'lib/vellum_ai/integrations/client.rb', line 296 def list(integration_provider: nil, limit: nil, offset: nil, ordering: nil, search: nil, supports_integration_triggers: nil, request_options: nil) Async do response = @request_client.conn.get do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.params = { **(&.additional_query_parameters || {}), "integration_provider": integration_provider, "limit": limit, "offset": offset, "ordering": ordering, "search": search, "supports_integration_triggers": supports_integration_triggers }.compact unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(environment: Default, request_options: )}/v1/integrations" end Vellum::PaginatedSlimIntegrationReadList.from_json(json_object: response.body) end end |
#retrieve(id:, request_options: nil) ⇒ Object
api.integrations.retrieve(id: “id”)
332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 |
# File 'lib/vellum_ai/integrations/client.rb', line 332 def retrieve(id:, request_options: nil) Async do response = @request_client.conn.get do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(environment: Default, request_options: )}/v1/integrations/#{id}" end Vellum::IntegrationRead.from_json(json_object: response.body) end end |
#retrieve_integration_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil) ⇒ Object
)
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 |
# File 'lib/vellum_ai/integrations/client.rb', line 209 def retrieve_integration_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil) Async do response = @request_client.conn.get do | req | unless &.timeout_in_seconds.nil? req..timeout = .timeout_in_seconds end unless &.api_key.nil? req.headers["X-API-KEY"] = .api_key end unless &.api_version.nil? req.headers["X-API-Version"] = .api_version else req.headers["X-API-Version"] = "2025-07-30" end req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact unless .nil? || &.additional_query_parameters.nil? req.params = { **(&.additional_query_parameters || {}) }.compact end unless .nil? || &.additional_body_parameters.nil? req.body = { **(&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(environment: Default, request_options: )}/integrations/v1/providers/#{integration_name}/integrations/#{integration_provider}/tools/#{tool_name}" end Vellum::ComposioToolDefinition.from_json(json_object: response.body) end end |