vellum-ai 1.5.4__py3-none-any.whl → 1.5.6__py3-none-any.whl

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.
Files changed (66) hide show
  1. vellum/__init__.py +36 -0
  2. vellum/client/__init__.py +6 -0
  3. vellum/client/core/client_wrapper.py +2 -2
  4. vellum/client/reference.md +497 -11
  5. vellum/client/resources/__init__.py +4 -0
  6. vellum/client/resources/integration_auth_configs/__init__.py +4 -0
  7. vellum/client/resources/integration_auth_configs/client.py +186 -0
  8. vellum/client/resources/integration_auth_configs/raw_client.py +171 -0
  9. vellum/client/resources/integration_providers/__init__.py +4 -0
  10. vellum/client/resources/integration_providers/client.py +279 -0
  11. vellum/client/resources/integration_providers/raw_client.py +255 -0
  12. vellum/client/resources/integrations/client.py +226 -28
  13. vellum/client/resources/integrations/raw_client.py +257 -20
  14. vellum/client/resources/test_suite_runs/client.py +6 -6
  15. vellum/client/resources/test_suite_runs/raw_client.py +6 -6
  16. vellum/client/types/__init__.py +32 -0
  17. vellum/client/types/components_schemas_composio_integration_exec_config.py +5 -0
  18. vellum/client/types/components_schemas_slim_composio_tool_definition.py +5 -0
  19. vellum/client/types/composio_integration_exec_config.py +20 -0
  20. vellum/client/types/composio_tool_definition.py +4 -1
  21. vellum/client/types/integration_auth_config_integration.py +23 -0
  22. vellum/client/types/integration_auth_config_integration_credential.py +19 -0
  23. vellum/client/types/integration_credential_access_type.py +5 -0
  24. vellum/client/types/integration_name.py +20 -0
  25. vellum/client/types/integration_provider.py +5 -0
  26. vellum/client/types/integration_read.py +30 -0
  27. vellum/client/types/paginated_slim_integration_auth_config_read_list.py +23 -0
  28. vellum/client/types/paginated_slim_integration_read_list.py +23 -0
  29. vellum/client/types/paginated_slim_tool_definition_list.py +23 -0
  30. vellum/client/types/slim_composio_tool_definition.py +23 -0
  31. vellum/client/types/slim_integration_auth_config_read.py +29 -0
  32. vellum/client/types/slim_integration_read.py +25 -0
  33. vellum/client/types/tool_definition_integration.py +23 -0
  34. vellum/resources/integration_auth_configs/__init__.py +3 -0
  35. vellum/resources/integration_auth_configs/client.py +3 -0
  36. vellum/resources/integration_auth_configs/raw_client.py +3 -0
  37. vellum/resources/integration_providers/__init__.py +3 -0
  38. vellum/resources/integration_providers/client.py +3 -0
  39. vellum/resources/integration_providers/raw_client.py +3 -0
  40. vellum/types/components_schemas_composio_integration_exec_config.py +3 -0
  41. vellum/types/components_schemas_slim_composio_tool_definition.py +3 -0
  42. vellum/types/composio_integration_exec_config.py +3 -0
  43. vellum/types/integration_auth_config_integration.py +3 -0
  44. vellum/types/integration_auth_config_integration_credential.py +3 -0
  45. vellum/types/integration_credential_access_type.py +3 -0
  46. vellum/types/integration_name.py +3 -0
  47. vellum/types/integration_provider.py +3 -0
  48. vellum/types/integration_read.py +3 -0
  49. vellum/types/paginated_slim_integration_auth_config_read_list.py +3 -0
  50. vellum/types/paginated_slim_integration_read_list.py +3 -0
  51. vellum/types/paginated_slim_tool_definition_list.py +3 -0
  52. vellum/types/slim_composio_tool_definition.py +3 -0
  53. vellum/types/slim_integration_auth_config_read.py +3 -0
  54. vellum/types/slim_integration_read.py +3 -0
  55. vellum/types/tool_definition_integration.py +3 -0
  56. vellum/workflows/integrations/tests/test_vellum_integration_service.py +26 -19
  57. vellum/workflows/integrations/vellum_integration_service.py +5 -5
  58. vellum/workflows/nodes/displayable/tool_calling_node/node.py +2 -4
  59. vellum/workflows/types/definition.py +1 -1
  60. vellum/workflows/types/tests/test_definition.py +40 -2
  61. {vellum_ai-1.5.4.dist-info → vellum_ai-1.5.6.dist-info}/METADATA +1 -1
  62. {vellum_ai-1.5.4.dist-info → vellum_ai-1.5.6.dist-info}/RECORD +66 -21
  63. vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_vellum_integration_serialization.py +68 -0
  64. {vellum_ai-1.5.4.dist-info → vellum_ai-1.5.6.dist-info}/LICENSE +0 -0
  65. {vellum_ai-1.5.4.dist-info → vellum_ai-1.5.6.dist-info}/WHEEL +0 -0
  66. {vellum_ai-1.5.4.dist-info → vellum_ai-1.5.6.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,186 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ...core.request_options import RequestOptions
7
+ from ...types.paginated_slim_integration_auth_config_read_list import PaginatedSlimIntegrationAuthConfigReadList
8
+ from .raw_client import AsyncRawIntegrationAuthConfigsClient, RawIntegrationAuthConfigsClient
9
+
10
+
11
+ class IntegrationAuthConfigsClient:
12
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
13
+ self._raw_client = RawIntegrationAuthConfigsClient(client_wrapper=client_wrapper)
14
+
15
+ @property
16
+ def _client_wrapper(self) -> SyncClientWrapper:
17
+ return self._raw_client._client_wrapper
18
+
19
+ @property
20
+ def with_raw_response(self) -> RawIntegrationAuthConfigsClient:
21
+ """
22
+ Retrieves a raw implementation of this client that returns raw responses.
23
+
24
+ Returns
25
+ -------
26
+ RawIntegrationAuthConfigsClient
27
+ """
28
+ return self._raw_client
29
+
30
+ def list_integration_auth_configs(
31
+ self,
32
+ *,
33
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
34
+ integration_name: typing.Optional[str] = None,
35
+ integration_provider: typing.Optional[str] = None,
36
+ limit: typing.Optional[int] = None,
37
+ offset: typing.Optional[int] = None,
38
+ ordering: typing.Optional[str] = None,
39
+ search: typing.Optional[str] = None,
40
+ request_options: typing.Optional[RequestOptions] = None,
41
+ ) -> PaginatedSlimIntegrationAuthConfigReadList:
42
+ """
43
+ List Integration Auth Configs
44
+
45
+ Parameters
46
+ ----------
47
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
48
+ The response fields to expand for more information.
49
+ - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
50
+
51
+ integration_name : typing.Optional[str]
52
+
53
+ integration_provider : typing.Optional[str]
54
+
55
+ limit : typing.Optional[int]
56
+ Number of results to return per page.
57
+
58
+ offset : typing.Optional[int]
59
+ The initial index from which to return the results.
60
+
61
+ ordering : typing.Optional[str]
62
+ Which field to use when ordering the results.
63
+
64
+ search : typing.Optional[str]
65
+ A search term.
66
+
67
+ request_options : typing.Optional[RequestOptions]
68
+ Request-specific configuration.
69
+
70
+ Returns
71
+ -------
72
+ PaginatedSlimIntegrationAuthConfigReadList
73
+
74
+
75
+ Examples
76
+ --------
77
+ from vellum import Vellum
78
+
79
+ client = Vellum(
80
+ api_version="YOUR_API_VERSION",
81
+ api_key="YOUR_API_KEY",
82
+ )
83
+ client.integration_auth_configs.list_integration_auth_configs()
84
+ """
85
+ _response = self._raw_client.list_integration_auth_configs(
86
+ expand=expand,
87
+ integration_name=integration_name,
88
+ integration_provider=integration_provider,
89
+ limit=limit,
90
+ offset=offset,
91
+ ordering=ordering,
92
+ search=search,
93
+ request_options=request_options,
94
+ )
95
+ return _response.data
96
+
97
+
98
+ class AsyncIntegrationAuthConfigsClient:
99
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
100
+ self._raw_client = AsyncRawIntegrationAuthConfigsClient(client_wrapper=client_wrapper)
101
+
102
+ @property
103
+ def with_raw_response(self) -> AsyncRawIntegrationAuthConfigsClient:
104
+ """
105
+ Retrieves a raw implementation of this client that returns raw responses.
106
+
107
+ Returns
108
+ -------
109
+ AsyncRawIntegrationAuthConfigsClient
110
+ """
111
+ return self._raw_client
112
+
113
+ async def list_integration_auth_configs(
114
+ self,
115
+ *,
116
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
117
+ integration_name: typing.Optional[str] = None,
118
+ integration_provider: typing.Optional[str] = None,
119
+ limit: typing.Optional[int] = None,
120
+ offset: typing.Optional[int] = None,
121
+ ordering: typing.Optional[str] = None,
122
+ search: typing.Optional[str] = None,
123
+ request_options: typing.Optional[RequestOptions] = None,
124
+ ) -> PaginatedSlimIntegrationAuthConfigReadList:
125
+ """
126
+ List Integration Auth Configs
127
+
128
+ Parameters
129
+ ----------
130
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
131
+ The response fields to expand for more information.
132
+ - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
133
+
134
+ integration_name : typing.Optional[str]
135
+
136
+ integration_provider : typing.Optional[str]
137
+
138
+ limit : typing.Optional[int]
139
+ Number of results to return per page.
140
+
141
+ offset : typing.Optional[int]
142
+ The initial index from which to return the results.
143
+
144
+ ordering : typing.Optional[str]
145
+ Which field to use when ordering the results.
146
+
147
+ search : typing.Optional[str]
148
+ A search term.
149
+
150
+ request_options : typing.Optional[RequestOptions]
151
+ Request-specific configuration.
152
+
153
+ Returns
154
+ -------
155
+ PaginatedSlimIntegrationAuthConfigReadList
156
+
157
+
158
+ Examples
159
+ --------
160
+ import asyncio
161
+
162
+ from vellum import AsyncVellum
163
+
164
+ client = AsyncVellum(
165
+ api_version="YOUR_API_VERSION",
166
+ api_key="YOUR_API_KEY",
167
+ )
168
+
169
+
170
+ async def main() -> None:
171
+ await client.integration_auth_configs.list_integration_auth_configs()
172
+
173
+
174
+ asyncio.run(main())
175
+ """
176
+ _response = await self._raw_client.list_integration_auth_configs(
177
+ expand=expand,
178
+ integration_name=integration_name,
179
+ integration_provider=integration_provider,
180
+ limit=limit,
181
+ offset=offset,
182
+ ordering=ordering,
183
+ search=search,
184
+ request_options=request_options,
185
+ )
186
+ return _response.data
@@ -0,0 +1,171 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from ...core.api_error import ApiError
7
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ...core.http_response import AsyncHttpResponse, HttpResponse
9
+ from ...core.pydantic_utilities import parse_obj_as
10
+ from ...core.request_options import RequestOptions
11
+ from ...types.paginated_slim_integration_auth_config_read_list import PaginatedSlimIntegrationAuthConfigReadList
12
+
13
+
14
+ class RawIntegrationAuthConfigsClient:
15
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
16
+ self._client_wrapper = client_wrapper
17
+
18
+ def list_integration_auth_configs(
19
+ self,
20
+ *,
21
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
22
+ integration_name: typing.Optional[str] = None,
23
+ integration_provider: typing.Optional[str] = None,
24
+ limit: typing.Optional[int] = None,
25
+ offset: typing.Optional[int] = None,
26
+ ordering: typing.Optional[str] = None,
27
+ search: typing.Optional[str] = None,
28
+ request_options: typing.Optional[RequestOptions] = None,
29
+ ) -> HttpResponse[PaginatedSlimIntegrationAuthConfigReadList]:
30
+ """
31
+ List Integration Auth Configs
32
+
33
+ Parameters
34
+ ----------
35
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
36
+ The response fields to expand for more information.
37
+ - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
38
+
39
+ integration_name : typing.Optional[str]
40
+
41
+ integration_provider : typing.Optional[str]
42
+
43
+ limit : typing.Optional[int]
44
+ Number of results to return per page.
45
+
46
+ offset : typing.Optional[int]
47
+ The initial index from which to return the results.
48
+
49
+ ordering : typing.Optional[str]
50
+ Which field to use when ordering the results.
51
+
52
+ search : typing.Optional[str]
53
+ A search term.
54
+
55
+ request_options : typing.Optional[RequestOptions]
56
+ Request-specific configuration.
57
+
58
+ Returns
59
+ -------
60
+ HttpResponse[PaginatedSlimIntegrationAuthConfigReadList]
61
+
62
+ """
63
+ _response = self._client_wrapper.httpx_client.request(
64
+ "v1/integration-auth-configs",
65
+ base_url=self._client_wrapper.get_environment().default,
66
+ method="GET",
67
+ params={
68
+ "expand": expand,
69
+ "integration_name": integration_name,
70
+ "integration_provider": integration_provider,
71
+ "limit": limit,
72
+ "offset": offset,
73
+ "ordering": ordering,
74
+ "search": search,
75
+ },
76
+ request_options=request_options,
77
+ )
78
+ try:
79
+ if 200 <= _response.status_code < 300:
80
+ _data = typing.cast(
81
+ PaginatedSlimIntegrationAuthConfigReadList,
82
+ parse_obj_as(
83
+ type_=PaginatedSlimIntegrationAuthConfigReadList, # type: ignore
84
+ object_=_response.json(),
85
+ ),
86
+ )
87
+ return HttpResponse(response=_response, data=_data)
88
+ _response_json = _response.json()
89
+ except JSONDecodeError:
90
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
91
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
92
+
93
+
94
+ class AsyncRawIntegrationAuthConfigsClient:
95
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
96
+ self._client_wrapper = client_wrapper
97
+
98
+ async def list_integration_auth_configs(
99
+ self,
100
+ *,
101
+ expand: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
102
+ integration_name: typing.Optional[str] = None,
103
+ integration_provider: typing.Optional[str] = None,
104
+ limit: typing.Optional[int] = None,
105
+ offset: typing.Optional[int] = None,
106
+ ordering: typing.Optional[str] = None,
107
+ search: typing.Optional[str] = None,
108
+ request_options: typing.Optional[RequestOptions] = None,
109
+ ) -> AsyncHttpResponse[PaginatedSlimIntegrationAuthConfigReadList]:
110
+ """
111
+ List Integration Auth Configs
112
+
113
+ Parameters
114
+ ----------
115
+ expand : typing.Optional[typing.Union[str, typing.Sequence[str]]]
116
+ The response fields to expand for more information.
117
+ - 'integration_credentials' expands the list of integration credentials that the authenticated entity has access to for the auth config.
118
+
119
+ integration_name : typing.Optional[str]
120
+
121
+ integration_provider : typing.Optional[str]
122
+
123
+ limit : typing.Optional[int]
124
+ Number of results to return per page.
125
+
126
+ offset : typing.Optional[int]
127
+ The initial index from which to return the results.
128
+
129
+ ordering : typing.Optional[str]
130
+ Which field to use when ordering the results.
131
+
132
+ search : typing.Optional[str]
133
+ A search term.
134
+
135
+ request_options : typing.Optional[RequestOptions]
136
+ Request-specific configuration.
137
+
138
+ Returns
139
+ -------
140
+ AsyncHttpResponse[PaginatedSlimIntegrationAuthConfigReadList]
141
+
142
+ """
143
+ _response = await self._client_wrapper.httpx_client.request(
144
+ "v1/integration-auth-configs",
145
+ base_url=self._client_wrapper.get_environment().default,
146
+ method="GET",
147
+ params={
148
+ "expand": expand,
149
+ "integration_name": integration_name,
150
+ "integration_provider": integration_provider,
151
+ "limit": limit,
152
+ "offset": offset,
153
+ "ordering": ordering,
154
+ "search": search,
155
+ },
156
+ request_options=request_options,
157
+ )
158
+ try:
159
+ if 200 <= _response.status_code < 300:
160
+ _data = typing.cast(
161
+ PaginatedSlimIntegrationAuthConfigReadList,
162
+ parse_obj_as(
163
+ type_=PaginatedSlimIntegrationAuthConfigReadList, # type: ignore
164
+ object_=_response.json(),
165
+ ),
166
+ )
167
+ return AsyncHttpResponse(response=_response, data=_data)
168
+ _response_json = _response.json()
169
+ except JSONDecodeError:
170
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
171
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
@@ -0,0 +1,4 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
@@ -0,0 +1,279 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ...core.request_options import RequestOptions
7
+ from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
8
+ from ...types.paginated_slim_tool_definition_list import PaginatedSlimToolDefinitionList
9
+ from .raw_client import AsyncRawIntegrationProvidersClient, RawIntegrationProvidersClient
10
+
11
+
12
+ class IntegrationProvidersClient:
13
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
14
+ self._raw_client = RawIntegrationProvidersClient(client_wrapper=client_wrapper)
15
+
16
+ @property
17
+ def _client_wrapper(self) -> SyncClientWrapper:
18
+ return self._raw_client._client_wrapper
19
+
20
+ @property
21
+ def with_raw_response(self) -> RawIntegrationProvidersClient:
22
+ """
23
+ Retrieves a raw implementation of this client that returns raw responses.
24
+
25
+ Returns
26
+ -------
27
+ RawIntegrationProvidersClient
28
+ """
29
+ return self._raw_client
30
+
31
+ def retrieve_integration_provider_tool_definition(
32
+ self,
33
+ integration_name: str,
34
+ integration_provider: str,
35
+ tool_name: str,
36
+ *,
37
+ request_options: typing.Optional[RequestOptions] = None,
38
+ ) -> ComponentsSchemasComposioToolDefinition:
39
+ """
40
+ Retrieve a specific integration tool definition.
41
+
42
+ Parameters
43
+ ----------
44
+ integration_name : str
45
+ The integration name
46
+
47
+ integration_provider : str
48
+ The integration provider name
49
+
50
+ tool_name : str
51
+ The tool's unique name, as specified by the integration provider
52
+
53
+ request_options : typing.Optional[RequestOptions]
54
+ Request-specific configuration.
55
+
56
+ Returns
57
+ -------
58
+ ComponentsSchemasComposioToolDefinition
59
+
60
+
61
+ Examples
62
+ --------
63
+ from vellum import Vellum
64
+
65
+ client = Vellum(
66
+ api_version="YOUR_API_VERSION",
67
+ api_key="YOUR_API_KEY",
68
+ )
69
+ client.integration_providers.retrieve_integration_provider_tool_definition(
70
+ integration_name="integration_name",
71
+ integration_provider="integration_provider",
72
+ tool_name="tool_name",
73
+ )
74
+ """
75
+ _response = self._raw_client.retrieve_integration_provider_tool_definition(
76
+ integration_name, integration_provider, tool_name, request_options=request_options
77
+ )
78
+ return _response.data
79
+
80
+ def list_integration_tools(
81
+ self,
82
+ integration_provider: str,
83
+ *,
84
+ integration_name: typing.Optional[str] = None,
85
+ limit: typing.Optional[int] = None,
86
+ offset: typing.Optional[int] = None,
87
+ search: typing.Optional[str] = None,
88
+ request_options: typing.Optional[RequestOptions] = None,
89
+ ) -> PaginatedSlimToolDefinitionList:
90
+ """
91
+ List all integration tools for a given provider and integration.
92
+
93
+ Parameters
94
+ ----------
95
+ integration_provider : str
96
+ The integration provider name
97
+
98
+ integration_name : typing.Optional[str]
99
+ The Vellum Integration name
100
+
101
+ limit : typing.Optional[int]
102
+ Number of results to return per page.
103
+
104
+ offset : typing.Optional[int]
105
+ The initial index from which to return the results.
106
+
107
+ search : typing.Optional[str]
108
+ The search term to filter the tools by
109
+
110
+ request_options : typing.Optional[RequestOptions]
111
+ Request-specific configuration.
112
+
113
+ Returns
114
+ -------
115
+ PaginatedSlimToolDefinitionList
116
+
117
+
118
+ Examples
119
+ --------
120
+ from vellum import Vellum
121
+
122
+ client = Vellum(
123
+ api_version="YOUR_API_VERSION",
124
+ api_key="YOUR_API_KEY",
125
+ )
126
+ client.integration_providers.list_integration_tools(
127
+ integration_provider="integration_provider",
128
+ )
129
+ """
130
+ _response = self._raw_client.list_integration_tools(
131
+ integration_provider,
132
+ integration_name=integration_name,
133
+ limit=limit,
134
+ offset=offset,
135
+ search=search,
136
+ request_options=request_options,
137
+ )
138
+ return _response.data
139
+
140
+
141
+ class AsyncIntegrationProvidersClient:
142
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
143
+ self._raw_client = AsyncRawIntegrationProvidersClient(client_wrapper=client_wrapper)
144
+
145
+ @property
146
+ def with_raw_response(self) -> AsyncRawIntegrationProvidersClient:
147
+ """
148
+ Retrieves a raw implementation of this client that returns raw responses.
149
+
150
+ Returns
151
+ -------
152
+ AsyncRawIntegrationProvidersClient
153
+ """
154
+ return self._raw_client
155
+
156
+ async def retrieve_integration_provider_tool_definition(
157
+ self,
158
+ integration_name: str,
159
+ integration_provider: str,
160
+ tool_name: str,
161
+ *,
162
+ request_options: typing.Optional[RequestOptions] = None,
163
+ ) -> ComponentsSchemasComposioToolDefinition:
164
+ """
165
+ Retrieve a specific integration tool definition.
166
+
167
+ Parameters
168
+ ----------
169
+ integration_name : str
170
+ The integration name
171
+
172
+ integration_provider : str
173
+ The integration provider name
174
+
175
+ tool_name : str
176
+ The tool's unique name, as specified by the integration provider
177
+
178
+ request_options : typing.Optional[RequestOptions]
179
+ Request-specific configuration.
180
+
181
+ Returns
182
+ -------
183
+ ComponentsSchemasComposioToolDefinition
184
+
185
+
186
+ Examples
187
+ --------
188
+ import asyncio
189
+
190
+ from vellum import AsyncVellum
191
+
192
+ client = AsyncVellum(
193
+ api_version="YOUR_API_VERSION",
194
+ api_key="YOUR_API_KEY",
195
+ )
196
+
197
+
198
+ async def main() -> None:
199
+ await client.integration_providers.retrieve_integration_provider_tool_definition(
200
+ integration_name="integration_name",
201
+ integration_provider="integration_provider",
202
+ tool_name="tool_name",
203
+ )
204
+
205
+
206
+ asyncio.run(main())
207
+ """
208
+ _response = await self._raw_client.retrieve_integration_provider_tool_definition(
209
+ integration_name, integration_provider, tool_name, request_options=request_options
210
+ )
211
+ return _response.data
212
+
213
+ async def list_integration_tools(
214
+ self,
215
+ integration_provider: str,
216
+ *,
217
+ integration_name: typing.Optional[str] = None,
218
+ limit: typing.Optional[int] = None,
219
+ offset: typing.Optional[int] = None,
220
+ search: typing.Optional[str] = None,
221
+ request_options: typing.Optional[RequestOptions] = None,
222
+ ) -> PaginatedSlimToolDefinitionList:
223
+ """
224
+ List all integration tools for a given provider and integration.
225
+
226
+ Parameters
227
+ ----------
228
+ integration_provider : str
229
+ The integration provider name
230
+
231
+ integration_name : typing.Optional[str]
232
+ The Vellum Integration name
233
+
234
+ limit : typing.Optional[int]
235
+ Number of results to return per page.
236
+
237
+ offset : typing.Optional[int]
238
+ The initial index from which to return the results.
239
+
240
+ search : typing.Optional[str]
241
+ The search term to filter the tools by
242
+
243
+ request_options : typing.Optional[RequestOptions]
244
+ Request-specific configuration.
245
+
246
+ Returns
247
+ -------
248
+ PaginatedSlimToolDefinitionList
249
+
250
+
251
+ Examples
252
+ --------
253
+ import asyncio
254
+
255
+ from vellum import AsyncVellum
256
+
257
+ client = AsyncVellum(
258
+ api_version="YOUR_API_VERSION",
259
+ api_key="YOUR_API_KEY",
260
+ )
261
+
262
+
263
+ async def main() -> None:
264
+ await client.integration_providers.list_integration_tools(
265
+ integration_provider="integration_provider",
266
+ )
267
+
268
+
269
+ asyncio.run(main())
270
+ """
271
+ _response = await self._raw_client.list_integration_tools(
272
+ integration_provider,
273
+ integration_name=integration_name,
274
+ limit=limit,
275
+ offset=offset,
276
+ search=search,
277
+ request_options=request_options,
278
+ )
279
+ return _response.data