Class: Vellum::IntegrationsClient
- Inherits:
-
Object
- Object
- Vellum::IntegrationsClient
- 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::IntegrationsClient constructor
-
#list(integration_provider: nil, limit: nil, offset: nil, ordering: nil, search: 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::IntegrationsClient
22 23 24 |
# File 'lib/vellum_ai/integrations/client.rb', line 22 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ Vellum::RequestClient (readonly)
17 18 19 |
# File 'lib/vellum_ai/integrations/client.rb', line 17 def request_client @request_client end |
Instance Method Details
#execute_integration_tool(integration_name:, integration_provider:, tool_name:, request:, request_options: nil) ⇒ Object
)
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/vellum_ai/integrations/client.rb', line 85 def execute_integration_tool(integration_name:, integration_provider:, tool_name:, request:, request_options: nil) 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 |
#list(integration_provider: nil, limit: nil, offset: nil, ordering: nil, search: nil, request_options: nil) ⇒ Object
api.integrations.list
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 |
# File 'lib/vellum_ai/integrations/client.rb', line 123 def list(integration_provider: nil, limit: nil, offset: nil, ordering: nil, search: nil, request_options: nil) 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 }.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 |
#retrieve(id:, request_options: nil) ⇒ Object
api.integrations.retrieve(id: “id”)
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
# File 'lib/vellum_ai/integrations/client.rb', line 157 def retrieve(id:, request_options: nil) 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 |
#retrieve_integration_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil) ⇒ Object
)
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/vellum_ai/integrations/client.rb', line 41 def retrieve_integration_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil) 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 |