agentkit-sdk-python 0.1.5__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 (120) hide show
  1. agentkit/__init__.py +23 -0
  2. agentkit/apps/__init__.py +58 -0
  3. agentkit/apps/a2a_app/__init__.py +13 -0
  4. agentkit/apps/a2a_app/a2a_app.py +134 -0
  5. agentkit/apps/a2a_app/telemetry.py +119 -0
  6. agentkit/apps/agent_server_app/__init__.py +13 -0
  7. agentkit/apps/agent_server_app/agent_server_app.py +85 -0
  8. agentkit/apps/base_app.py +20 -0
  9. agentkit/apps/mcp_app/__init__.py +13 -0
  10. agentkit/apps/mcp_app/mcp_app.py +150 -0
  11. agentkit/apps/mcp_app/telemetry.py +115 -0
  12. agentkit/apps/simple_app/__init__.py +13 -0
  13. agentkit/apps/simple_app/simple_app.py +94 -0
  14. agentkit/apps/simple_app/simple_app_handlers.py +325 -0
  15. agentkit/apps/simple_app/telemetry.py +124 -0
  16. agentkit/apps/utils.py +45 -0
  17. agentkit/client/__init__.py +26 -0
  18. agentkit/client/base_client.py +219 -0
  19. agentkit/identity/__init__.py +13 -0
  20. agentkit/identity/auth.py +70 -0
  21. agentkit/knowledge/__init__.py +47 -0
  22. agentkit/knowledge/knowledge.py +203 -0
  23. agentkit/knowledge/knowledge_all_types.py +191 -0
  24. agentkit/mcp/__init__.py +79 -0
  25. agentkit/mcp/mcp.py +294 -0
  26. agentkit/mcp/mcp_all_types.py +1212 -0
  27. agentkit/memory/__init__.py +71 -0
  28. agentkit/memory/memory.py +236 -0
  29. agentkit/memory/memory_all_types.py +358 -0
  30. agentkit/runtime/__init__.py +13 -0
  31. agentkit/runtime/runtime.py +191 -0
  32. agentkit/runtime/runtime_all_types.py +624 -0
  33. agentkit/runtime/runtime_v1.py +178 -0
  34. agentkit/runtime/types.py +188 -0
  35. agentkit/toolkit/__init__.py +13 -0
  36. agentkit/toolkit/cli/__init__.py +13 -0
  37. agentkit/toolkit/cli/__main__.py +7 -0
  38. agentkit/toolkit/cli/cli.py +97 -0
  39. agentkit/toolkit/cli/cli_build.py +53 -0
  40. agentkit/toolkit/cli/cli_config.py +170 -0
  41. agentkit/toolkit/cli/cli_deploy.py +52 -0
  42. agentkit/toolkit/cli/cli_destroy.py +53 -0
  43. agentkit/toolkit/cli/cli_init.py +364 -0
  44. agentkit/toolkit/cli/cli_invoke.py +168 -0
  45. agentkit/toolkit/cli/cli_launch.py +34 -0
  46. agentkit/toolkit/cli/cli_status.py +53 -0
  47. agentkit/toolkit/cli/cli_version.py +87 -0
  48. agentkit/toolkit/cli/utils.py +47 -0
  49. agentkit/toolkit/config/__init__.py +52 -0
  50. agentkit/toolkit/config/auto_prompt.py +752 -0
  51. agentkit/toolkit/config/build_config.py +28 -0
  52. agentkit/toolkit/config/common_config.py +18 -0
  53. agentkit/toolkit/config/config.py +306 -0
  54. agentkit/toolkit/config/config_handler.py +331 -0
  55. agentkit/toolkit/config/config_manager.py +48 -0
  56. agentkit/toolkit/config/config_validator.py +121 -0
  57. agentkit/toolkit/config/constants.py +18 -0
  58. agentkit/toolkit/config/dataclass_utils.py +153 -0
  59. agentkit/toolkit/config/deploy_config.py +1 -0
  60. agentkit/toolkit/config/utils.py +57 -0
  61. agentkit/toolkit/config/workflow_configs.py +149 -0
  62. agentkit/toolkit/consts.py +1 -0
  63. agentkit/toolkit/core/__init__.py +13 -0
  64. agentkit/toolkit/core/build/__init__.py +13 -0
  65. agentkit/toolkit/core/build/base_builder.py +6 -0
  66. agentkit/toolkit/core/build/cloud_builder.py +0 -0
  67. agentkit/toolkit/core/build/local_builder.py +0 -0
  68. agentkit/toolkit/core/deploy/__init__.py +13 -0
  69. agentkit/toolkit/core/deploy/base_deployer.py +6 -0
  70. agentkit/toolkit/core/deploy/cloud_deployer.py +0 -0
  71. agentkit/toolkit/core/deploy/local_deployer.py +0 -0
  72. agentkit/toolkit/integrations/__init__.py +17 -0
  73. agentkit/toolkit/integrations/builder/__init__.py +23 -0
  74. agentkit/toolkit/integrations/builder/base.py +59 -0
  75. agentkit/toolkit/integrations/builder/local_docker_builder.py +163 -0
  76. agentkit/toolkit/integrations/builder/ve_core_pipeline_builder.py +853 -0
  77. agentkit/toolkit/integrations/container.py +843 -0
  78. agentkit/toolkit/integrations/runner/__init__.py +26 -0
  79. agentkit/toolkit/integrations/runner/base.py +222 -0
  80. agentkit/toolkit/integrations/runner/local_docker_runner.py +407 -0
  81. agentkit/toolkit/integrations/runner/ve_agentkit_runner.py +665 -0
  82. agentkit/toolkit/integrations/services/__init__.py +26 -0
  83. agentkit/toolkit/integrations/services/cr_service.py +449 -0
  84. agentkit/toolkit/integrations/services/tos_service.py +291 -0
  85. agentkit/toolkit/integrations/utils/__init__.py +21 -0
  86. agentkit/toolkit/integrations/utils/project_archiver.py +276 -0
  87. agentkit/toolkit/integrations/ve_code_pipeline.py +643 -0
  88. agentkit/toolkit/integrations/ve_cr.py +385 -0
  89. agentkit/toolkit/integrations/ve_iam.py +210 -0
  90. agentkit/toolkit/resources/samples/basic.py +79 -0
  91. agentkit/toolkit/resources/samples/basic_stream.py +100 -0
  92. agentkit/toolkit/resources/samples/customer_support_assistant.py +3 -0
  93. agentkit/toolkit/resources/samples/financial_analyst.py +140 -0
  94. agentkit/toolkit/resources/samples/simple_a2a_veadk.py +32 -0
  95. agentkit/toolkit/resources/samples/simple_app_veadk.py +55 -0
  96. agentkit/toolkit/resources/samples/simple_mcp_veadk.py +50 -0
  97. agentkit/toolkit/resources/templates/Dockerfile.j2 +27 -0
  98. agentkit/toolkit/resources/templates/code-pipeline-tos-cr-step.j2 +52 -0
  99. agentkit/toolkit/workflows/__init__.py +27 -0
  100. agentkit/toolkit/workflows/base.py +87 -0
  101. agentkit/toolkit/workflows/hybird_local_ve_workflow_v1.py +381 -0
  102. agentkit/toolkit/workflows/local_workflow_v1.py +262 -0
  103. agentkit/toolkit/workflows/ve_agentkit_workflow.py +369 -0
  104. agentkit/tools/__init__.py +17 -0
  105. agentkit/tools/tools.py +106 -0
  106. agentkit/tools/tools_all_types.py +337 -0
  107. agentkit/utils/__init__.py +41 -0
  108. agentkit/utils/credential.py +44 -0
  109. agentkit/utils/logging_config.py +366 -0
  110. agentkit/utils/misc.py +70 -0
  111. agentkit/utils/request.py +59 -0
  112. agentkit/utils/template_utils.py +256 -0
  113. agentkit/utils/ve_sign.py +247 -0
  114. agentkit/version.py +15 -0
  115. agentkit_sdk_python-0.1.5.dist-info/METADATA +262 -0
  116. agentkit_sdk_python-0.1.5.dist-info/RECORD +120 -0
  117. agentkit_sdk_python-0.1.5.dist-info/WHEEL +5 -0
  118. agentkit_sdk_python-0.1.5.dist-info/entry_points.txt +2 -0
  119. agentkit_sdk_python-0.1.5.dist-info/licenses/LICENSE +201 -0
  120. agentkit_sdk_python-0.1.5.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1212 @@
1
+ # Copyright (c) 2025 Beijing Volcano Engine Technology Co., Ltd. and/or its affiliates.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ # Auto-generated from API JSON definition
16
+ # Do not edit manually
17
+
18
+ from __future__ import annotations
19
+
20
+ from typing import Optional, List, Dict, Any
21
+ from pydantic import BaseModel, Field
22
+
23
+
24
+ # Data Types
25
+ class TlsSettingsForGetMCPService(BaseModel):
26
+ tls_mode: Optional[str] = Field(default=None, alias="TlsMode")
27
+
28
+ model_config = {
29
+ "populate_by_name": True,
30
+ "arbitrary_types_allowed": True
31
+ }
32
+
33
+
34
+ class CustomConfigurationForGetMCPService(BaseModel):
35
+ domain: Optional[str] = Field(default=None, alias="Domain")
36
+ port: Optional[int] = Field(default=None, alias="Port")
37
+ protocol_type: Optional[str] = Field(default=None, alias="ProtocolType")
38
+ tls_settings: Optional[TlsSettingsForGetMCPService] = Field(default=None, alias="TlsSettings")
39
+
40
+ model_config = {
41
+ "populate_by_name": True,
42
+ "arbitrary_types_allowed": True
43
+ }
44
+
45
+
46
+ class FunctionConfigurationForGetMCPService(BaseModel):
47
+ function_id: Optional[str] = Field(default=None, alias="FunctionId")
48
+
49
+ model_config = {
50
+ "populate_by_name": True,
51
+ "arbitrary_types_allowed": True
52
+ }
53
+
54
+
55
+ class BackendConfigurationForGetMCPService(BaseModel):
56
+ custom_configuration: Optional[CustomConfigurationForGetMCPService] = Field(default=None, alias="CustomConfiguration")
57
+ function_configuration: Optional[FunctionConfigurationForGetMCPService] = Field(default=None, alias="FunctionConfiguration")
58
+
59
+ model_config = {
60
+ "populate_by_name": True,
61
+ "arbitrary_types_allowed": True
62
+ }
63
+
64
+
65
+ class CustomJwtAuthorizerForGetMCPService(BaseModel):
66
+ allowed_clients: Optional[list[str]] = Field(default=None, alias="AllowedClients")
67
+ discovery_url: Optional[str] = Field(default=None, alias="DiscoveryUrl")
68
+
69
+ model_config = {
70
+ "populate_by_name": True,
71
+ "arbitrary_types_allowed": True
72
+ }
73
+
74
+
75
+ class ApiKeysForGetMCPService(BaseModel):
76
+ key: Optional[str] = Field(default=None, alias="Key")
77
+ name: Optional[str] = Field(default=None, alias="Name")
78
+
79
+ model_config = {
80
+ "populate_by_name": True,
81
+ "arbitrary_types_allowed": True
82
+ }
83
+
84
+
85
+ class KeyAuthForGetMCPService(BaseModel):
86
+ api_key_location: Optional[str] = Field(default=None, alias="ApiKeyLocation")
87
+ api_keys: Optional[list[ApiKeysForGetMCPService]] = Field(default=None, alias="ApiKeys")
88
+
89
+ model_config = {
90
+ "populate_by_name": True,
91
+ "arbitrary_types_allowed": True
92
+ }
93
+
94
+
95
+ class AuthorizerForGetMCPService(BaseModel):
96
+ custom_jwt_authorizer: Optional[CustomJwtAuthorizerForGetMCPService] = Field(default=None, alias="CustomJwtAuthorizer")
97
+ key_auth: Optional[KeyAuthForGetMCPService] = Field(default=None, alias="KeyAuth")
98
+
99
+ model_config = {
100
+ "populate_by_name": True,
101
+ "arbitrary_types_allowed": True
102
+ }
103
+
104
+
105
+ class InboundAuthorizerConfigurationForGetMCPService(BaseModel):
106
+ authorizer: Optional[AuthorizerForGetMCPService] = Field(default=None, alias="Authorizer")
107
+ authorizer_type: Optional[str] = Field(default=None, alias="AuthorizerType")
108
+
109
+ model_config = {
110
+ "populate_by_name": True,
111
+ "arbitrary_types_allowed": True
112
+ }
113
+
114
+
115
+ class VpcConfigForGetMCPService(BaseModel):
116
+ subnet_ids: Optional[list[str]] = Field(default=None, alias="SubnetIds")
117
+ vpc_id: Optional[str] = Field(default=None, alias="VpcId")
118
+
119
+ model_config = {
120
+ "populate_by_name": True,
121
+ "arbitrary_types_allowed": True
122
+ }
123
+
124
+
125
+ class NetworkConfigurationsForGetMCPService(BaseModel):
126
+ endpoint: Optional[str] = Field(default=None, alias="Endpoint")
127
+ network_type: Optional[str] = Field(default=None, alias="NetworkType")
128
+ vpc_config: Optional[VpcConfigForGetMCPService] = Field(default=None, alias="VpcConfig")
129
+
130
+ model_config = {
131
+ "populate_by_name": True,
132
+ "arbitrary_types_allowed": True
133
+ }
134
+
135
+
136
+ class CustomJwtAuthorizerForGetMCPService(BaseModel):
137
+ allowed_clients: Optional[list[str]] = Field(default=None, alias="AllowedClients")
138
+ discovery_url: Optional[str] = Field(default=None, alias="DiscoveryUrl")
139
+
140
+ model_config = {
141
+ "populate_by_name": True,
142
+ "arbitrary_types_allowed": True
143
+ }
144
+
145
+
146
+ class ApiKeysForGetMCPService(BaseModel):
147
+ key: Optional[str] = Field(default=None, alias="Key")
148
+ name: Optional[str] = Field(default=None, alias="Name")
149
+
150
+ model_config = {
151
+ "populate_by_name": True,
152
+ "arbitrary_types_allowed": True
153
+ }
154
+
155
+
156
+ class KeyAuthForGetMCPService(BaseModel):
157
+ api_key_location: Optional[str] = Field(default=None, alias="ApiKeyLocation")
158
+ api_keys: Optional[list[ApiKeysForGetMCPService]] = Field(default=None, alias="ApiKeys")
159
+
160
+ model_config = {
161
+ "populate_by_name": True,
162
+ "arbitrary_types_allowed": True
163
+ }
164
+
165
+
166
+ class AuthorizerForGetMCPService(BaseModel):
167
+ custom_jwt_authorizer: Optional[CustomJwtAuthorizerForGetMCPService] = Field(default=None, alias="CustomJwtAuthorizer")
168
+ key_auth: Optional[KeyAuthForGetMCPService] = Field(default=None, alias="KeyAuth")
169
+
170
+ model_config = {
171
+ "populate_by_name": True,
172
+ "arbitrary_types_allowed": True
173
+ }
174
+
175
+
176
+ class OutboundAuthorizerConfigurationForGetMCPService(BaseModel):
177
+ authorizer: Optional[AuthorizerForGetMCPService] = Field(default=None, alias="Authorizer")
178
+ authorizer_type: Optional[str] = Field(default=None, alias="AuthorizerType")
179
+
180
+ model_config = {
181
+ "populate_by_name": True,
182
+ "arbitrary_types_allowed": True
183
+ }
184
+
185
+
186
+ class ProtocolConfigurationForGetMCPService(BaseModel):
187
+ protocol_convert_configuration: Optional[str] = Field(default=None, alias="ProtocolConvertConfiguration")
188
+
189
+ model_config = {
190
+ "populate_by_name": True,
191
+ "arbitrary_types_allowed": True
192
+ }
193
+
194
+
195
+ class MCPServiceForGetMCPService(BaseModel):
196
+ backend_configuration: Optional[BackendConfigurationForGetMCPService] = Field(default=None, alias="BackendConfiguration")
197
+ backend_type: Optional[str] = Field(default=None, alias="BackendType")
198
+ created_at: Optional[str] = Field(default=None, alias="CreatedAt")
199
+ inbound_authorizer_configuration: Optional[InboundAuthorizerConfigurationForGetMCPService] = Field(default=None, alias="InboundAuthorizerConfiguration")
200
+ m_c_p_service_id: Optional[str] = Field(default=None, alias="MCPServiceId")
201
+ name: Optional[str] = Field(default=None, alias="Name")
202
+ network_configurations: Optional[list[NetworkConfigurationsForGetMCPService]] = Field(default=None, alias="NetworkConfigurations")
203
+ outbound_authorizer_configuration: Optional[OutboundAuthorizerConfigurationForGetMCPService] = Field(default=None, alias="OutboundAuthorizerConfiguration")
204
+ path: Optional[str] = Field(default=None, alias="Path")
205
+ protocol_configuration: Optional[ProtocolConfigurationForGetMCPService] = Field(default=None, alias="ProtocolConfiguration")
206
+ protocol_type: Optional[str] = Field(default=None, alias="ProtocolType")
207
+ updated_at: Optional[str] = Field(default=None, alias="UpdatedAt")
208
+
209
+ model_config = {
210
+ "populate_by_name": True,
211
+ "arbitrary_types_allowed": True
212
+ }
213
+
214
+
215
+ class CustomJwtAuthorizerForGetMCPToolset(BaseModel):
216
+ allowed_clients: Optional[list[str]] = Field(default=None, alias="AllowedClients")
217
+ discovery_url: Optional[str] = Field(default=None, alias="DiscoveryUrl")
218
+
219
+ model_config = {
220
+ "populate_by_name": True,
221
+ "arbitrary_types_allowed": True
222
+ }
223
+
224
+
225
+ class ApiKeysForGetMCPToolset(BaseModel):
226
+ key: Optional[str] = Field(default=None, alias="Key")
227
+ name: Optional[str] = Field(default=None, alias="Name")
228
+
229
+ model_config = {
230
+ "populate_by_name": True,
231
+ "arbitrary_types_allowed": True
232
+ }
233
+
234
+
235
+ class KeyAuthForGetMCPToolset(BaseModel):
236
+ api_key_location: Optional[str] = Field(default=None, alias="ApiKeyLocation")
237
+ api_keys: Optional[list[ApiKeysForGetMCPToolset]] = Field(default=None, alias="ApiKeys")
238
+
239
+ model_config = {
240
+ "populate_by_name": True,
241
+ "arbitrary_types_allowed": True
242
+ }
243
+
244
+
245
+ class AuthorizerForGetMCPToolset(BaseModel):
246
+ custom_jwt_authorizer: Optional[CustomJwtAuthorizerForGetMCPToolset] = Field(default=None, alias="CustomJwtAuthorizer")
247
+ key_auth: Optional[KeyAuthForGetMCPToolset] = Field(default=None, alias="KeyAuth")
248
+
249
+ model_config = {
250
+ "populate_by_name": True,
251
+ "arbitrary_types_allowed": True
252
+ }
253
+
254
+
255
+ class AuthorizerConfigurationForGetMCPToolset(BaseModel):
256
+ authorizer: Optional[AuthorizerForGetMCPToolset] = Field(default=None, alias="Authorizer")
257
+ authorizer_type: Optional[str] = Field(default=None, alias="AuthorizerType")
258
+
259
+ model_config = {
260
+ "populate_by_name": True,
261
+ "arbitrary_types_allowed": True
262
+ }
263
+
264
+
265
+ class VpcConfigForGetMCPToolset(BaseModel):
266
+ security_group_ids: Optional[list[str]] = Field(default=None, alias="SecurityGroupIds")
267
+ subnet_ids: Optional[list[str]] = Field(default=None, alias="SubnetIds")
268
+ vpc_id: Optional[str] = Field(default=None, alias="VpcId")
269
+
270
+ model_config = {
271
+ "populate_by_name": True,
272
+ "arbitrary_types_allowed": True
273
+ }
274
+
275
+
276
+ class NetworkConfigurationsForGetMCPToolset(BaseModel):
277
+ endpoint: Optional[str] = Field(default=None, alias="Endpoint")
278
+ network_type: Optional[str] = Field(default=None, alias="NetworkType")
279
+ vpc_config: Optional[VpcConfigForGetMCPToolset] = Field(default=None, alias="VpcConfig")
280
+
281
+ model_config = {
282
+ "populate_by_name": True,
283
+ "arbitrary_types_allowed": True
284
+ }
285
+
286
+
287
+ class ProtocolConfigurationForGetMCPToolset(BaseModel):
288
+ protocol_convert_configuration: Optional[str] = Field(default=None, alias="ProtocolConvertConfiguration")
289
+
290
+ model_config = {
291
+ "populate_by_name": True,
292
+ "arbitrary_types_allowed": True
293
+ }
294
+
295
+
296
+ class MCPServicesForGetMCPToolset(BaseModel):
297
+ created_at: Optional[str] = Field(default=None, alias="CreatedAt")
298
+ m_c_p_service_id: Optional[str] = Field(default=None, alias="MCPServiceId")
299
+ name: Optional[str] = Field(default=None, alias="Name")
300
+ network_configurations: Optional[list[NetworkConfigurationsForGetMCPToolset]] = Field(default=None, alias="NetworkConfigurations")
301
+ path: Optional[str] = Field(default=None, alias="Path")
302
+ protocol_configuration: Optional[ProtocolConfigurationForGetMCPToolset] = Field(default=None, alias="ProtocolConfiguration")
303
+ protocol_type: Optional[str] = Field(default=None, alias="ProtocolType")
304
+ status: Optional[str] = Field(default=None, alias="Status")
305
+ updated_at: Optional[str] = Field(default=None, alias="UpdatedAt")
306
+
307
+ model_config = {
308
+ "populate_by_name": True,
309
+ "arbitrary_types_allowed": True
310
+ }
311
+
312
+
313
+ class VpcConfigForGetMCPToolset(BaseModel):
314
+ security_group_ids: Optional[list[str]] = Field(default=None, alias="SecurityGroupIds")
315
+ subnet_ids: Optional[list[str]] = Field(default=None, alias="SubnetIds")
316
+ vpc_id: Optional[str] = Field(default=None, alias="VpcId")
317
+
318
+ model_config = {
319
+ "populate_by_name": True,
320
+ "arbitrary_types_allowed": True
321
+ }
322
+
323
+
324
+ class NetworkConfigurationsForGetMCPToolset(BaseModel):
325
+ endpoint: Optional[str] = Field(default=None, alias="Endpoint")
326
+ network_type: Optional[str] = Field(default=None, alias="NetworkType")
327
+ vpc_config: Optional[VpcConfigForGetMCPToolset] = Field(default=None, alias="VpcConfig")
328
+
329
+ model_config = {
330
+ "populate_by_name": True,
331
+ "arbitrary_types_allowed": True
332
+ }
333
+
334
+
335
+ class MCPToolsetForGetMCPToolset(BaseModel):
336
+ authorizer_configuration: Optional[AuthorizerConfigurationForGetMCPToolset] = Field(default=None, alias="AuthorizerConfiguration")
337
+ created_at: Optional[str] = Field(default=None, alias="CreatedAt")
338
+ m_c_p_services: Optional[list[MCPServicesForGetMCPToolset]] = Field(default=None, alias="MCPServices")
339
+ m_c_p_toolset_id: Optional[str] = Field(default=None, alias="MCPToolsetId")
340
+ name: Optional[str] = Field(default=None, alias="Name")
341
+ network_configurations: Optional[list[NetworkConfigurationsForGetMCPToolset]] = Field(default=None, alias="NetworkConfigurations")
342
+ path: Optional[str] = Field(default=None, alias="Path")
343
+ status: Optional[str] = Field(default=None, alias="Status")
344
+ updated_at: Optional[str] = Field(default=None, alias="UpdatedAt")
345
+
346
+ model_config = {
347
+ "populate_by_name": True,
348
+ "arbitrary_types_allowed": True
349
+ }
350
+
351
+
352
+ class VpcConfigForListMCPServices(BaseModel):
353
+ security_group_ids: Optional[list[str]] = Field(default=None, alias="SecurityGroupIds")
354
+ subnet_ids: Optional[list[str]] = Field(default=None, alias="SubnetIds")
355
+ vpc_id: Optional[str] = Field(default=None, alias="VpcId")
356
+
357
+ model_config = {
358
+ "populate_by_name": True,
359
+ "arbitrary_types_allowed": True
360
+ }
361
+
362
+
363
+ class NetworkConfigurationsForListMCPServices(BaseModel):
364
+ endpoint: Optional[str] = Field(default=None, alias="Endpoint")
365
+ network_type: Optional[str] = Field(default=None, alias="NetworkType")
366
+ vpc_config: Optional[VpcConfigForListMCPServices] = Field(default=None, alias="VpcConfig")
367
+
368
+ model_config = {
369
+ "populate_by_name": True,
370
+ "arbitrary_types_allowed": True
371
+ }
372
+
373
+
374
+ class ProtocolConfigurationForListMCPServices(BaseModel):
375
+ protocol_convert_configuration: Optional[str] = Field(default=None, alias="ProtocolConvertConfiguration")
376
+
377
+ model_config = {
378
+ "populate_by_name": True,
379
+ "arbitrary_types_allowed": True
380
+ }
381
+
382
+
383
+ class MCPServicesForListMCPServices(BaseModel):
384
+ created_at: Optional[str] = Field(default=None, alias="CreatedAt")
385
+ m_c_p_service_id: Optional[str] = Field(default=None, alias="MCPServiceId")
386
+ name: Optional[str] = Field(default=None, alias="Name")
387
+ network_configurations: Optional[list[NetworkConfigurationsForListMCPServices]] = Field(default=None, alias="NetworkConfigurations")
388
+ path: Optional[str] = Field(default=None, alias="Path")
389
+ protocol_configuration: Optional[ProtocolConfigurationForListMCPServices] = Field(default=None, alias="ProtocolConfiguration")
390
+ protocol_type: Optional[str] = Field(default=None, alias="ProtocolType")
391
+ status: Optional[str] = Field(default=None, alias="Status")
392
+ updated_at: Optional[str] = Field(default=None, alias="UpdatedAt")
393
+
394
+ model_config = {
395
+ "populate_by_name": True,
396
+ "arbitrary_types_allowed": True
397
+ }
398
+
399
+
400
+ class MCPServiceToolsForListMCPTools(BaseModel):
401
+ m_c_p_service_id: Optional[str] = Field(default=None, alias="MCPServiceId")
402
+ tools: Optional[str] = Field(default=None, alias="Tools")
403
+
404
+ model_config = {
405
+ "populate_by_name": True,
406
+ "arbitrary_types_allowed": True
407
+ }
408
+
409
+
410
+ class CustomJwtAuthorizerForListMCPToolsets(BaseModel):
411
+ allowed_clients: Optional[list[str]] = Field(default=None, alias="AllowedClients")
412
+ discovery_url: Optional[str] = Field(default=None, alias="DiscoveryUrl")
413
+
414
+ model_config = {
415
+ "populate_by_name": True,
416
+ "arbitrary_types_allowed": True
417
+ }
418
+
419
+
420
+ class ApiKeysForListMCPToolsets(BaseModel):
421
+ key: Optional[str] = Field(default=None, alias="Key")
422
+ name: Optional[str] = Field(default=None, alias="Name")
423
+
424
+ model_config = {
425
+ "populate_by_name": True,
426
+ "arbitrary_types_allowed": True
427
+ }
428
+
429
+
430
+ class KeyAuthForListMCPToolsets(BaseModel):
431
+ api_key_location: Optional[str] = Field(default=None, alias="ApiKeyLocation")
432
+ api_keys: Optional[list[ApiKeysForListMCPToolsets]] = Field(default=None, alias="ApiKeys")
433
+
434
+ model_config = {
435
+ "populate_by_name": True,
436
+ "arbitrary_types_allowed": True
437
+ }
438
+
439
+
440
+ class AuthorizerForListMCPToolsets(BaseModel):
441
+ custom_jwt_authorizer: Optional[CustomJwtAuthorizerForListMCPToolsets] = Field(default=None, alias="CustomJwtAuthorizer")
442
+ key_auth: Optional[KeyAuthForListMCPToolsets] = Field(default=None, alias="KeyAuth")
443
+
444
+ model_config = {
445
+ "populate_by_name": True,
446
+ "arbitrary_types_allowed": True
447
+ }
448
+
449
+
450
+ class AuthorizerConfigurationForListMCPToolsets(BaseModel):
451
+ authorizer: Optional[AuthorizerForListMCPToolsets] = Field(default=None, alias="Authorizer")
452
+ authorizer_type: Optional[str] = Field(default=None, alias="AuthorizerType")
453
+
454
+ model_config = {
455
+ "populate_by_name": True,
456
+ "arbitrary_types_allowed": True
457
+ }
458
+
459
+
460
+ class VpcConfigForListMCPToolsets(BaseModel):
461
+ security_group_ids: Optional[list[str]] = Field(default=None, alias="SecurityGroupIds")
462
+ subnet_ids: Optional[list[str]] = Field(default=None, alias="SubnetIds")
463
+ vpc_id: Optional[str] = Field(default=None, alias="VpcId")
464
+
465
+ model_config = {
466
+ "populate_by_name": True,
467
+ "arbitrary_types_allowed": True
468
+ }
469
+
470
+
471
+ class NetworkConfigurationsForListMCPToolsets(BaseModel):
472
+ endpoint: Optional[str] = Field(default=None, alias="Endpoint")
473
+ network_type: Optional[str] = Field(default=None, alias="NetworkType")
474
+ vpc_config: Optional[VpcConfigForListMCPToolsets] = Field(default=None, alias="VpcConfig")
475
+
476
+ model_config = {
477
+ "populate_by_name": True,
478
+ "arbitrary_types_allowed": True
479
+ }
480
+
481
+
482
+ class ProtocolConfigurationForListMCPToolsets(BaseModel):
483
+ protocol_convert_configuration: Optional[str] = Field(default=None, alias="ProtocolConvertConfiguration")
484
+
485
+ model_config = {
486
+ "populate_by_name": True,
487
+ "arbitrary_types_allowed": True
488
+ }
489
+
490
+
491
+ class MCPServicesForListMCPToolsets(BaseModel):
492
+ created_at: Optional[str] = Field(default=None, alias="CreatedAt")
493
+ m_c_p_service_id: Optional[str] = Field(default=None, alias="MCPServiceId")
494
+ name: Optional[str] = Field(default=None, alias="Name")
495
+ network_configurations: Optional[list[NetworkConfigurationsForListMCPToolsets]] = Field(default=None, alias="NetworkConfigurations")
496
+ path: Optional[str] = Field(default=None, alias="Path")
497
+ protocol_configuration: Optional[ProtocolConfigurationForListMCPToolsets] = Field(default=None, alias="ProtocolConfiguration")
498
+ protocol_type: Optional[str] = Field(default=None, alias="ProtocolType")
499
+ status: Optional[str] = Field(default=None, alias="Status")
500
+ updated_at: Optional[str] = Field(default=None, alias="UpdatedAt")
501
+
502
+ model_config = {
503
+ "populate_by_name": True,
504
+ "arbitrary_types_allowed": True
505
+ }
506
+
507
+
508
+ class VpcConfigForListMCPToolsets(BaseModel):
509
+ security_group_ids: Optional[list[str]] = Field(default=None, alias="SecurityGroupIds")
510
+ subnet_ids: Optional[list[str]] = Field(default=None, alias="SubnetIds")
511
+ vpc_id: Optional[str] = Field(default=None, alias="VpcId")
512
+
513
+ model_config = {
514
+ "populate_by_name": True,
515
+ "arbitrary_types_allowed": True
516
+ }
517
+
518
+
519
+ class NetworkConfigurationsForListMCPToolsets(BaseModel):
520
+ endpoint: Optional[str] = Field(default=None, alias="Endpoint")
521
+ network_type: Optional[str] = Field(default=None, alias="NetworkType")
522
+ vpc_config: Optional[VpcConfigForListMCPToolsets] = Field(default=None, alias="VpcConfig")
523
+
524
+ model_config = {
525
+ "populate_by_name": True,
526
+ "arbitrary_types_allowed": True
527
+ }
528
+
529
+
530
+ class MCPToolsetsForListMCPToolsets(BaseModel):
531
+ authorizer_configuration: Optional[AuthorizerConfigurationForListMCPToolsets] = Field(default=None, alias="AuthorizerConfiguration")
532
+ created_at: Optional[str] = Field(default=None, alias="CreatedAt")
533
+ m_c_p_services: Optional[list[MCPServicesForListMCPToolsets]] = Field(default=None, alias="MCPServices")
534
+ m_c_p_toolset_id: Optional[str] = Field(default=None, alias="MCPToolsetId")
535
+ name: Optional[str] = Field(default=None, alias="Name")
536
+ network_configurations: Optional[list[NetworkConfigurationsForListMCPToolsets]] = Field(default=None, alias="NetworkConfigurations")
537
+ path: Optional[str] = Field(default=None, alias="Path")
538
+ status: Optional[str] = Field(default=None, alias="Status")
539
+ updated_at: Optional[str] = Field(default=None, alias="UpdatedAt")
540
+
541
+ model_config = {
542
+ "populate_by_name": True,
543
+ "arbitrary_types_allowed": True
544
+ }
545
+
546
+
547
+ # UpdateMCPToolset - Request
548
+ class AuthorizerConfiguration(BaseModel):
549
+ authorizer_type: str = Field(..., alias="AuthorizerType")
550
+
551
+ model_config = {
552
+ "populate_by_name": True,
553
+ "arbitrary_types_allowed": True
554
+ }
555
+ class Authorizer(BaseModel):
556
+ custom_jwt_authorizer: Optional[CustomJwtAuthorizer] = Field(default=None, alias="CustomJwtAuthorizer")
557
+ key_auth: Optional[KeyAuth] = Field(default=None, alias="KeyAuth")
558
+
559
+ model_config = {
560
+ "populate_by_name": True,
561
+ "arbitrary_types_allowed": True
562
+ }
563
+ class CustomJwtAuthorizer(BaseModel):
564
+ discovery_url: str = Field(..., alias="DiscoveryUrl")
565
+ allowed_clients: Optional[list[str]] = Field(default=None, alias="AllowedClients")
566
+
567
+ model_config = {
568
+ "populate_by_name": True,
569
+ "arbitrary_types_allowed": True
570
+ }
571
+ class KeyAuth(BaseModel):
572
+ api_key_location: str = Field(..., alias="ApiKeyLocation")
573
+
574
+ model_config = {
575
+ "populate_by_name": True,
576
+ "arbitrary_types_allowed": True
577
+ }
578
+ class ApiKeysItem(BaseModel):
579
+ name: str = Field(..., alias="Name")
580
+ key: Optional[str] = Field(default=None, alias="Key")
581
+
582
+ model_config = {
583
+ "populate_by_name": True,
584
+ "arbitrary_types_allowed": True
585
+ }
586
+
587
+
588
+ class UpdateMCPToolsetRequest(BaseModel):
589
+ client_token: Optional[str] = Field(default=None, alias="ClientToken")
590
+ m_c_p_service_ids: Optional[str] = Field(default=None, alias="MCPServiceIds")
591
+ m_c_p_toolset_id: str = Field(..., alias="MCPToolsetId")
592
+ authorizer_configuration: Optional[AuthorizerConfiguration] = Field(default=None, alias="AuthorizerConfiguration")
593
+
594
+ model_config = {
595
+ "populate_by_name": True,
596
+ "arbitrary_types_allowed": True
597
+ }
598
+
599
+
600
+ # UpdateMCPToolset - Response
601
+ class UpdateMCPToolsetResponse(BaseModel):
602
+ m_c_p_toolset_id: Optional[str] = Field(default=None, alias="MCPToolsetId")
603
+
604
+ model_config = {
605
+ "populate_by_name": True,
606
+ "arbitrary_types_allowed": True
607
+ }
608
+
609
+
610
+ # UpdateMCPTools - Request
611
+ class UpdateMCPToolsRequest(BaseModel):
612
+ m_c_p_service_id: str = Field(..., alias="MCPServiceId")
613
+ tools: str = Field(..., alias="Tools")
614
+
615
+ model_config = {
616
+ "populate_by_name": True,
617
+ "arbitrary_types_allowed": True
618
+ }
619
+
620
+
621
+ # UpdateMCPTools - Response
622
+ class UpdateMCPToolsResponse(BaseModel):
623
+ m_c_p_service_id: Optional[str] = Field(default=None, alias="MCPServiceId")
624
+
625
+ model_config = {
626
+ "populate_by_name": True,
627
+ "arbitrary_types_allowed": True
628
+ }
629
+
630
+
631
+ # GetMCPTools - Request
632
+ class GetMCPToolsRequest(BaseModel):
633
+ m_c_p_toolset_id: str = Field(..., alias="MCPToolsetId")
634
+
635
+ model_config = {
636
+ "populate_by_name": True,
637
+ "arbitrary_types_allowed": True
638
+ }
639
+
640
+
641
+ # GetMCPTools - Response
642
+ class GetMCPToolsResponse(BaseModel):
643
+ tools: Optional[str] = Field(default=None, alias="Tools")
644
+
645
+ model_config = {
646
+ "populate_by_name": True,
647
+ "arbitrary_types_allowed": True
648
+ }
649
+
650
+
651
+ # DeleteMCPToolset - Request
652
+ class DeleteMCPToolsetRequest(BaseModel):
653
+ m_c_p_toolset_id: str = Field(..., alias="MCPToolsetId", description="MCP工具集ID")
654
+
655
+ model_config = {
656
+ "populate_by_name": True,
657
+ "arbitrary_types_allowed": True
658
+ }
659
+
660
+
661
+ # DeleteMCPToolset - Response
662
+ class DeleteMCPToolsetResponse(BaseModel):
663
+ m_c_p_toolset_id: Optional[str] = Field(default=None, alias="MCPToolsetId", description="MCP工具集ID")
664
+
665
+ model_config = {
666
+ "populate_by_name": True,
667
+ "arbitrary_types_allowed": True
668
+ }
669
+
670
+
671
+ # GetMCPService - Request
672
+ class GetMCPServiceRequest(BaseModel):
673
+ m_c_p_service_id: str = Field(..., alias="MCPServiceId", description="MCP服务ID")
674
+
675
+ model_config = {
676
+ "populate_by_name": True,
677
+ "arbitrary_types_allowed": True
678
+ }
679
+
680
+
681
+ # GetMCPService - Response
682
+ class GetMCPServiceResponse(BaseModel):
683
+ m_c_p_service: Optional[MCPServiceForGetMCPService] = Field(default=None, alias="MCPService")
684
+
685
+ model_config = {
686
+ "populate_by_name": True,
687
+ "arbitrary_types_allowed": True
688
+ }
689
+
690
+
691
+ # GetMCPToolset - Request
692
+ class GetMCPToolsetRequest(BaseModel):
693
+ m_c_p_toolset_id: str = Field(..., alias="MCPToolsetId")
694
+
695
+ model_config = {
696
+ "populate_by_name": True,
697
+ "arbitrary_types_allowed": True
698
+ }
699
+
700
+
701
+ # GetMCPToolset - Response
702
+ class GetMCPToolsetResponse(BaseModel):
703
+ m_c_p_toolset: Optional[MCPToolsetForGetMCPToolset] = Field(default=None, alias="MCPToolset")
704
+
705
+ model_config = {
706
+ "populate_by_name": True,
707
+ "arbitrary_types_allowed": True
708
+ }
709
+
710
+
711
+ # ListMCPServices - Request
712
+ class FiltersItem(BaseModel):
713
+ name: Optional[str] = Field(default=None, alias="Name")
714
+ name_contains: Optional[str] = Field(default=None, alias="NameContains")
715
+ values: Optional[list[str]] = Field(default=None, alias="Values")
716
+
717
+ model_config = {
718
+ "populate_by_name": True,
719
+ "arbitrary_types_allowed": True
720
+ }
721
+
722
+
723
+ class ListMCPServicesRequest(BaseModel):
724
+ max_results: Optional[int] = Field(default=None, alias="MaxResults")
725
+ next_token: Optional[str] = Field(default=None, alias="NextToken")
726
+ page_number: Optional[int] = Field(default=None, alias="PageNumber")
727
+ page_size: Optional[int] = Field(default=None, alias="PageSize")
728
+ filters: Optional[list[FiltersItem]] = Field(default=None, alias="Filters")
729
+
730
+ model_config = {
731
+ "populate_by_name": True,
732
+ "arbitrary_types_allowed": True
733
+ }
734
+
735
+
736
+ # ListMCPServices - Response
737
+ class ListMCPServicesResponse(BaseModel):
738
+ m_c_p_services: Optional[list[MCPServicesForListMCPServices]] = Field(default=None, alias="MCPServices")
739
+ page_number: Optional[int] = Field(default=None, alias="PageNumber")
740
+ page_size: Optional[int] = Field(default=None, alias="PageSize")
741
+ total_count: Optional[int] = Field(default=None, alias="TotalCount")
742
+
743
+ model_config = {
744
+ "populate_by_name": True,
745
+ "arbitrary_types_allowed": True
746
+ }
747
+
748
+
749
+ # UpdateMCPService - Request
750
+ class BackendConfiguration(BaseModel):
751
+ custom_configuration: Optional[CustomConfiguration] = Field(default=None, alias="CustomConfiguration")
752
+ function_configuration: Optional[FunctionConfiguration] = Field(default=None, alias="FunctionConfiguration")
753
+
754
+ model_config = {
755
+ "populate_by_name": True,
756
+ "arbitrary_types_allowed": True
757
+ }
758
+ class CustomConfiguration(BaseModel):
759
+ domain: Optional[str] = Field(default=None, alias="Domain")
760
+ port: Optional[int] = Field(default=None, alias="Port")
761
+ protocol_type: Optional[str] = Field(default=None, alias="ProtocolType")
762
+ tls_settings: Optional[TlsSettings] = Field(default=None, alias="TlsSettings")
763
+
764
+ model_config = {
765
+ "populate_by_name": True,
766
+ "arbitrary_types_allowed": True
767
+ }
768
+ class TlsSettings(BaseModel):
769
+ tls_mode: str = Field(..., alias="TlsMode")
770
+ sni: Optional[str] = Field(default=None, alias="Sni")
771
+
772
+ model_config = {
773
+ "populate_by_name": True,
774
+ "arbitrary_types_allowed": True
775
+ }
776
+ class FunctionConfiguration(BaseModel):
777
+ function_id: Optional[str] = Field(default=None, alias="FunctionId")
778
+
779
+ model_config = {
780
+ "populate_by_name": True,
781
+ "arbitrary_types_allowed": True
782
+ }
783
+ class InboundAuthorizerConfiguration(BaseModel):
784
+ authorizer_type: str = Field(..., alias="AuthorizerType")
785
+
786
+ model_config = {
787
+ "populate_by_name": True,
788
+ "arbitrary_types_allowed": True
789
+ }
790
+ class Authorizer(BaseModel):
791
+ custom_jwt_authorizer: Optional[CustomJwtAuthorizer] = Field(default=None, alias="CustomJwtAuthorizer")
792
+ key_auth: Optional[KeyAuth] = Field(default=None, alias="KeyAuth")
793
+
794
+ model_config = {
795
+ "populate_by_name": True,
796
+ "arbitrary_types_allowed": True
797
+ }
798
+ class CustomJwtAuthorizer(BaseModel):
799
+ discovery_url: str = Field(..., alias="DiscoveryUrl")
800
+ allowed_clients: Optional[list[str]] = Field(default=None, alias="AllowedClients")
801
+
802
+ model_config = {
803
+ "populate_by_name": True,
804
+ "arbitrary_types_allowed": True
805
+ }
806
+ class KeyAuth(BaseModel):
807
+ api_key_location: str = Field(..., alias="ApiKeyLocation")
808
+
809
+ model_config = {
810
+ "populate_by_name": True,
811
+ "arbitrary_types_allowed": True
812
+ }
813
+ class Network(BaseModel):
814
+ pass
815
+
816
+ model_config = {
817
+ "populate_by_name": True,
818
+ "arbitrary_types_allowed": True
819
+ }
820
+ class OutboundAuthorizerConfiguration(BaseModel):
821
+ authorizer_type: str = Field(..., alias="AuthorizerType")
822
+
823
+ model_config = {
824
+ "populate_by_name": True,
825
+ "arbitrary_types_allowed": True
826
+ }
827
+ class Authorizer(BaseModel):
828
+ custom_jwt_authorizer: Optional[CustomJwtAuthorizer] = Field(default=None, alias="CustomJwtAuthorizer")
829
+ key_auth: Optional[KeyAuth] = Field(default=None, alias="KeyAuth")
830
+
831
+ model_config = {
832
+ "populate_by_name": True,
833
+ "arbitrary_types_allowed": True
834
+ }
835
+ class CustomJwtAuthorizer(BaseModel):
836
+ discovery_url: str = Field(..., alias="DiscoveryUrl")
837
+ allowed_clients: Optional[list[str]] = Field(default=None, alias="AllowedClients")
838
+
839
+ model_config = {
840
+ "populate_by_name": True,
841
+ "arbitrary_types_allowed": True
842
+ }
843
+ class KeyAuth(BaseModel):
844
+ api_key_location: str = Field(..., alias="ApiKeyLocation")
845
+
846
+ model_config = {
847
+ "populate_by_name": True,
848
+ "arbitrary_types_allowed": True
849
+ }
850
+ class ApiKeysItem(BaseModel):
851
+ name: str = Field(..., alias="Name")
852
+ key: Optional[str] = Field(default=None, alias="Key")
853
+
854
+ model_config = {
855
+ "populate_by_name": True,
856
+ "arbitrary_types_allowed": True
857
+ }
858
+ class VpcConfigurationItem(BaseModel):
859
+ security_group_ids: Optional[list[str]] = Field(default=None, alias="SecurityGroupIds")
860
+ subnet_ids: Optional[list[str]] = Field(default=None, alias="SubnetIds")
861
+ vpc_id: Optional[str] = Field(default=None, alias="VpcId")
862
+
863
+ model_config = {
864
+ "populate_by_name": True,
865
+ "arbitrary_types_allowed": True
866
+ }
867
+ class NetworkConfigurationsItem(BaseModel):
868
+ network_type: str = Field(..., alias="NetworkType")
869
+
870
+ model_config = {
871
+ "populate_by_name": True,
872
+ "arbitrary_types_allowed": True
873
+ }
874
+ class ApiKeysItem(BaseModel):
875
+ name: str = Field(..., alias="Name")
876
+ key: Optional[str] = Field(default=None, alias="Key")
877
+
878
+ model_config = {
879
+ "populate_by_name": True,
880
+ "arbitrary_types_allowed": True
881
+ }
882
+
883
+
884
+ class UpdateMCPServiceRequest(BaseModel):
885
+ backend_type: Optional[str] = Field(default=None, alias="BackendType")
886
+ m_c_p_service_id: str = Field(..., alias="MCPServiceId")
887
+ backend_configuration: Optional[BackendConfiguration] = Field(default=None, alias="BackendConfiguration")
888
+ inbound_authorizer_configuration: Optional[InboundAuthorizerConfiguration] = Field(default=None, alias="InboundAuthorizerConfiguration")
889
+ network_configurations: Optional[list[NetworkConfigurationsItem]] = Field(default=None, alias="NetworkConfigurations")
890
+ outbound_authorizer_configuration: Optional[OutboundAuthorizerConfiguration] = Field(default=None, alias="OutboundAuthorizerConfiguration")
891
+
892
+ model_config = {
893
+ "populate_by_name": True,
894
+ "arbitrary_types_allowed": True
895
+ }
896
+
897
+
898
+ # UpdateMCPService - Response
899
+ class UpdateMCPServiceResponse(BaseModel):
900
+ m_c_p_service_id: Optional[str] = Field(default=None, alias="MCPServiceId")
901
+
902
+ model_config = {
903
+ "populate_by_name": True,
904
+ "arbitrary_types_allowed": True
905
+ }
906
+
907
+
908
+ # DeleteMCPService - Request
909
+ class DeleteMCPServiceRequest(BaseModel):
910
+ m_c_p_service_id: str = Field(..., alias="MCPServiceId", description="MCP服务ID")
911
+
912
+ model_config = {
913
+ "populate_by_name": True,
914
+ "arbitrary_types_allowed": True
915
+ }
916
+
917
+
918
+ # DeleteMCPService - Response
919
+ class DeleteMCPServiceResponse(BaseModel):
920
+ m_c_p_service_id: Optional[str] = Field(default=None, alias="MCPServiceId", description="MCP服务ID")
921
+
922
+ model_config = {
923
+ "populate_by_name": True,
924
+ "arbitrary_types_allowed": True
925
+ }
926
+
927
+
928
+ # ListMCPTools - Request
929
+ class ListMCPToolsRequest(BaseModel):
930
+ m_c_p_toolset_ids: str = Field(..., alias="MCPToolsetIds")
931
+
932
+ model_config = {
933
+ "populate_by_name": True,
934
+ "arbitrary_types_allowed": True
935
+ }
936
+
937
+
938
+ # ListMCPTools - Response
939
+ class ListMCPToolsResponse(BaseModel):
940
+ m_c_p_service_tools: Optional[list[MCPServiceToolsForListMCPTools]] = Field(default=None, alias="MCPServiceTools")
941
+
942
+ model_config = {
943
+ "populate_by_name": True,
944
+ "arbitrary_types_allowed": True
945
+ }
946
+
947
+
948
+ # ListMCPToolsets - Request
949
+ class FiltersItem(BaseModel):
950
+ name: Optional[str] = Field(default=None, alias="Name")
951
+ name_contains: Optional[str] = Field(default=None, alias="NameContains")
952
+ values: Optional[list[str]] = Field(default=None, alias="Values")
953
+
954
+ model_config = {
955
+ "populate_by_name": True,
956
+ "arbitrary_types_allowed": True
957
+ }
958
+
959
+
960
+ class ListMCPToolsetsRequest(BaseModel):
961
+ max_results: Optional[int] = Field(default=None, alias="MaxResults")
962
+ next_token: Optional[str] = Field(default=None, alias="NextToken")
963
+ page_number: Optional[int] = Field(default=None, alias="PageNumber")
964
+ page_size: Optional[int] = Field(default=None, alias="PageSize")
965
+ filters: Optional[list[FiltersItem]] = Field(default=None, alias="Filters")
966
+
967
+ model_config = {
968
+ "populate_by_name": True,
969
+ "arbitrary_types_allowed": True
970
+ }
971
+
972
+
973
+ # ListMCPToolsets - Response
974
+ class ListMCPToolsetsResponse(BaseModel):
975
+ m_c_p_toolsets: Optional[list[MCPToolsetsForListMCPToolsets]] = Field(default=None, alias="MCPToolsets")
976
+ page_number: Optional[int] = Field(default=None, alias="PageNumber")
977
+ page_size: Optional[int] = Field(default=None, alias="PageSize")
978
+ total_count: Optional[int] = Field(default=None, alias="TotalCount")
979
+
980
+ model_config = {
981
+ "populate_by_name": True,
982
+ "arbitrary_types_allowed": True
983
+ }
984
+
985
+
986
+ # CreateMCPToolset - Request
987
+ class AuthorizerConfiguration(BaseModel):
988
+ authorizer_type: str = Field(..., alias="AuthorizerType", description="访问MCP工具集的认证类型,可选:ApiKey")
989
+
990
+ model_config = {
991
+ "populate_by_name": True,
992
+ "arbitrary_types_allowed": True
993
+ }
994
+ class Authorizer(BaseModel):
995
+ key_auth: Optional[KeyAuth] = Field(default=None, alias="KeyAuth")
996
+
997
+ model_config = {
998
+ "populate_by_name": True,
999
+ "arbitrary_types_allowed": True
1000
+ }
1001
+ class KeyAuth(BaseModel):
1002
+ api_key_location: str = Field(..., alias="ApiKeyLocation", description="访问MCP工具集网关,ApiKey传递的位置。")
1003
+
1004
+ model_config = {
1005
+ "populate_by_name": True,
1006
+ "arbitrary_types_allowed": True
1007
+ }
1008
+ class Network(BaseModel):
1009
+ pass
1010
+
1011
+ model_config = {
1012
+ "populate_by_name": True,
1013
+ "arbitrary_types_allowed": True
1014
+ }
1015
+ class ApiKeysItem(BaseModel):
1016
+ name: str = Field(..., alias="Name", description="ApiKey名称,长度为4-64的字符串,由字母、数字、“-”和“_”组成")
1017
+ key: Optional[str] = Field(default=None, alias="Key", description="MCP工具集的入口鉴权ApiKey,留空默认随机生成一个字符串")
1018
+
1019
+ model_config = {
1020
+ "populate_by_name": True,
1021
+ "arbitrary_types_allowed": True
1022
+ }
1023
+ class VpcConfigurationItem(BaseModel):
1024
+ subnet_ids: Optional[list[str]] = Field(default=None, alias="SubnetIds", description="需要进行内网访问MCP工具集的子网ID")
1025
+ vpc_id: Optional[str] = Field(default=None, alias="VpcId", description="需要进行内网访问MCP工具集的私有网络ID")
1026
+
1027
+ model_config = {
1028
+ "populate_by_name": True,
1029
+ "arbitrary_types_allowed": True
1030
+ }
1031
+ class NetworkConfigurationsItem(BaseModel):
1032
+ network_type: str = Field(..., alias="NetworkType", description="需要开启的访问类型,如:公网、私网")
1033
+
1034
+ model_config = {
1035
+ "populate_by_name": True,
1036
+ "arbitrary_types_allowed": True
1037
+ }
1038
+
1039
+
1040
+ class CreateMCPToolsetRequest(BaseModel):
1041
+ client_token: Optional[str] = Field(default=None, alias="ClientToken", description="保证请求幂等性。由客户端自动生成一个参数值,确保不同请求间该参数值唯一,避免当调用API超时或服务器内部错误时,客户端多次重试导致重复性操作。取值:仅支持ASCII字符,且不能超过64个字符。")
1042
+ m_c_p_service_ids: str = Field(..., alias="MCPServiceIds", description="MCP服务的资源ID列表")
1043
+ name: str = Field(..., alias="Name", description="MCP工具集名称,长度为4-64的字符串,由字母、数字、“-”和“_”组成")
1044
+ path: str = Field(..., alias="Path", description="MCP工具集的访问路径,例如 /mcp")
1045
+ authorizer_configuration: Optional[AuthorizerConfiguration] = Field(default=None, alias="AuthorizerConfiguration")
1046
+ network_configurations: Optional[list[NetworkConfigurationsItem]] = Field(default=None, alias="NetworkConfigurations")
1047
+
1048
+ model_config = {
1049
+ "populate_by_name": True,
1050
+ "arbitrary_types_allowed": True
1051
+ }
1052
+
1053
+
1054
+ # CreateMCPToolset - Response
1055
+ class CreateMCPToolsetResponse(BaseModel):
1056
+ m_c_p_toolset_id: Optional[str] = Field(default=None, alias="MCPToolsetId", description="MCP工具集ID")
1057
+
1058
+ model_config = {
1059
+ "populate_by_name": True,
1060
+ "arbitrary_types_allowed": True
1061
+ }
1062
+
1063
+
1064
+ # CreateMCPService - Request
1065
+ class BackendConfiguration(BaseModel):
1066
+ custom_configuration: Optional[CustomConfiguration] = Field(default=None, alias="CustomConfiguration")
1067
+ function_configuration: Optional[FunctionConfiguration] = Field(default=None, alias="FunctionConfiguration")
1068
+
1069
+ model_config = {
1070
+ "populate_by_name": True,
1071
+ "arbitrary_types_allowed": True
1072
+ }
1073
+ class CustomConfiguration(BaseModel):
1074
+ domain: Optional[str] = Field(default=None, alias="Domain", description="自定义后端场景的域名")
1075
+ port: Optional[int] = Field(default=None, alias="Port", description="自定义后端场景的端口")
1076
+ protocol_type: Optional[str] = Field(default=None, alias="ProtocolType", description="自定义后端类型")
1077
+
1078
+ model_config = {
1079
+ "populate_by_name": True,
1080
+ "arbitrary_types_allowed": True
1081
+ }
1082
+ class FunctionConfiguration(BaseModel):
1083
+ function_id: Optional[str] = Field(default=None, alias="FunctionId", description="VeFaas函数ID")
1084
+
1085
+ model_config = {
1086
+ "populate_by_name": True,
1087
+ "arbitrary_types_allowed": True
1088
+ }
1089
+ class InboundAuthorizerConfiguration(BaseModel):
1090
+ authorizer_type: str = Field(..., alias="AuthorizerType", description="访问MCP服务的认证类型,可选:ApiKey")
1091
+
1092
+ model_config = {
1093
+ "populate_by_name": True,
1094
+ "arbitrary_types_allowed": True
1095
+ }
1096
+ class Authorizer(BaseModel):
1097
+ pass
1098
+
1099
+ model_config = {
1100
+ "populate_by_name": True,
1101
+ "arbitrary_types_allowed": True
1102
+ }
1103
+ class KeyAuth(BaseModel):
1104
+ pass
1105
+
1106
+ model_config = {
1107
+ "populate_by_name": True,
1108
+ "arbitrary_types_allowed": True
1109
+ }
1110
+ class Network(BaseModel):
1111
+ pass
1112
+
1113
+ model_config = {
1114
+ "populate_by_name": True,
1115
+ "arbitrary_types_allowed": True
1116
+ }
1117
+ class OutboundAuthorizerConfiguration(BaseModel):
1118
+ authorizer_type: str = Field(..., alias="AuthorizerType", description="访问MCP服务的认证类型,可选:ApiKey")
1119
+
1120
+ model_config = {
1121
+ "populate_by_name": True,
1122
+ "arbitrary_types_allowed": True
1123
+ }
1124
+ class Authorizer(BaseModel):
1125
+ key_auth: Optional[KeyAuth] = Field(default=None, alias="KeyAuth")
1126
+
1127
+ model_config = {
1128
+ "populate_by_name": True,
1129
+ "arbitrary_types_allowed": True
1130
+ }
1131
+ class KeyAuth(BaseModel):
1132
+ api_key_location: str = Field(..., alias="ApiKeyLocation", description="MCP服务网关对应后端服务使用ApiKey鉴权时,ApiKey传递的位置。")
1133
+
1134
+ model_config = {
1135
+ "populate_by_name": True,
1136
+ "arbitrary_types_allowed": True
1137
+ }
1138
+ class ProtocolConfiguration(BaseModel):
1139
+ http_api_configuration: Optional[HttpApiConfiguration] = Field(default=None, alias="HttpApiConfiguration")
1140
+
1141
+ model_config = {
1142
+ "populate_by_name": True,
1143
+ "arbitrary_types_allowed": True
1144
+ }
1145
+ class HttpApiConfiguration(BaseModel):
1146
+ configuration: Optional[str] = Field(default=None, alias="Configuration", description="MCP后端服务的接口描述,如:Swagger 的json,需要进行Base64编码")
1147
+ type: Optional[str] = Field(default=None, alias="Type", description="当后端接口为HTTP时,后端接口的展示形式,如:Swagger")
1148
+
1149
+ model_config = {
1150
+ "populate_by_name": True,
1151
+ "arbitrary_types_allowed": True
1152
+ }
1153
+ class ApiKeysItem(BaseModel):
1154
+ name: str = Field(..., alias="Name", description="ApiKey名称,长度为4-64的字符串,由字母、数字、“-”和“_”组成")
1155
+ key: Optional[str] = Field(default=None, alias="Key", description="MCP服务的入口鉴权ApiKey,留空默认随机生成一个字符串")
1156
+
1157
+ model_config = {
1158
+ "populate_by_name": True,
1159
+ "arbitrary_types_allowed": True
1160
+ }
1161
+ class VpcConfigurationItem(BaseModel):
1162
+ security_group_ids: Optional[list[str]] = Field(default=None, alias="SecurityGroupIds", description="网卡关联的安全组ID。")
1163
+ subnet_ids: Optional[list[str]] = Field(default=None, alias="SubnetIds", description="需要进行内网访问MCP服务的子网ID")
1164
+ vpc_id: Optional[str] = Field(default=None, alias="VpcId", description="需要进行内网访问MCP服务的私有网络ID")
1165
+
1166
+ model_config = {
1167
+ "populate_by_name": True,
1168
+ "arbitrary_types_allowed": True
1169
+ }
1170
+ class NetworkConfigurationsItem(BaseModel):
1171
+ network_type: str = Field(..., alias="NetworkType", description="需要开启的访问类型,如:公网、私网")
1172
+
1173
+ model_config = {
1174
+ "populate_by_name": True,
1175
+ "arbitrary_types_allowed": True
1176
+ }
1177
+ class ApiKeysItem(BaseModel):
1178
+ key: Optional[str] = Field(default=None, alias="Key", description="MCP服务对于的后端服务鉴权ApiKey。")
1179
+
1180
+ model_config = {
1181
+ "populate_by_name": True,
1182
+ "arbitrary_types_allowed": True
1183
+ }
1184
+
1185
+
1186
+ class CreateMCPServiceRequest(BaseModel):
1187
+ backend_type: str = Field(..., alias="BackendType", description="MCP后端服务的类型,可选:Function(对应VeFaas函数)、Domain(自定义域名和端口)")
1188
+ client_token: Optional[str] = Field(default=None, alias="ClientToken", description="保证请求幂等性。由客户端自动生成一个参数值,确保不同请求间该参数值唯一,避免当调用API超时或服务器内部错误时,客户端多次重试导致重复性操作。取值:仅支持ASCII字符,且不能超过64个字符。")
1189
+ name: str = Field(..., alias="Name", description="MCP服务名称,长度为4-64的字符串,由字母、数字、“-”和“_”组成")
1190
+ path: str = Field(..., alias="Path", description="后端MCP服务的访问路径,例如 /mcp ")
1191
+ protocol_type: str = Field(..., alias="ProtocolType", description="MCP服务后端协议类型。")
1192
+ backend_configuration: Optional[BackendConfiguration] = Field(default=None, alias="BackendConfiguration")
1193
+ inbound_authorizer_configuration: Optional[InboundAuthorizerConfiguration] = Field(default=None, alias="InboundAuthorizerConfiguration")
1194
+ network_configurations: Optional[list[NetworkConfigurationsItem]] = Field(default=None, alias="NetworkConfigurations")
1195
+ outbound_authorizer_configuration: Optional[OutboundAuthorizerConfiguration] = Field(default=None, alias="OutboundAuthorizerConfiguration")
1196
+ protocol_configuration: Optional[ProtocolConfiguration] = Field(default=None, alias="ProtocolConfiguration")
1197
+
1198
+ model_config = {
1199
+ "populate_by_name": True,
1200
+ "arbitrary_types_allowed": True
1201
+ }
1202
+
1203
+
1204
+ # CreateMCPService - Response
1205
+ class CreateMCPServiceResponse(BaseModel):
1206
+ m_c_p_service_id: Optional[str] = Field(default=None, alias="MCPServiceId")
1207
+
1208
+ model_config = {
1209
+ "populate_by_name": True,
1210
+ "arbitrary_types_allowed": True
1211
+ }
1212
+