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.
- vellum/__init__.py +36 -0
- vellum/client/__init__.py +6 -0
- vellum/client/core/client_wrapper.py +2 -2
- vellum/client/reference.md +497 -11
- vellum/client/resources/__init__.py +4 -0
- vellum/client/resources/integration_auth_configs/__init__.py +4 -0
- vellum/client/resources/integration_auth_configs/client.py +186 -0
- vellum/client/resources/integration_auth_configs/raw_client.py +171 -0
- vellum/client/resources/integration_providers/__init__.py +4 -0
- vellum/client/resources/integration_providers/client.py +279 -0
- vellum/client/resources/integration_providers/raw_client.py +255 -0
- vellum/client/resources/integrations/client.py +226 -28
- vellum/client/resources/integrations/raw_client.py +257 -20
- vellum/client/resources/test_suite_runs/client.py +6 -6
- vellum/client/resources/test_suite_runs/raw_client.py +6 -6
- vellum/client/types/__init__.py +32 -0
- vellum/client/types/components_schemas_composio_integration_exec_config.py +5 -0
- vellum/client/types/components_schemas_slim_composio_tool_definition.py +5 -0
- vellum/client/types/composio_integration_exec_config.py +20 -0
- vellum/client/types/composio_tool_definition.py +4 -1
- vellum/client/types/integration_auth_config_integration.py +23 -0
- vellum/client/types/integration_auth_config_integration_credential.py +19 -0
- vellum/client/types/integration_credential_access_type.py +5 -0
- vellum/client/types/integration_name.py +20 -0
- vellum/client/types/integration_provider.py +5 -0
- vellum/client/types/integration_read.py +30 -0
- vellum/client/types/paginated_slim_integration_auth_config_read_list.py +23 -0
- vellum/client/types/paginated_slim_integration_read_list.py +23 -0
- vellum/client/types/paginated_slim_tool_definition_list.py +23 -0
- vellum/client/types/slim_composio_tool_definition.py +23 -0
- vellum/client/types/slim_integration_auth_config_read.py +29 -0
- vellum/client/types/slim_integration_read.py +25 -0
- vellum/client/types/tool_definition_integration.py +23 -0
- vellum/resources/integration_auth_configs/__init__.py +3 -0
- vellum/resources/integration_auth_configs/client.py +3 -0
- vellum/resources/integration_auth_configs/raw_client.py +3 -0
- vellum/resources/integration_providers/__init__.py +3 -0
- vellum/resources/integration_providers/client.py +3 -0
- vellum/resources/integration_providers/raw_client.py +3 -0
- vellum/types/components_schemas_composio_integration_exec_config.py +3 -0
- vellum/types/components_schemas_slim_composio_tool_definition.py +3 -0
- vellum/types/composio_integration_exec_config.py +3 -0
- vellum/types/integration_auth_config_integration.py +3 -0
- vellum/types/integration_auth_config_integration_credential.py +3 -0
- vellum/types/integration_credential_access_type.py +3 -0
- vellum/types/integration_name.py +3 -0
- vellum/types/integration_provider.py +3 -0
- vellum/types/integration_read.py +3 -0
- vellum/types/paginated_slim_integration_auth_config_read_list.py +3 -0
- vellum/types/paginated_slim_integration_read_list.py +3 -0
- vellum/types/paginated_slim_tool_definition_list.py +3 -0
- vellum/types/slim_composio_tool_definition.py +3 -0
- vellum/types/slim_integration_auth_config_read.py +3 -0
- vellum/types/slim_integration_read.py +3 -0
- vellum/types/tool_definition_integration.py +3 -0
- vellum/workflows/integrations/tests/test_vellum_integration_service.py +26 -19
- vellum/workflows/integrations/vellum_integration_service.py +5 -5
- vellum/workflows/nodes/displayable/tool_calling_node/node.py +2 -4
- vellum/workflows/types/definition.py +1 -1
- vellum/workflows/types/tests/test_definition.py +40 -2
- {vellum_ai-1.5.4.dist-info → vellum_ai-1.5.6.dist-info}/METADATA +1 -1
- {vellum_ai-1.5.4.dist-info → vellum_ai-1.5.6.dist-info}/RECORD +66 -21
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_tool_calling_node_vellum_integration_serialization.py +68 -0
- {vellum_ai-1.5.4.dist-info → vellum_ai-1.5.6.dist-info}/LICENSE +0 -0
- {vellum_ai-1.5.4.dist-info → vellum_ai-1.5.6.dist-info}/WHEEL +0 -0
- {vellum_ai-1.5.4.dist-info → vellum_ai-1.5.6.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,255 @@
|
|
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.jsonable_encoder import jsonable_encoder
|
10
|
+
from ...core.pydantic_utilities import parse_obj_as
|
11
|
+
from ...core.request_options import RequestOptions
|
12
|
+
from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
|
13
|
+
from ...types.paginated_slim_tool_definition_list import PaginatedSlimToolDefinitionList
|
14
|
+
|
15
|
+
|
16
|
+
class RawIntegrationProvidersClient:
|
17
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
18
|
+
self._client_wrapper = client_wrapper
|
19
|
+
|
20
|
+
def retrieve_integration_provider_tool_definition(
|
21
|
+
self,
|
22
|
+
integration_name: str,
|
23
|
+
integration_provider: str,
|
24
|
+
tool_name: str,
|
25
|
+
*,
|
26
|
+
request_options: typing.Optional[RequestOptions] = None,
|
27
|
+
) -> HttpResponse[ComponentsSchemasComposioToolDefinition]:
|
28
|
+
"""
|
29
|
+
Retrieve a specific integration tool definition.
|
30
|
+
|
31
|
+
Parameters
|
32
|
+
----------
|
33
|
+
integration_name : str
|
34
|
+
The integration name
|
35
|
+
|
36
|
+
integration_provider : str
|
37
|
+
The integration provider name
|
38
|
+
|
39
|
+
tool_name : str
|
40
|
+
The tool's unique name, as specified by the integration provider
|
41
|
+
|
42
|
+
request_options : typing.Optional[RequestOptions]
|
43
|
+
Request-specific configuration.
|
44
|
+
|
45
|
+
Returns
|
46
|
+
-------
|
47
|
+
HttpResponse[ComponentsSchemasComposioToolDefinition]
|
48
|
+
|
49
|
+
"""
|
50
|
+
_response = self._client_wrapper.httpx_client.request(
|
51
|
+
f"v1/integration-providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}",
|
52
|
+
base_url=self._client_wrapper.get_environment().default,
|
53
|
+
method="GET",
|
54
|
+
request_options=request_options,
|
55
|
+
)
|
56
|
+
try:
|
57
|
+
if 200 <= _response.status_code < 300:
|
58
|
+
_data = typing.cast(
|
59
|
+
ComponentsSchemasComposioToolDefinition,
|
60
|
+
parse_obj_as(
|
61
|
+
type_=ComponentsSchemasComposioToolDefinition, # type: ignore
|
62
|
+
object_=_response.json(),
|
63
|
+
),
|
64
|
+
)
|
65
|
+
return HttpResponse(response=_response, data=_data)
|
66
|
+
_response_json = _response.json()
|
67
|
+
except JSONDecodeError:
|
68
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
69
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
70
|
+
|
71
|
+
def list_integration_tools(
|
72
|
+
self,
|
73
|
+
integration_provider: str,
|
74
|
+
*,
|
75
|
+
integration_name: typing.Optional[str] = None,
|
76
|
+
limit: typing.Optional[int] = None,
|
77
|
+
offset: typing.Optional[int] = None,
|
78
|
+
search: typing.Optional[str] = None,
|
79
|
+
request_options: typing.Optional[RequestOptions] = None,
|
80
|
+
) -> HttpResponse[PaginatedSlimToolDefinitionList]:
|
81
|
+
"""
|
82
|
+
List all integration tools for a given provider and integration.
|
83
|
+
|
84
|
+
Parameters
|
85
|
+
----------
|
86
|
+
integration_provider : str
|
87
|
+
The integration provider name
|
88
|
+
|
89
|
+
integration_name : typing.Optional[str]
|
90
|
+
The Vellum Integration name
|
91
|
+
|
92
|
+
limit : typing.Optional[int]
|
93
|
+
Number of results to return per page.
|
94
|
+
|
95
|
+
offset : typing.Optional[int]
|
96
|
+
The initial index from which to return the results.
|
97
|
+
|
98
|
+
search : typing.Optional[str]
|
99
|
+
The search term to filter the tools by
|
100
|
+
|
101
|
+
request_options : typing.Optional[RequestOptions]
|
102
|
+
Request-specific configuration.
|
103
|
+
|
104
|
+
Returns
|
105
|
+
-------
|
106
|
+
HttpResponse[PaginatedSlimToolDefinitionList]
|
107
|
+
|
108
|
+
"""
|
109
|
+
_response = self._client_wrapper.httpx_client.request(
|
110
|
+
f"v1/integration-providers/{jsonable_encoder(integration_provider)}/tools",
|
111
|
+
base_url=self._client_wrapper.get_environment().default,
|
112
|
+
method="GET",
|
113
|
+
params={
|
114
|
+
"integration_name": integration_name,
|
115
|
+
"limit": limit,
|
116
|
+
"offset": offset,
|
117
|
+
"search": search,
|
118
|
+
},
|
119
|
+
request_options=request_options,
|
120
|
+
)
|
121
|
+
try:
|
122
|
+
if 200 <= _response.status_code < 300:
|
123
|
+
_data = typing.cast(
|
124
|
+
PaginatedSlimToolDefinitionList,
|
125
|
+
parse_obj_as(
|
126
|
+
type_=PaginatedSlimToolDefinitionList, # type: ignore
|
127
|
+
object_=_response.json(),
|
128
|
+
),
|
129
|
+
)
|
130
|
+
return HttpResponse(response=_response, data=_data)
|
131
|
+
_response_json = _response.json()
|
132
|
+
except JSONDecodeError:
|
133
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
134
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
135
|
+
|
136
|
+
|
137
|
+
class AsyncRawIntegrationProvidersClient:
|
138
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
139
|
+
self._client_wrapper = client_wrapper
|
140
|
+
|
141
|
+
async def retrieve_integration_provider_tool_definition(
|
142
|
+
self,
|
143
|
+
integration_name: str,
|
144
|
+
integration_provider: str,
|
145
|
+
tool_name: str,
|
146
|
+
*,
|
147
|
+
request_options: typing.Optional[RequestOptions] = None,
|
148
|
+
) -> AsyncHttpResponse[ComponentsSchemasComposioToolDefinition]:
|
149
|
+
"""
|
150
|
+
Retrieve a specific integration tool definition.
|
151
|
+
|
152
|
+
Parameters
|
153
|
+
----------
|
154
|
+
integration_name : str
|
155
|
+
The integration name
|
156
|
+
|
157
|
+
integration_provider : str
|
158
|
+
The integration provider name
|
159
|
+
|
160
|
+
tool_name : str
|
161
|
+
The tool's unique name, as specified by the integration provider
|
162
|
+
|
163
|
+
request_options : typing.Optional[RequestOptions]
|
164
|
+
Request-specific configuration.
|
165
|
+
|
166
|
+
Returns
|
167
|
+
-------
|
168
|
+
AsyncHttpResponse[ComponentsSchemasComposioToolDefinition]
|
169
|
+
|
170
|
+
"""
|
171
|
+
_response = await self._client_wrapper.httpx_client.request(
|
172
|
+
f"v1/integration-providers/{jsonable_encoder(integration_provider)}/integrations/{jsonable_encoder(integration_name)}/tools/{jsonable_encoder(tool_name)}",
|
173
|
+
base_url=self._client_wrapper.get_environment().default,
|
174
|
+
method="GET",
|
175
|
+
request_options=request_options,
|
176
|
+
)
|
177
|
+
try:
|
178
|
+
if 200 <= _response.status_code < 300:
|
179
|
+
_data = typing.cast(
|
180
|
+
ComponentsSchemasComposioToolDefinition,
|
181
|
+
parse_obj_as(
|
182
|
+
type_=ComponentsSchemasComposioToolDefinition, # type: ignore
|
183
|
+
object_=_response.json(),
|
184
|
+
),
|
185
|
+
)
|
186
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
187
|
+
_response_json = _response.json()
|
188
|
+
except JSONDecodeError:
|
189
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
190
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
191
|
+
|
192
|
+
async def list_integration_tools(
|
193
|
+
self,
|
194
|
+
integration_provider: str,
|
195
|
+
*,
|
196
|
+
integration_name: typing.Optional[str] = None,
|
197
|
+
limit: typing.Optional[int] = None,
|
198
|
+
offset: typing.Optional[int] = None,
|
199
|
+
search: typing.Optional[str] = None,
|
200
|
+
request_options: typing.Optional[RequestOptions] = None,
|
201
|
+
) -> AsyncHttpResponse[PaginatedSlimToolDefinitionList]:
|
202
|
+
"""
|
203
|
+
List all integration tools for a given provider and integration.
|
204
|
+
|
205
|
+
Parameters
|
206
|
+
----------
|
207
|
+
integration_provider : str
|
208
|
+
The integration provider name
|
209
|
+
|
210
|
+
integration_name : typing.Optional[str]
|
211
|
+
The Vellum Integration name
|
212
|
+
|
213
|
+
limit : typing.Optional[int]
|
214
|
+
Number of results to return per page.
|
215
|
+
|
216
|
+
offset : typing.Optional[int]
|
217
|
+
The initial index from which to return the results.
|
218
|
+
|
219
|
+
search : typing.Optional[str]
|
220
|
+
The search term to filter the tools by
|
221
|
+
|
222
|
+
request_options : typing.Optional[RequestOptions]
|
223
|
+
Request-specific configuration.
|
224
|
+
|
225
|
+
Returns
|
226
|
+
-------
|
227
|
+
AsyncHttpResponse[PaginatedSlimToolDefinitionList]
|
228
|
+
|
229
|
+
"""
|
230
|
+
_response = await self._client_wrapper.httpx_client.request(
|
231
|
+
f"v1/integration-providers/{jsonable_encoder(integration_provider)}/tools",
|
232
|
+
base_url=self._client_wrapper.get_environment().default,
|
233
|
+
method="GET",
|
234
|
+
params={
|
235
|
+
"integration_name": integration_name,
|
236
|
+
"limit": limit,
|
237
|
+
"offset": offset,
|
238
|
+
"search": search,
|
239
|
+
},
|
240
|
+
request_options=request_options,
|
241
|
+
)
|
242
|
+
try:
|
243
|
+
if 200 <= _response.status_code < 300:
|
244
|
+
_data = typing.cast(
|
245
|
+
PaginatedSlimToolDefinitionList,
|
246
|
+
parse_obj_as(
|
247
|
+
type_=PaginatedSlimToolDefinitionList, # type: ignore
|
248
|
+
object_=_response.json(),
|
249
|
+
),
|
250
|
+
)
|
251
|
+
return AsyncHttpResponse(response=_response, data=_data)
|
252
|
+
_response_json = _response.json()
|
253
|
+
except JSONDecodeError:
|
254
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
255
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
@@ -6,6 +6,8 @@ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
6
6
|
from ...core.request_options import RequestOptions
|
7
7
|
from ...types.components_schemas_composio_execute_tool_response import ComponentsSchemasComposioExecuteToolResponse
|
8
8
|
from ...types.components_schemas_composio_tool_definition import ComponentsSchemasComposioToolDefinition
|
9
|
+
from ...types.integration_read import IntegrationRead
|
10
|
+
from ...types.paginated_slim_integration_read_list import PaginatedSlimIntegrationReadList
|
9
11
|
from .raw_client import AsyncRawIntegrationsClient, RawIntegrationsClient
|
10
12
|
|
11
13
|
# this is used as the default value for optional parameters
|
@@ -33,8 +35,8 @@ class IntegrationsClient:
|
|
33
35
|
|
34
36
|
def retrieve_integration_tool_definition(
|
35
37
|
self,
|
36
|
-
|
37
|
-
|
38
|
+
integration_name: str,
|
39
|
+
integration_provider: str,
|
38
40
|
tool_name: str,
|
39
41
|
*,
|
40
42
|
request_options: typing.Optional[RequestOptions] = None,
|
@@ -42,10 +44,10 @@ class IntegrationsClient:
|
|
42
44
|
"""
|
43
45
|
Parameters
|
44
46
|
----------
|
45
|
-
|
47
|
+
integration_name : str
|
46
48
|
The integration name
|
47
49
|
|
48
|
-
|
50
|
+
integration_provider : str
|
49
51
|
The integration provider name
|
50
52
|
|
51
53
|
tool_name : str
|
@@ -68,20 +70,20 @@ class IntegrationsClient:
|
|
68
70
|
api_key="YOUR_API_KEY",
|
69
71
|
)
|
70
72
|
client.integrations.retrieve_integration_tool_definition(
|
71
|
-
|
72
|
-
|
73
|
+
integration_name="integration_name",
|
74
|
+
integration_provider="integration_provider",
|
73
75
|
tool_name="tool_name",
|
74
76
|
)
|
75
77
|
"""
|
76
78
|
_response = self._raw_client.retrieve_integration_tool_definition(
|
77
|
-
|
79
|
+
integration_name, integration_provider, tool_name, request_options=request_options
|
78
80
|
)
|
79
81
|
return _response.data
|
80
82
|
|
81
83
|
def execute_integration_tool(
|
82
84
|
self,
|
83
|
-
|
84
|
-
|
85
|
+
integration_name: str,
|
86
|
+
integration_provider: str,
|
85
87
|
tool_name: str,
|
86
88
|
*,
|
87
89
|
arguments: typing.Dict[str, typing.Optional[typing.Any]],
|
@@ -90,10 +92,10 @@ class IntegrationsClient:
|
|
90
92
|
"""
|
91
93
|
Parameters
|
92
94
|
----------
|
93
|
-
|
95
|
+
integration_name : str
|
94
96
|
The integration name
|
95
97
|
|
96
|
-
|
98
|
+
integration_provider : str
|
97
99
|
The integration provider name
|
98
100
|
|
99
101
|
tool_name : str
|
@@ -118,17 +120,107 @@ class IntegrationsClient:
|
|
118
120
|
api_key="YOUR_API_KEY",
|
119
121
|
)
|
120
122
|
client.integrations.execute_integration_tool(
|
121
|
-
|
122
|
-
|
123
|
+
integration_name="integration_name",
|
124
|
+
integration_provider="integration_provider",
|
123
125
|
tool_name="tool_name",
|
124
126
|
arguments={"arguments": {"key": "value"}},
|
125
127
|
)
|
126
128
|
"""
|
127
129
|
_response = self._raw_client.execute_integration_tool(
|
128
|
-
|
130
|
+
integration_name, integration_provider, tool_name, arguments=arguments, request_options=request_options
|
129
131
|
)
|
130
132
|
return _response.data
|
131
133
|
|
134
|
+
def list(
|
135
|
+
self,
|
136
|
+
*,
|
137
|
+
integration_provider: typing.Optional[typing.Literal["COMPOSIO"]] = None,
|
138
|
+
limit: typing.Optional[int] = None,
|
139
|
+
offset: typing.Optional[int] = None,
|
140
|
+
ordering: typing.Optional[str] = None,
|
141
|
+
search: typing.Optional[str] = None,
|
142
|
+
request_options: typing.Optional[RequestOptions] = None,
|
143
|
+
) -> PaginatedSlimIntegrationReadList:
|
144
|
+
"""
|
145
|
+
List all integrations
|
146
|
+
|
147
|
+
Parameters
|
148
|
+
----------
|
149
|
+
integration_provider : typing.Optional[typing.Literal["COMPOSIO"]]
|
150
|
+
* `COMPOSIO` - Composio
|
151
|
+
|
152
|
+
limit : typing.Optional[int]
|
153
|
+
Number of results to return per page.
|
154
|
+
|
155
|
+
offset : typing.Optional[int]
|
156
|
+
The initial index from which to return the results.
|
157
|
+
|
158
|
+
ordering : typing.Optional[str]
|
159
|
+
Which field to use when ordering the results.
|
160
|
+
|
161
|
+
search : typing.Optional[str]
|
162
|
+
A search term.
|
163
|
+
|
164
|
+
request_options : typing.Optional[RequestOptions]
|
165
|
+
Request-specific configuration.
|
166
|
+
|
167
|
+
Returns
|
168
|
+
-------
|
169
|
+
PaginatedSlimIntegrationReadList
|
170
|
+
|
171
|
+
|
172
|
+
Examples
|
173
|
+
--------
|
174
|
+
from vellum import Vellum
|
175
|
+
|
176
|
+
client = Vellum(
|
177
|
+
api_version="YOUR_API_VERSION",
|
178
|
+
api_key="YOUR_API_KEY",
|
179
|
+
)
|
180
|
+
client.integrations.list()
|
181
|
+
"""
|
182
|
+
_response = self._raw_client.list(
|
183
|
+
integration_provider=integration_provider,
|
184
|
+
limit=limit,
|
185
|
+
offset=offset,
|
186
|
+
ordering=ordering,
|
187
|
+
search=search,
|
188
|
+
request_options=request_options,
|
189
|
+
)
|
190
|
+
return _response.data
|
191
|
+
|
192
|
+
def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> IntegrationRead:
|
193
|
+
"""
|
194
|
+
Retrieve an integration
|
195
|
+
|
196
|
+
Parameters
|
197
|
+
----------
|
198
|
+
id : str
|
199
|
+
A UUID string identifying this integration.
|
200
|
+
|
201
|
+
request_options : typing.Optional[RequestOptions]
|
202
|
+
Request-specific configuration.
|
203
|
+
|
204
|
+
Returns
|
205
|
+
-------
|
206
|
+
IntegrationRead
|
207
|
+
|
208
|
+
|
209
|
+
Examples
|
210
|
+
--------
|
211
|
+
from vellum import Vellum
|
212
|
+
|
213
|
+
client = Vellum(
|
214
|
+
api_version="YOUR_API_VERSION",
|
215
|
+
api_key="YOUR_API_KEY",
|
216
|
+
)
|
217
|
+
client.integrations.retrieve(
|
218
|
+
id="id",
|
219
|
+
)
|
220
|
+
"""
|
221
|
+
_response = self._raw_client.retrieve(id, request_options=request_options)
|
222
|
+
return _response.data
|
223
|
+
|
132
224
|
|
133
225
|
class AsyncIntegrationsClient:
|
134
226
|
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
@@ -147,8 +239,8 @@ class AsyncIntegrationsClient:
|
|
147
239
|
|
148
240
|
async def retrieve_integration_tool_definition(
|
149
241
|
self,
|
150
|
-
|
151
|
-
|
242
|
+
integration_name: str,
|
243
|
+
integration_provider: str,
|
152
244
|
tool_name: str,
|
153
245
|
*,
|
154
246
|
request_options: typing.Optional[RequestOptions] = None,
|
@@ -156,10 +248,10 @@ class AsyncIntegrationsClient:
|
|
156
248
|
"""
|
157
249
|
Parameters
|
158
250
|
----------
|
159
|
-
|
251
|
+
integration_name : str
|
160
252
|
The integration name
|
161
253
|
|
162
|
-
|
254
|
+
integration_provider : str
|
163
255
|
The integration provider name
|
164
256
|
|
165
257
|
tool_name : str
|
@@ -187,8 +279,8 @@ class AsyncIntegrationsClient:
|
|
187
279
|
|
188
280
|
async def main() -> None:
|
189
281
|
await client.integrations.retrieve_integration_tool_definition(
|
190
|
-
|
191
|
-
|
282
|
+
integration_name="integration_name",
|
283
|
+
integration_provider="integration_provider",
|
192
284
|
tool_name="tool_name",
|
193
285
|
)
|
194
286
|
|
@@ -196,14 +288,14 @@ class AsyncIntegrationsClient:
|
|
196
288
|
asyncio.run(main())
|
197
289
|
"""
|
198
290
|
_response = await self._raw_client.retrieve_integration_tool_definition(
|
199
|
-
|
291
|
+
integration_name, integration_provider, tool_name, request_options=request_options
|
200
292
|
)
|
201
293
|
return _response.data
|
202
294
|
|
203
295
|
async def execute_integration_tool(
|
204
296
|
self,
|
205
|
-
|
206
|
-
|
297
|
+
integration_name: str,
|
298
|
+
integration_provider: str,
|
207
299
|
tool_name: str,
|
208
300
|
*,
|
209
301
|
arguments: typing.Dict[str, typing.Optional[typing.Any]],
|
@@ -212,10 +304,10 @@ class AsyncIntegrationsClient:
|
|
212
304
|
"""
|
213
305
|
Parameters
|
214
306
|
----------
|
215
|
-
|
307
|
+
integration_name : str
|
216
308
|
The integration name
|
217
309
|
|
218
|
-
|
310
|
+
integration_provider : str
|
219
311
|
The integration provider name
|
220
312
|
|
221
313
|
tool_name : str
|
@@ -245,8 +337,8 @@ class AsyncIntegrationsClient:
|
|
245
337
|
|
246
338
|
async def main() -> None:
|
247
339
|
await client.integrations.execute_integration_tool(
|
248
|
-
|
249
|
-
|
340
|
+
integration_name="integration_name",
|
341
|
+
integration_provider="integration_provider",
|
250
342
|
tool_name="tool_name",
|
251
343
|
arguments={"arguments": {"key": "value"}},
|
252
344
|
)
|
@@ -255,6 +347,112 @@ class AsyncIntegrationsClient:
|
|
255
347
|
asyncio.run(main())
|
256
348
|
"""
|
257
349
|
_response = await self._raw_client.execute_integration_tool(
|
258
|
-
|
350
|
+
integration_name, integration_provider, tool_name, arguments=arguments, request_options=request_options
|
351
|
+
)
|
352
|
+
return _response.data
|
353
|
+
|
354
|
+
async def list(
|
355
|
+
self,
|
356
|
+
*,
|
357
|
+
integration_provider: typing.Optional[typing.Literal["COMPOSIO"]] = None,
|
358
|
+
limit: typing.Optional[int] = None,
|
359
|
+
offset: typing.Optional[int] = None,
|
360
|
+
ordering: typing.Optional[str] = None,
|
361
|
+
search: typing.Optional[str] = None,
|
362
|
+
request_options: typing.Optional[RequestOptions] = None,
|
363
|
+
) -> PaginatedSlimIntegrationReadList:
|
364
|
+
"""
|
365
|
+
List all integrations
|
366
|
+
|
367
|
+
Parameters
|
368
|
+
----------
|
369
|
+
integration_provider : typing.Optional[typing.Literal["COMPOSIO"]]
|
370
|
+
* `COMPOSIO` - Composio
|
371
|
+
|
372
|
+
limit : typing.Optional[int]
|
373
|
+
Number of results to return per page.
|
374
|
+
|
375
|
+
offset : typing.Optional[int]
|
376
|
+
The initial index from which to return the results.
|
377
|
+
|
378
|
+
ordering : typing.Optional[str]
|
379
|
+
Which field to use when ordering the results.
|
380
|
+
|
381
|
+
search : typing.Optional[str]
|
382
|
+
A search term.
|
383
|
+
|
384
|
+
request_options : typing.Optional[RequestOptions]
|
385
|
+
Request-specific configuration.
|
386
|
+
|
387
|
+
Returns
|
388
|
+
-------
|
389
|
+
PaginatedSlimIntegrationReadList
|
390
|
+
|
391
|
+
|
392
|
+
Examples
|
393
|
+
--------
|
394
|
+
import asyncio
|
395
|
+
|
396
|
+
from vellum import AsyncVellum
|
397
|
+
|
398
|
+
client = AsyncVellum(
|
399
|
+
api_version="YOUR_API_VERSION",
|
400
|
+
api_key="YOUR_API_KEY",
|
401
|
+
)
|
402
|
+
|
403
|
+
|
404
|
+
async def main() -> None:
|
405
|
+
await client.integrations.list()
|
406
|
+
|
407
|
+
|
408
|
+
asyncio.run(main())
|
409
|
+
"""
|
410
|
+
_response = await self._raw_client.list(
|
411
|
+
integration_provider=integration_provider,
|
412
|
+
limit=limit,
|
413
|
+
offset=offset,
|
414
|
+
ordering=ordering,
|
415
|
+
search=search,
|
416
|
+
request_options=request_options,
|
259
417
|
)
|
260
418
|
return _response.data
|
419
|
+
|
420
|
+
async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> IntegrationRead:
|
421
|
+
"""
|
422
|
+
Retrieve an integration
|
423
|
+
|
424
|
+
Parameters
|
425
|
+
----------
|
426
|
+
id : str
|
427
|
+
A UUID string identifying this integration.
|
428
|
+
|
429
|
+
request_options : typing.Optional[RequestOptions]
|
430
|
+
Request-specific configuration.
|
431
|
+
|
432
|
+
Returns
|
433
|
+
-------
|
434
|
+
IntegrationRead
|
435
|
+
|
436
|
+
|
437
|
+
Examples
|
438
|
+
--------
|
439
|
+
import asyncio
|
440
|
+
|
441
|
+
from vellum import AsyncVellum
|
442
|
+
|
443
|
+
client = AsyncVellum(
|
444
|
+
api_version="YOUR_API_VERSION",
|
445
|
+
api_key="YOUR_API_KEY",
|
446
|
+
)
|
447
|
+
|
448
|
+
|
449
|
+
async def main() -> None:
|
450
|
+
await client.integrations.retrieve(
|
451
|
+
id="id",
|
452
|
+
)
|
453
|
+
|
454
|
+
|
455
|
+
asyncio.run(main())
|
456
|
+
"""
|
457
|
+
_response = await self._raw_client.retrieve(id, request_options=request_options)
|
458
|
+
return _response.data
|