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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9bcd2047f24bb61f290f95b3876ef518b3e994d3da441d328b61f38c941017e9
4
- data.tar.gz: 507c32962f962430d5ec950a1a021df004edfe545b2d6731aef672fd39bbf981
3
+ metadata.gz: fb4ef60e68acae241c3753e9868822735dc16116bcf897a1cc43611fe1df0773
4
+ data.tar.gz: 5d1259a230ed07fecedf7999badd7f389f821ca0e884b505e89952986211c587
5
5
  SHA512:
6
- metadata.gz: b762310b53b37c32b5a2543d273b73f44b52134e5ea3910f71bb547ffed6ed548010d407cb613d95440aa33142915cfec28b1160485009a31321b3573d5495c3
7
- data.tar.gz: 582d4b17923d8057ad4ffc7f2d87d7f38896f5f7ba9e0a36c17e0a6491e26bec2d66bf636a630bc26400d18420c95821e5fcde8de43f4410599484f386320ddb
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.4' }
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.4' }
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