vellum_ai 1.5.4 → 1.5.6
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 +16 -0
- data/lib/vellum_ai/integration_auth_configs/client.rb +116 -0
- data/lib/vellum_ai/integration_providers/client.rb +196 -0
- data/lib/vellum_ai/integrations/client.rb +180 -24
- data/lib/vellum_ai/test_suite_runs/client.rb +8 -10
- data/lib/vellum_ai/types/components_schemas_composio_integration_exec_config.rb +6 -0
- data/lib/vellum_ai/types/components_schemas_slim_composio_tool_definition.rb +6 -0
- data/lib/vellum_ai/types/composio_integration_exec_config.rb +61 -0
- data/lib/vellum_ai/types/composio_tool_definition.rb +28 -8
- data/lib/vellum_ai/types/integration_auth_config_integration.rb +70 -0
- data/lib/vellum_ai/types/integration_auth_config_integration_credential.rb +53 -0
- data/lib/vellum_ai/types/integration_credential_access_type.rb +12 -0
- data/lib/vellum_ai/types/integration_name.rb +30 -0
- data/lib/vellum_ai/types/integration_provider.rb +5 -0
- data/lib/vellum_ai/types/integration_read.rb +100 -0
- data/lib/vellum_ai/types/paginated_slim_integration_auth_config_read_list.rb +83 -0
- data/lib/vellum_ai/types/paginated_slim_integration_read_list.rb +81 -0
- data/lib/vellum_ai/types/paginated_slim_tool_definition_list.rb +81 -0
- data/lib/vellum_ai/types/slim_composio_tool_definition.rb +81 -0
- data/lib/vellum_ai/types/slim_integration_auth_config_read.rb +89 -0
- data/lib/vellum_ai/types/slim_integration_read.rb +86 -0
- data/lib/vellum_ai/types/tool_definition_integration.rb +70 -0
- data/lib/vellum_ai.rb +14 -0
- metadata +20 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 89aa1ab287988176ec0434127dc8bc67623d60faeb2a7f8024b893b35e22a4be
|
4
|
+
data.tar.gz: 16dcc87437f3f3cbab637f30440db01594dadaecabfb619ece8945bfe3d0d615
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d25e6760a0732bf6da15ca08253c54c9f711b5f55d81e61e81b9dd97cd1fcecd356eaa73cadac671c453a07612e034907564ce0c638206edbbeb720c80a1e3ce
|
7
|
+
data.tar.gz: 27a7bb3fd60159349cb97f3239d10647e429f730a87d6633de641fe77f042940007ec6c1d326a95dae67a04b131ddf07ff99843513422ef43f9bcf41feb143f2
|
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.5.
|
59
|
+
headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.5.6' }
|
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.5.
|
110
|
+
headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.5.6' }
|
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
@@ -96,6 +96,7 @@ require_relative "vellum_ai/types/compile_prompt_deployment_expand_meta_request"
|
|
96
96
|
require_relative "vellum_ai/types/compile_prompt_meta"
|
97
97
|
require_relative "vellum_ai/types/composio_execute_tool_request"
|
98
98
|
require_relative "vellum_ai/types/composio_execute_tool_response"
|
99
|
+
require_relative "vellum_ai/types/composio_integration_exec_config"
|
99
100
|
require_relative "vellum_ai/types/composio_tool_definition"
|
100
101
|
require_relative "vellum_ai/types/condition_combinator"
|
101
102
|
require_relative "vellum_ai/types/conditional_node_result"
|
@@ -267,6 +268,13 @@ require_relative "vellum_ai/types/initiated_prompt_execution_meta"
|
|
267
268
|
require_relative "vellum_ai/types/initiated_workflow_node_result_event"
|
268
269
|
require_relative "vellum_ai/types/instructor_vectorizer_config"
|
269
270
|
require_relative "vellum_ai/types/instructor_vectorizer_config_request"
|
271
|
+
require_relative "vellum_ai/types/integration_auth_config_integration"
|
272
|
+
require_relative "vellum_ai/types/integration_auth_config_integration_credential"
|
273
|
+
require_relative "vellum_ai/types/integration_credential_access_type"
|
274
|
+
require_relative "vellum_ai/types/components_schemas_composio_integration_exec_config"
|
275
|
+
require_relative "vellum_ai/types/integration_name"
|
276
|
+
require_relative "vellum_ai/types/integration_provider"
|
277
|
+
require_relative "vellum_ai/types/integration_read"
|
270
278
|
require_relative "vellum_ai/types/invoked_port"
|
271
279
|
require_relative "vellum_ai/types/iteration_state_enum"
|
272
280
|
require_relative "vellum_ai/types/json_input_request"
|
@@ -375,6 +383,9 @@ require_relative "vellum_ai/types/paginated_document_index_read_list"
|
|
375
383
|
require_relative "vellum_ai/types/paginated_folder_entity_list"
|
376
384
|
require_relative "vellum_ai/types/paginated_slim_deployment_read_list"
|
377
385
|
require_relative "vellum_ai/types/paginated_slim_document_list"
|
386
|
+
require_relative "vellum_ai/types/paginated_slim_integration_auth_config_read_list"
|
387
|
+
require_relative "vellum_ai/types/paginated_slim_integration_read_list"
|
388
|
+
require_relative "vellum_ai/types/paginated_slim_tool_definition_list"
|
378
389
|
require_relative "vellum_ai/types/paginated_slim_workflow_deployment_list"
|
379
390
|
require_relative "vellum_ai/types/paginated_test_suite_run_execution_list"
|
380
391
|
require_relative "vellum_ai/types/paginated_test_suite_test_case_list"
|
@@ -458,10 +469,14 @@ require_relative "vellum_ai/types/search_weights_request"
|
|
458
469
|
require_relative "vellum_ai/types/secret_type_enum"
|
459
470
|
require_relative "vellum_ai/types/sentence_chunker_config"
|
460
471
|
require_relative "vellum_ai/types/sentence_chunker_config_request"
|
472
|
+
require_relative "vellum_ai/types/slim_composio_tool_definition"
|
461
473
|
require_relative "vellum_ai/types/slim_deployment_read"
|
462
474
|
require_relative "vellum_ai/types/slim_document"
|
463
475
|
require_relative "vellum_ai/types/slim_document_document_to_document_index"
|
476
|
+
require_relative "vellum_ai/types/slim_integration_auth_config_read"
|
477
|
+
require_relative "vellum_ai/types/slim_integration_read"
|
464
478
|
require_relative "vellum_ai/types/slim_release_review"
|
479
|
+
require_relative "vellum_ai/types/components_schemas_slim_composio_tool_definition"
|
465
480
|
require_relative "vellum_ai/types/slim_workflow_deployment"
|
466
481
|
require_relative "vellum_ai/types/slim_workflow_execution_read"
|
467
482
|
require_relative "vellum_ai/types/span_link"
|
@@ -578,6 +593,7 @@ require_relative "vellum_ai/types/thinking_vellum_value_request"
|
|
578
593
|
require_relative "vellum_ai/types/token_overlapping_window_chunker_config"
|
579
594
|
require_relative "vellum_ai/types/token_overlapping_window_chunker_config_request"
|
580
595
|
require_relative "vellum_ai/types/components_schemas_composio_tool_definition"
|
596
|
+
require_relative "vellum_ai/types/tool_definition_integration"
|
581
597
|
require_relative "vellum_ai/types/unit_enum"
|
582
598
|
require_relative "vellum_ai/types/upload_document_response"
|
583
599
|
require_relative "vellum_ai/types/upsert_test_suite_test_case_request"
|
@@ -0,0 +1,116 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../requests"
|
3
|
+
require_relative "../types/paginated_slim_integration_auth_config_read_list"
|
4
|
+
require "async"
|
5
|
+
require_relative "../../requests"
|
6
|
+
|
7
|
+
module Vellum
|
8
|
+
class IntegrationAuthConfigsClient
|
9
|
+
# @return [Vellum::RequestClient]
|
10
|
+
attr_reader :request_client
|
11
|
+
|
12
|
+
|
13
|
+
# @param request_client [Vellum::RequestClient]
|
14
|
+
# @return [Vellum::IntegrationAuthConfigsClient]
|
15
|
+
def initialize(request_client:)
|
16
|
+
@request_client = request_client
|
17
|
+
end
|
18
|
+
# List Integration Auth Configs
|
19
|
+
#
|
20
|
+
# @param expand [String] The response fields to expand for more information.
|
21
|
+
# - 'integration_credentials' expands the list of integration credentials that the
|
22
|
+
# authenticated entity has access to for the auth config.
|
23
|
+
# @param integration_name [String]
|
24
|
+
# @param integration_provider [String]
|
25
|
+
# @param limit [Integer] Number of results to return per page.
|
26
|
+
# @param offset [Integer] The initial index from which to return the results.
|
27
|
+
# @param ordering [String] Which field to use when ordering the results.
|
28
|
+
# @param search [String] A search term.
|
29
|
+
# @param request_options [Vellum::RequestOptions]
|
30
|
+
# @return [Vellum::PaginatedSlimIntegrationAuthConfigReadList]
|
31
|
+
# @example
|
32
|
+
# api = Vellum::Client.new(
|
33
|
+
# base_url: "https://api.example.com",
|
34
|
+
# environment: Vellum::Environment::PRODUCTION,
|
35
|
+
# api_key: "YOUR_API_KEY"
|
36
|
+
# )
|
37
|
+
# api.integration_auth_configs.list_integration_auth_configs
|
38
|
+
def list_integration_auth_configs(expand: nil, integration_name: nil, integration_provider: nil, limit: nil, offset: nil, ordering: nil, search: nil, request_options: nil)
|
39
|
+
response = @request_client.conn.get do | req |
|
40
|
+
unless request_options&.timeout_in_seconds.nil?
|
41
|
+
req.options.timeout = request_options.timeout_in_seconds
|
42
|
+
end
|
43
|
+
unless request_options&.api_key.nil?
|
44
|
+
req.headers["X-API-KEY"] = request_options.api_key
|
45
|
+
end
|
46
|
+
unless request_options&.api_version.nil?
|
47
|
+
req.headers["X-API-Version"] = request_options.api_version
|
48
|
+
else
|
49
|
+
req.headers["X-API-Version"] = "2025-07-30"
|
50
|
+
end
|
51
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
52
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "expand": expand, "integration_name": integration_name, "integration_provider": integration_provider, "limit": limit, "offset": offset, "ordering": ordering, "search": search }.compact
|
53
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
54
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
55
|
+
end
|
56
|
+
req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/integration-auth-configs"
|
57
|
+
end
|
58
|
+
Vellum::PaginatedSlimIntegrationAuthConfigReadList.from_json(json_object: response.body)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
class AsyncIntegrationAuthConfigsClient
|
62
|
+
# @return [Vellum::AsyncRequestClient]
|
63
|
+
attr_reader :request_client
|
64
|
+
|
65
|
+
|
66
|
+
# @param request_client [Vellum::RequestClient]
|
67
|
+
# @return [Vellum::AsyncIntegrationAuthConfigsClient]
|
68
|
+
def initialize(request_client:)
|
69
|
+
@request_client = request_client
|
70
|
+
end
|
71
|
+
# List Integration Auth Configs
|
72
|
+
#
|
73
|
+
# @param expand [String] The response fields to expand for more information.
|
74
|
+
# - 'integration_credentials' expands the list of integration credentials that the
|
75
|
+
# authenticated entity has access to for the auth config.
|
76
|
+
# @param integration_name [String]
|
77
|
+
# @param integration_provider [String]
|
78
|
+
# @param limit [Integer] Number of results to return per page.
|
79
|
+
# @param offset [Integer] The initial index from which to return the results.
|
80
|
+
# @param ordering [String] Which field to use when ordering the results.
|
81
|
+
# @param search [String] A search term.
|
82
|
+
# @param request_options [Vellum::RequestOptions]
|
83
|
+
# @return [Vellum::PaginatedSlimIntegrationAuthConfigReadList]
|
84
|
+
# @example
|
85
|
+
# api = Vellum::Client.new(
|
86
|
+
# base_url: "https://api.example.com",
|
87
|
+
# environment: Vellum::Environment::PRODUCTION,
|
88
|
+
# api_key: "YOUR_API_KEY"
|
89
|
+
# )
|
90
|
+
# api.integration_auth_configs.list_integration_auth_configs
|
91
|
+
def list_integration_auth_configs(expand: nil, integration_name: nil, integration_provider: nil, limit: nil, offset: nil, ordering: nil, search: nil, request_options: nil)
|
92
|
+
Async do
|
93
|
+
response = @request_client.conn.get do | req |
|
94
|
+
unless request_options&.timeout_in_seconds.nil?
|
95
|
+
req.options.timeout = request_options.timeout_in_seconds
|
96
|
+
end
|
97
|
+
unless request_options&.api_key.nil?
|
98
|
+
req.headers["X-API-KEY"] = request_options.api_key
|
99
|
+
end
|
100
|
+
unless request_options&.api_version.nil?
|
101
|
+
req.headers["X-API-Version"] = request_options.api_version
|
102
|
+
else
|
103
|
+
req.headers["X-API-Version"] = "2025-07-30"
|
104
|
+
end
|
105
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
106
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "expand": expand, "integration_name": integration_name, "integration_provider": integration_provider, "limit": limit, "offset": offset, "ordering": ordering, "search": search }.compact
|
107
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
108
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
109
|
+
end
|
110
|
+
req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/integration-auth-configs"
|
111
|
+
end
|
112
|
+
Vellum::PaginatedSlimIntegrationAuthConfigReadList.from_json(json_object: response.body)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
@@ -0,0 +1,196 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require_relative "../../requests"
|
3
|
+
require_relative "../types/components_schemas_composio_tool_definition"
|
4
|
+
require_relative "../types/paginated_slim_tool_definition_list"
|
5
|
+
require "async"
|
6
|
+
require "async"
|
7
|
+
require_relative "../../requests"
|
8
|
+
|
9
|
+
module Vellum
|
10
|
+
class IntegrationProvidersClient
|
11
|
+
# @return [Vellum::RequestClient]
|
12
|
+
attr_reader :request_client
|
13
|
+
|
14
|
+
|
15
|
+
# @param request_client [Vellum::RequestClient]
|
16
|
+
# @return [Vellum::IntegrationProvidersClient]
|
17
|
+
def initialize(request_client:)
|
18
|
+
@request_client = request_client
|
19
|
+
end
|
20
|
+
# Retrieve a specific integration tool definition.
|
21
|
+
#
|
22
|
+
# @param integration_name [String] The integration name
|
23
|
+
# @param integration_provider [String] The integration provider name
|
24
|
+
# @param tool_name [String] The tool's unique name, as specified by the integration provider
|
25
|
+
# @param request_options [Vellum::RequestOptions]
|
26
|
+
# @return [Vellum::COMPONENTS_SCHEMAS_COMPOSIO_TOOL_DEFINITION]
|
27
|
+
# @example
|
28
|
+
# api = Vellum::Client.new(
|
29
|
+
# base_url: "https://api.example.com",
|
30
|
+
# environment: Vellum::Environment::PRODUCTION,
|
31
|
+
# api_key: "YOUR_API_KEY"
|
32
|
+
# )
|
33
|
+
# api.integration_providers.retrieve_integration_provider_tool_definition(
|
34
|
+
# integration_name: "integration_name",
|
35
|
+
# integration_provider: "integration_provider",
|
36
|
+
# tool_name: "tool_name"
|
37
|
+
# )
|
38
|
+
def retrieve_integration_provider_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil)
|
39
|
+
response = @request_client.conn.get do | req |
|
40
|
+
unless request_options&.timeout_in_seconds.nil?
|
41
|
+
req.options.timeout = request_options.timeout_in_seconds
|
42
|
+
end
|
43
|
+
unless request_options&.api_key.nil?
|
44
|
+
req.headers["X-API-KEY"] = request_options.api_key
|
45
|
+
end
|
46
|
+
unless request_options&.api_version.nil?
|
47
|
+
req.headers["X-API-Version"] = request_options.api_version
|
48
|
+
else
|
49
|
+
req.headers["X-API-Version"] = "2025-07-30"
|
50
|
+
end
|
51
|
+
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
|
55
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
56
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
57
|
+
end
|
58
|
+
req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/integration-providers/#{integration_name}/integrations/#{integration_provider}/tools/#{tool_name}"
|
59
|
+
end
|
60
|
+
Vellum::ComposioToolDefinition.from_json(json_object: response.body)
|
61
|
+
end
|
62
|
+
# List all integration tools for a given provider and integration.
|
63
|
+
#
|
64
|
+
# @param integration_provider [String] The integration provider name
|
65
|
+
# @param integration_name [String] The Vellum Integration name
|
66
|
+
# @param limit [Integer] Number of results to return per page.
|
67
|
+
# @param offset [Integer] The initial index from which to return the results.
|
68
|
+
# @param search [String] The search term to filter the tools by
|
69
|
+
# @param request_options [Vellum::RequestOptions]
|
70
|
+
# @return [Vellum::PaginatedSlimToolDefinitionList]
|
71
|
+
# @example
|
72
|
+
# api = Vellum::Client.new(
|
73
|
+
# base_url: "https://api.example.com",
|
74
|
+
# environment: Vellum::Environment::PRODUCTION,
|
75
|
+
# api_key: "YOUR_API_KEY"
|
76
|
+
# )
|
77
|
+
# api.integration_providers.list_integration_tools(integration_provider: "integration_provider")
|
78
|
+
def list_integration_tools(integration_provider:, integration_name: nil, limit: nil, offset: nil, search: nil, request_options: nil)
|
79
|
+
response = @request_client.conn.get do | req |
|
80
|
+
unless request_options&.timeout_in_seconds.nil?
|
81
|
+
req.options.timeout = request_options.timeout_in_seconds
|
82
|
+
end
|
83
|
+
unless request_options&.api_key.nil?
|
84
|
+
req.headers["X-API-KEY"] = request_options.api_key
|
85
|
+
end
|
86
|
+
unless request_options&.api_version.nil?
|
87
|
+
req.headers["X-API-Version"] = request_options.api_version
|
88
|
+
else
|
89
|
+
req.headers["X-API-Version"] = "2025-07-30"
|
90
|
+
end
|
91
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
92
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "integration_name": integration_name, "limit": limit, "offset": offset, "search": search }.compact
|
93
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
94
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
95
|
+
end
|
96
|
+
req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/integration-providers/#{integration_provider}/tools"
|
97
|
+
end
|
98
|
+
Vellum::PaginatedSlimToolDefinitionList.from_json(json_object: response.body)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
class AsyncIntegrationProvidersClient
|
102
|
+
# @return [Vellum::AsyncRequestClient]
|
103
|
+
attr_reader :request_client
|
104
|
+
|
105
|
+
|
106
|
+
# @param request_client [Vellum::RequestClient]
|
107
|
+
# @return [Vellum::AsyncIntegrationProvidersClient]
|
108
|
+
def initialize(request_client:)
|
109
|
+
@request_client = request_client
|
110
|
+
end
|
111
|
+
# Retrieve a specific integration tool definition.
|
112
|
+
#
|
113
|
+
# @param integration_name [String] The integration name
|
114
|
+
# @param integration_provider [String] The integration provider name
|
115
|
+
# @param tool_name [String] The tool's unique name, as specified by the integration provider
|
116
|
+
# @param request_options [Vellum::RequestOptions]
|
117
|
+
# @return [Vellum::COMPONENTS_SCHEMAS_COMPOSIO_TOOL_DEFINITION]
|
118
|
+
# @example
|
119
|
+
# api = Vellum::Client.new(
|
120
|
+
# base_url: "https://api.example.com",
|
121
|
+
# environment: Vellum::Environment::PRODUCTION,
|
122
|
+
# api_key: "YOUR_API_KEY"
|
123
|
+
# )
|
124
|
+
# api.integration_providers.retrieve_integration_provider_tool_definition(
|
125
|
+
# integration_name: "integration_name",
|
126
|
+
# integration_provider: "integration_provider",
|
127
|
+
# tool_name: "tool_name"
|
128
|
+
# )
|
129
|
+
def retrieve_integration_provider_tool_definition(integration_name:, integration_provider:, tool_name:, request_options: nil)
|
130
|
+
Async do
|
131
|
+
response = @request_client.conn.get do | req |
|
132
|
+
unless request_options&.timeout_in_seconds.nil?
|
133
|
+
req.options.timeout = request_options.timeout_in_seconds
|
134
|
+
end
|
135
|
+
unless request_options&.api_key.nil?
|
136
|
+
req.headers["X-API-KEY"] = request_options.api_key
|
137
|
+
end
|
138
|
+
unless request_options&.api_version.nil?
|
139
|
+
req.headers["X-API-Version"] = request_options.api_version
|
140
|
+
else
|
141
|
+
req.headers["X-API-Version"] = "2025-07-30"
|
142
|
+
end
|
143
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
144
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
145
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
146
|
+
end
|
147
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
148
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
149
|
+
end
|
150
|
+
req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/integration-providers/#{integration_name}/integrations/#{integration_provider}/tools/#{tool_name}"
|
151
|
+
end
|
152
|
+
Vellum::ComposioToolDefinition.from_json(json_object: response.body)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
# List all integration tools for a given provider and integration.
|
156
|
+
#
|
157
|
+
# @param integration_provider [String] The integration provider name
|
158
|
+
# @param integration_name [String] The Vellum Integration name
|
159
|
+
# @param limit [Integer] Number of results to return per page.
|
160
|
+
# @param offset [Integer] The initial index from which to return the results.
|
161
|
+
# @param search [String] The search term to filter the tools by
|
162
|
+
# @param request_options [Vellum::RequestOptions]
|
163
|
+
# @return [Vellum::PaginatedSlimToolDefinitionList]
|
164
|
+
# @example
|
165
|
+
# api = Vellum::Client.new(
|
166
|
+
# base_url: "https://api.example.com",
|
167
|
+
# environment: Vellum::Environment::PRODUCTION,
|
168
|
+
# api_key: "YOUR_API_KEY"
|
169
|
+
# )
|
170
|
+
# api.integration_providers.list_integration_tools(integration_provider: "integration_provider")
|
171
|
+
def list_integration_tools(integration_provider:, integration_name: nil, limit: nil, offset: nil, search: nil, request_options: nil)
|
172
|
+
Async do
|
173
|
+
response = @request_client.conn.get do | req |
|
174
|
+
unless request_options&.timeout_in_seconds.nil?
|
175
|
+
req.options.timeout = request_options.timeout_in_seconds
|
176
|
+
end
|
177
|
+
unless request_options&.api_key.nil?
|
178
|
+
req.headers["X-API-KEY"] = request_options.api_key
|
179
|
+
end
|
180
|
+
unless request_options&.api_version.nil?
|
181
|
+
req.headers["X-API-Version"] = request_options.api_version
|
182
|
+
else
|
183
|
+
req.headers["X-API-Version"] = "2025-07-30"
|
184
|
+
end
|
185
|
+
req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
|
186
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "integration_name": integration_name, "limit": limit, "offset": offset, "search": search }.compact
|
187
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
188
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
189
|
+
end
|
190
|
+
req.url "#{@request_client.get_url(environment: Default, request_options: request_options)}/v1/integration-providers/#{integration_provider}/tools"
|
191
|
+
end
|
192
|
+
Vellum::PaginatedSlimToolDefinitionList.from_json(json_object: response.body)
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
196
|
+
end
|