vellum_ai 1.5.4 → 1.5.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 +15 -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_credential.rb +55 -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 +76 -0
- data/lib/vellum_ai/types/slim_integration_read.rb +86 -0
- data/lib/vellum_ai/types/tool_definition_integration.rb +72 -0
- data/lib/vellum_ai.rb +14 -0
- metadata +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb4ef60e68acae241c3753e9868822735dc16116bcf897a1cc43611fe1df0773
|
4
|
+
data.tar.gz: 5d1259a230ed07fecedf7999badd7f389f821ca0e884b505e89952986211c587
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f9a00cd355db706dd940b7b162c8fd3b653fbbd915891e180523f246ab84e21759ba72fcbdb5b897d540d44d35eee04be0a2b1ee26157a4d5e86ea421658830
|
7
|
+
data.tar.gz: 7b0ff2df98c9b3f8979a30eb2ea1bac23388c3cd48b408c4a33397ee36a74732873ca7a2c5b230ed1610b2a3195f1f88a27079f158604c506eefc728ff78d74a
|
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.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.5.
|
110
|
+
headers = { "X-Fern-Language": 'Ruby', "X-Fern-SDK-Name": 'vellum_ai', "X-Fern-SDK-Version": '1.5.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
@@ -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,12 @@ 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_credential"
|
272
|
+
require_relative "vellum_ai/types/integration_credential_access_type"
|
273
|
+
require_relative "vellum_ai/types/components_schemas_composio_integration_exec_config"
|
274
|
+
require_relative "vellum_ai/types/integration_name"
|
275
|
+
require_relative "vellum_ai/types/integration_provider"
|
276
|
+
require_relative "vellum_ai/types/integration_read"
|
270
277
|
require_relative "vellum_ai/types/invoked_port"
|
271
278
|
require_relative "vellum_ai/types/iteration_state_enum"
|
272
279
|
require_relative "vellum_ai/types/json_input_request"
|
@@ -375,6 +382,9 @@ require_relative "vellum_ai/types/paginated_document_index_read_list"
|
|
375
382
|
require_relative "vellum_ai/types/paginated_folder_entity_list"
|
376
383
|
require_relative "vellum_ai/types/paginated_slim_deployment_read_list"
|
377
384
|
require_relative "vellum_ai/types/paginated_slim_document_list"
|
385
|
+
require_relative "vellum_ai/types/paginated_slim_integration_auth_config_read_list"
|
386
|
+
require_relative "vellum_ai/types/paginated_slim_integration_read_list"
|
387
|
+
require_relative "vellum_ai/types/paginated_slim_tool_definition_list"
|
378
388
|
require_relative "vellum_ai/types/paginated_slim_workflow_deployment_list"
|
379
389
|
require_relative "vellum_ai/types/paginated_test_suite_run_execution_list"
|
380
390
|
require_relative "vellum_ai/types/paginated_test_suite_test_case_list"
|
@@ -458,10 +468,14 @@ require_relative "vellum_ai/types/search_weights_request"
|
|
458
468
|
require_relative "vellum_ai/types/secret_type_enum"
|
459
469
|
require_relative "vellum_ai/types/sentence_chunker_config"
|
460
470
|
require_relative "vellum_ai/types/sentence_chunker_config_request"
|
471
|
+
require_relative "vellum_ai/types/slim_composio_tool_definition"
|
461
472
|
require_relative "vellum_ai/types/slim_deployment_read"
|
462
473
|
require_relative "vellum_ai/types/slim_document"
|
463
474
|
require_relative "vellum_ai/types/slim_document_document_to_document_index"
|
475
|
+
require_relative "vellum_ai/types/slim_integration_auth_config_read"
|
476
|
+
require_relative "vellum_ai/types/slim_integration_read"
|
464
477
|
require_relative "vellum_ai/types/slim_release_review"
|
478
|
+
require_relative "vellum_ai/types/components_schemas_slim_composio_tool_definition"
|
465
479
|
require_relative "vellum_ai/types/slim_workflow_deployment"
|
466
480
|
require_relative "vellum_ai/types/slim_workflow_execution_read"
|
467
481
|
require_relative "vellum_ai/types/span_link"
|
@@ -578,6 +592,7 @@ require_relative "vellum_ai/types/thinking_vellum_value_request"
|
|
578
592
|
require_relative "vellum_ai/types/token_overlapping_window_chunker_config"
|
579
593
|
require_relative "vellum_ai/types/token_overlapping_window_chunker_config_request"
|
580
594
|
require_relative "vellum_ai/types/components_schemas_composio_tool_definition"
|
595
|
+
require_relative "vellum_ai/types/tool_definition_integration"
|
581
596
|
require_relative "vellum_ai/types/unit_enum"
|
582
597
|
require_relative "vellum_ai/types/upload_document_response"
|
583
598
|
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
|