agentkit-sdk-python 0.8.6__py3-none-any.whl → 0.8.7__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.
- agentkit/auth/admin.py +9 -3
- agentkit/sdk/runtime/gateway.py +90 -0
- agentkit/sdk/runtime/types.py +22 -0
- agentkit/sdk/tools/client.py +20 -0
- agentkit/sdk/tools/types.py +54 -0
- agentkit/toolkit/cli/cli_config.py +14 -0
- agentkit/toolkit/cli/cli_runtime.py +144 -0
- agentkit/toolkit/cli/cli_tools.py +15 -2
- agentkit/toolkit/cli/sandbox/agentkit_client.py +18 -0
- agentkit/toolkit/config/config_handler.py +14 -0
- agentkit/toolkit/config/strategy_configs.py +52 -0
- agentkit/toolkit/runners/ve_agentkit.py +68 -0
- agentkit/toolkit/strategies/cloud_strategy.py +14 -0
- agentkit/toolkit/strategies/hybrid_strategy.py +14 -0
- agentkit/version.py +1 -1
- {agentkit_sdk_python-0.8.6.dist-info → agentkit_sdk_python-0.8.7.dist-info}/METADATA +1 -1
- {agentkit_sdk_python-0.8.6.dist-info → agentkit_sdk_python-0.8.7.dist-info}/RECORD +21 -20
- {agentkit_sdk_python-0.8.6.dist-info → agentkit_sdk_python-0.8.7.dist-info}/WHEEL +0 -0
- {agentkit_sdk_python-0.8.6.dist-info → agentkit_sdk_python-0.8.7.dist-info}/entry_points.txt +0 -0
- {agentkit_sdk_python-0.8.6.dist-info → agentkit_sdk_python-0.8.7.dist-info}/licenses/LICENSE +0 -0
- {agentkit_sdk_python-0.8.6.dist-info → agentkit_sdk_python-0.8.7.dist-info}/top_level.txt +0 -0
agentkit/auth/admin.py
CHANGED
|
@@ -47,9 +47,15 @@ POLICY_NAME = "agentkit_cli_sandbox_access"
|
|
|
47
47
|
SANDBOX_ACCESS_POLICY = "AgentKitSandboxAccess"
|
|
48
48
|
WELL_KNOWN_KEY = ".well-known/agentkit-cli"
|
|
49
49
|
ROLE_ACTIONS = (
|
|
50
|
-
"agentkit:CreateSession",
|
|
51
|
-
"agentkit:
|
|
52
|
-
"agentkit:
|
|
50
|
+
"agentkit:CreateSession",
|
|
51
|
+
"agentkit:GetSession",
|
|
52
|
+
"agentkit:DeleteSession",
|
|
53
|
+
"agentkit:PauseSession",
|
|
54
|
+
"agentkit:ResumeSession",
|
|
55
|
+
"agentkit:GetSessionLogs",
|
|
56
|
+
"agentkit:SetSessionTtl",
|
|
57
|
+
"agentkit:ListTools",
|
|
58
|
+
"agentkit:GetTool",
|
|
53
59
|
)
|
|
54
60
|
|
|
55
61
|
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Copyright (c) 2026 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
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
from typing import Any, Optional
|
|
18
|
+
|
|
19
|
+
RUNTIME_GATEWAY_MODES = {"Shared", "Exclusive"}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def normalize_runtime_gateway_mode(
|
|
23
|
+
value: Any,
|
|
24
|
+
label: str = "runtime.gateway_mode",
|
|
25
|
+
) -> Optional[str]:
|
|
26
|
+
if value is None or value == "":
|
|
27
|
+
return None
|
|
28
|
+
if not isinstance(value, str):
|
|
29
|
+
raise ValueError(f"{label} must be Shared or Exclusive.")
|
|
30
|
+
|
|
31
|
+
normalized = value.strip().lower()
|
|
32
|
+
if normalized == "shared":
|
|
33
|
+
return "Shared"
|
|
34
|
+
if normalized == "exclusive":
|
|
35
|
+
return "Exclusive"
|
|
36
|
+
raise ValueError(f"{label} must be Shared or Exclusive.")
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def effective_runtime_gateway_mode(mode: Optional[str]) -> str:
|
|
40
|
+
return str(mode).strip() if mode and str(mode).strip() else "Shared"
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def validate_runtime_gateway_create_config(
|
|
44
|
+
*,
|
|
45
|
+
gateway_mode: Optional[str],
|
|
46
|
+
gateway_instance_id: Optional[str],
|
|
47
|
+
has_network_configuration: bool = False,
|
|
48
|
+
label: str = "runtime",
|
|
49
|
+
) -> None:
|
|
50
|
+
mode = (
|
|
51
|
+
normalize_runtime_gateway_mode(gateway_mode, f"{label}.gateway_mode")
|
|
52
|
+
or "Shared"
|
|
53
|
+
)
|
|
54
|
+
gateway_instance_id = (gateway_instance_id or "").strip()
|
|
55
|
+
|
|
56
|
+
if mode == "Exclusive":
|
|
57
|
+
if not gateway_instance_id:
|
|
58
|
+
raise ValueError(
|
|
59
|
+
f"{label}.gateway_instance_id is required when gateway_mode is Exclusive."
|
|
60
|
+
)
|
|
61
|
+
if has_network_configuration:
|
|
62
|
+
raise ValueError(
|
|
63
|
+
f"{label}.network cannot be used when gateway_mode is Exclusive; "
|
|
64
|
+
"the Runtime follows the selected gateway instance network."
|
|
65
|
+
)
|
|
66
|
+
return
|
|
67
|
+
|
|
68
|
+
if gateway_instance_id:
|
|
69
|
+
raise ValueError(
|
|
70
|
+
f"{label}.gateway_instance_id is only valid when gateway_mode is Exclusive."
|
|
71
|
+
)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
def runtime_gateway_binding_changed(
|
|
75
|
+
*,
|
|
76
|
+
desired_mode: Optional[str],
|
|
77
|
+
desired_instance_id: Optional[str],
|
|
78
|
+
current_mode: Optional[str],
|
|
79
|
+
current_instance_id: Optional[str],
|
|
80
|
+
) -> bool:
|
|
81
|
+
desired_mode = effective_runtime_gateway_mode(desired_mode)
|
|
82
|
+
current_mode = effective_runtime_gateway_mode(current_mode)
|
|
83
|
+
|
|
84
|
+
if desired_mode not in RUNTIME_GATEWAY_MODES or current_mode not in RUNTIME_GATEWAY_MODES:
|
|
85
|
+
return desired_mode != current_mode
|
|
86
|
+
if desired_mode != current_mode:
|
|
87
|
+
return True
|
|
88
|
+
if desired_mode != "Exclusive":
|
|
89
|
+
return False
|
|
90
|
+
return (desired_instance_id or "").strip() != (current_instance_id or "").strip()
|
agentkit/sdk/runtime/types.py
CHANGED
|
@@ -40,6 +40,11 @@ class AgentKitRuntimeVersionsForListRuntimeVersions(RuntimeTypeBaseModel):
|
|
|
40
40
|
created_at: Optional[str] = Field(default=None, alias="CreatedAt")
|
|
41
41
|
description: Optional[str] = Field(default=None, alias="Description")
|
|
42
42
|
envs: Optional[list[EnvsForListRuntimeVersions]] = Field(default=None, alias="Envs")
|
|
43
|
+
gateway_instance_id: Optional[str] = Field(default=None, alias="GatewayInstanceId")
|
|
44
|
+
gateway_instance_name: Optional[str] = Field(
|
|
45
|
+
default=None, alias="GatewayInstanceName"
|
|
46
|
+
)
|
|
47
|
+
gateway_mode: Optional[str] = Field(default=None, alias="GatewayMode")
|
|
43
48
|
memory_mb: Optional[int] = Field(default=None, alias="MemoryMb")
|
|
44
49
|
role_name: Optional[str] = Field(default=None, alias="RoleName")
|
|
45
50
|
runtime_id: Optional[str] = Field(default=None, alias="RuntimeId")
|
|
@@ -63,6 +68,11 @@ class AgentKitRuntimesForListRuntimes(RuntimeTypeBaseModel):
|
|
|
63
68
|
)
|
|
64
69
|
description: Optional[str] = Field(default=None, alias="Description")
|
|
65
70
|
envs: Optional[list[EnvsForListRuntimes]] = Field(default=None, alias="Envs")
|
|
71
|
+
gateway_instance_id: Optional[str] = Field(default=None, alias="GatewayInstanceId")
|
|
72
|
+
gateway_instance_name: Optional[str] = Field(
|
|
73
|
+
default=None, alias="GatewayInstanceName"
|
|
74
|
+
)
|
|
75
|
+
gateway_mode: Optional[str] = Field(default=None, alias="GatewayMode")
|
|
66
76
|
knowledge_id: Optional[str] = Field(default=None, alias="KnowledgeId")
|
|
67
77
|
mcp_toolset_id: Optional[str] = Field(default=None, alias="MCPToolsetId")
|
|
68
78
|
memory_id: Optional[str] = Field(default=None, alias="MemoryId")
|
|
@@ -326,6 +336,8 @@ class CreateRuntimeRequest(RuntimeTypeBaseModel):
|
|
|
326
336
|
client_token: Optional[str] = Field(default=None, alias="ClientToken")
|
|
327
337
|
cpu_milli: Optional[int] = Field(default=None, alias="CpuMilli")
|
|
328
338
|
description: Optional[str] = Field(default=None, alias="Description")
|
|
339
|
+
gateway_instance_id: Optional[str] = Field(default=None, alias="GatewayInstanceId")
|
|
340
|
+
gateway_mode: Optional[str] = Field(default=None, alias="GatewayMode")
|
|
329
341
|
knowledge_id: Optional[str] = Field(default=None, alias="KnowledgeId")
|
|
330
342
|
mcp_toolset_id: Optional[str] = Field(default=None, alias="MCPToolsetId")
|
|
331
343
|
max_concurrency: Optional[int] = Field(default=None, alias="MaxConcurrency")
|
|
@@ -388,6 +400,11 @@ class GetRuntimeResponse(RuntimeTypeBaseModel):
|
|
|
388
400
|
description: Optional[str] = Field(default=None, alias="Description")
|
|
389
401
|
envs: Optional[list[EnvsForGetRuntime]] = Field(default=None, alias="Envs")
|
|
390
402
|
failed_log_file_url: Optional[str] = Field(default=None, alias="FailedLogFileUrl")
|
|
403
|
+
gateway_instance_id: Optional[str] = Field(default=None, alias="GatewayInstanceId")
|
|
404
|
+
gateway_instance_name: Optional[str] = Field(
|
|
405
|
+
default=None, alias="GatewayInstanceName"
|
|
406
|
+
)
|
|
407
|
+
gateway_mode: Optional[str] = Field(default=None, alias="GatewayMode")
|
|
391
408
|
knowledge_id: Optional[str] = Field(default=None, alias="KnowledgeId")
|
|
392
409
|
mcp_toolset_id: Optional[str] = Field(default=None, alias="MCPToolsetId")
|
|
393
410
|
max_concurrency: Optional[int] = Field(default=None, alias="MaxConcurrency")
|
|
@@ -455,6 +472,11 @@ class GetRuntimeVersionResponse(RuntimeTypeBaseModel):
|
|
|
455
472
|
description: Optional[str] = Field(default=None, alias="Description")
|
|
456
473
|
endpoint: Optional[str] = Field(default=None, alias="Endpoint")
|
|
457
474
|
envs: Optional[list[EnvsForGetRuntimeVersion]] = Field(default=None, alias="Envs")
|
|
475
|
+
gateway_instance_id: Optional[str] = Field(default=None, alias="GatewayInstanceId")
|
|
476
|
+
gateway_instance_name: Optional[str] = Field(
|
|
477
|
+
default=None, alias="GatewayInstanceName"
|
|
478
|
+
)
|
|
479
|
+
gateway_mode: Optional[str] = Field(default=None, alias="GatewayMode")
|
|
458
480
|
max_concurrency: Optional[int] = Field(default=None, alias="MaxConcurrency")
|
|
459
481
|
memory_mb: Optional[int] = Field(default=None, alias="MemoryMb")
|
|
460
482
|
model_agent_name: Optional[str] = Field(default=None, alias="ModelAgentName")
|
agentkit/sdk/tools/client.py
CHANGED
|
@@ -46,6 +46,10 @@ from .types import (
|
|
|
46
46
|
ListSessionsResponse,
|
|
47
47
|
ListToolsRequest,
|
|
48
48
|
ListToolsResponse,
|
|
49
|
+
PauseSessionRequest,
|
|
50
|
+
PauseSessionResponse,
|
|
51
|
+
ResumeSessionRequest,
|
|
52
|
+
ResumeSessionResponse,
|
|
49
53
|
ResumeSessionFromSnapshotRequest,
|
|
50
54
|
ResumeSessionFromSnapshotResponse,
|
|
51
55
|
SetSessionTtlRequest,
|
|
@@ -72,6 +76,8 @@ class AgentkitToolsClient(BaseAgentkitClient):
|
|
|
72
76
|
"ListSessionSnapshots": "ListSessionSnapshots",
|
|
73
77
|
"ListSessions": "ListSessions",
|
|
74
78
|
"ListTools": "ListTools",
|
|
79
|
+
"PauseSession": "PauseSession",
|
|
80
|
+
"ResumeSession": "ResumeSession",
|
|
75
81
|
"ResumeSessionFromSnapshot": "ResumeSessionFromSnapshot",
|
|
76
82
|
"SetSessionTtl": "SetSessionTtl",
|
|
77
83
|
"UpdateTool": "UpdateTool",
|
|
@@ -193,6 +199,20 @@ class AgentkitToolsClient(BaseAgentkitClient):
|
|
|
193
199
|
response_type=ListToolsResponse,
|
|
194
200
|
)
|
|
195
201
|
|
|
202
|
+
def pause_session(self, request: PauseSessionRequest) -> PauseSessionResponse:
|
|
203
|
+
return self._invoke_api(
|
|
204
|
+
api_action="PauseSession",
|
|
205
|
+
request=request,
|
|
206
|
+
response_type=PauseSessionResponse,
|
|
207
|
+
)
|
|
208
|
+
|
|
209
|
+
def resume_session(self, request: ResumeSessionRequest) -> ResumeSessionResponse:
|
|
210
|
+
return self._invoke_api(
|
|
211
|
+
api_action="ResumeSession",
|
|
212
|
+
request=request,
|
|
213
|
+
response_type=ResumeSessionResponse,
|
|
214
|
+
)
|
|
215
|
+
|
|
196
216
|
def resume_session_from_snapshot(
|
|
197
217
|
self, request: ResumeSessionFromSnapshotRequest
|
|
198
218
|
) -> ResumeSessionFromSnapshotResponse:
|
agentkit/sdk/tools/types.py
CHANGED
|
@@ -133,14 +133,31 @@ class SessionMetaForListSessions(ToolsBaseModel):
|
|
|
133
133
|
webshell_url: Optional[str] = Field(default=None, alias="WebshellUrl")
|
|
134
134
|
|
|
135
135
|
|
|
136
|
+
class SessionMetadataForGetSessionSnapshot(ToolsBaseModel):
|
|
137
|
+
key: Optional[str] = Field(default=None, alias="Key")
|
|
138
|
+
type: Optional[str] = Field(default=None, alias="Type")
|
|
139
|
+
value: Optional[str] = Field(default=None, alias="Value")
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
class SessionMetadataForListSessionSnapshots(ToolsBaseModel):
|
|
143
|
+
key: Optional[str] = Field(default=None, alias="Key")
|
|
144
|
+
type: Optional[str] = Field(default=None, alias="Type")
|
|
145
|
+
value: Optional[str] = Field(default=None, alias="Value")
|
|
146
|
+
|
|
147
|
+
|
|
136
148
|
class SnapshotForGetSessionSnapshot(ToolsBaseModel):
|
|
137
149
|
created_at: Optional[str] = Field(default=None, alias="CreatedAt")
|
|
138
150
|
reason: Optional[str] = Field(default=None, alias="Reason")
|
|
139
151
|
sandbox_id: Optional[str] = Field(default=None, alias="SandboxId")
|
|
140
152
|
session_id: Optional[str] = Field(default=None, alias="SessionId")
|
|
153
|
+
session_metadata: Optional[list[SessionMetadataForGetSessionSnapshot]] = Field(
|
|
154
|
+
default=None, alias="SessionMetadata"
|
|
155
|
+
)
|
|
141
156
|
snapshot_id: Optional[str] = Field(default=None, alias="SnapshotId")
|
|
157
|
+
snapshot_type: Optional[str] = Field(default=None, alias="SnapshotType")
|
|
142
158
|
status: Optional[str] = Field(default=None, alias="Status")
|
|
143
159
|
tool_id: Optional[str] = Field(default=None, alias="ToolId")
|
|
160
|
+
user_session_id: Optional[str] = Field(default=None, alias="UserSessionId")
|
|
144
161
|
|
|
145
162
|
|
|
146
163
|
class SnapshotsForListSessionSnapshots(ToolsBaseModel):
|
|
@@ -148,7 +165,11 @@ class SnapshotsForListSessionSnapshots(ToolsBaseModel):
|
|
|
148
165
|
reason: Optional[str] = Field(default=None, alias="Reason")
|
|
149
166
|
sandbox_id: Optional[str] = Field(default=None, alias="SandboxId")
|
|
150
167
|
session_id: Optional[str] = Field(default=None, alias="SessionId")
|
|
168
|
+
session_metadata: Optional[list[SessionMetadataForListSessionSnapshots]] = Field(
|
|
169
|
+
default=None, alias="SessionMetadata"
|
|
170
|
+
)
|
|
151
171
|
snapshot_id: Optional[str] = Field(default=None, alias="SnapshotId")
|
|
172
|
+
snapshot_type: Optional[str] = Field(default=None, alias="SnapshotType")
|
|
152
173
|
status: Optional[str] = Field(default=None, alias="Status")
|
|
153
174
|
tool_id: Optional[str] = Field(default=None, alias="ToolId")
|
|
154
175
|
user_session_id: Optional[str] = Field(default=None, alias="UserSessionId")
|
|
@@ -186,6 +207,7 @@ class ToolsForListTools(ToolsBaseModel):
|
|
|
186
207
|
command: Optional[str] = Field(default=None, alias="Command")
|
|
187
208
|
created_at: Optional[str] = Field(default=None, alias="CreatedAt")
|
|
188
209
|
description: Optional[str] = Field(default=None, alias="Description")
|
|
210
|
+
enable_mcp: Optional[bool] = Field(default=None, alias="EnableMcp")
|
|
189
211
|
envs: Optional[list[EnvsForListTools]] = Field(default=None, alias="Envs")
|
|
190
212
|
image_url: Optional[str] = Field(default=None, alias="ImageUrl")
|
|
191
213
|
model_agent_name: Optional[str] = Field(default=None, alias="ModelAgentName")
|
|
@@ -293,6 +315,7 @@ class CreateSessionResponse(ToolsBaseModel):
|
|
|
293
315
|
|
|
294
316
|
# CreateSessionSnapshot - Request
|
|
295
317
|
class CreateSessionSnapshotRequest(ToolsBaseModel):
|
|
318
|
+
retention_count: Optional[int] = Field(default=None, alias="RetentionCount")
|
|
296
319
|
session_id: str = Field(..., alias="SessionId")
|
|
297
320
|
tool_id: str = Field(..., alias="ToolId")
|
|
298
321
|
|
|
@@ -396,6 +419,7 @@ class CreateToolRequest(ToolsBaseModel):
|
|
|
396
419
|
command: Optional[str] = Field(default=None, alias="Command")
|
|
397
420
|
cpu_milli: Optional[int] = Field(default=None, alias="CpuMilli")
|
|
398
421
|
description: Optional[str] = Field(default=None, alias="Description")
|
|
422
|
+
enable_mcp: Optional[bool] = Field(default=None, alias="EnableMcp")
|
|
399
423
|
enable_object_set_isolation: Optional[bool] = Field(
|
|
400
424
|
default=None, alias="EnableObjectSetIsolation"
|
|
401
425
|
)
|
|
@@ -533,6 +557,7 @@ class GetToolResponse(ToolsBaseModel):
|
|
|
533
557
|
cpu_milli: Optional[int] = Field(default=None, alias="CpuMilli")
|
|
534
558
|
created_at: Optional[str] = Field(default=None, alias="CreatedAt")
|
|
535
559
|
description: Optional[str] = Field(default=None, alias="Description")
|
|
560
|
+
enable_mcp: Optional[bool] = Field(default=None, alias="EnableMcp")
|
|
536
561
|
enable_object_set_isolation: Optional[bool] = Field(
|
|
537
562
|
default=None, alias="EnableObjectSetIsolation"
|
|
538
563
|
)
|
|
@@ -576,6 +601,7 @@ class ListSessionSnapshotsRequest(ToolsBaseModel):
|
|
|
576
601
|
page_number: Optional[int] = Field(default=None, alias="PageNumber")
|
|
577
602
|
page_size: Optional[int] = Field(default=None, alias="PageSize")
|
|
578
603
|
session_id: Optional[str] = Field(default=None, alias="SessionId")
|
|
604
|
+
snapshot_type: Optional[str] = Field(default=None, alias="SnapshotType")
|
|
579
605
|
tool_id: str = Field(..., alias="ToolId")
|
|
580
606
|
user_session_id: Optional[str] = Field(default=None, alias="UserSessionId")
|
|
581
607
|
|
|
@@ -657,6 +683,33 @@ class ListToolsResponse(ToolsBaseModel):
|
|
|
657
683
|
tools: Optional[list[ToolsForListTools]] = Field(default=None, alias="Tools")
|
|
658
684
|
|
|
659
685
|
|
|
686
|
+
# PauseSession - Request
|
|
687
|
+
class PauseSessionRequest(ToolsBaseModel):
|
|
688
|
+
session_id: str = Field(..., alias="SessionId")
|
|
689
|
+
tool_id: str = Field(..., alias="ToolId")
|
|
690
|
+
|
|
691
|
+
|
|
692
|
+
# PauseSession - Response
|
|
693
|
+
class PauseSessionResponse(ToolsBaseModel):
|
|
694
|
+
session_id: Optional[str] = Field(default=None, alias="SessionId")
|
|
695
|
+
status: Optional[str] = Field(default=None, alias="Status")
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
# ResumeSession - Request
|
|
699
|
+
class ResumeSessionRequest(ToolsBaseModel):
|
|
700
|
+
session_id: str = Field(..., alias="SessionId")
|
|
701
|
+
tool_id: str = Field(..., alias="ToolId")
|
|
702
|
+
ttl: Optional[int] = Field(default=None, alias="Ttl")
|
|
703
|
+
ttl_unit: Optional[str] = Field(default=None, alias="TtlUnit")
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
# ResumeSession - Response
|
|
707
|
+
class ResumeSessionResponse(ToolsBaseModel):
|
|
708
|
+
expire_at: Optional[str] = Field(default=None, alias="ExpireAt")
|
|
709
|
+
session_id: Optional[str] = Field(default=None, alias="SessionId")
|
|
710
|
+
status: Optional[str] = Field(default=None, alias="Status")
|
|
711
|
+
|
|
712
|
+
|
|
660
713
|
# ResumeSessionFromSnapshot - Request
|
|
661
714
|
class ResumeSessionFromSnapshotRequest(ToolsBaseModel):
|
|
662
715
|
create_new_instance: Optional[bool] = Field(default=None, alias="CreateNewInstance")
|
|
@@ -722,6 +775,7 @@ class UpdateToolRequest(ToolsBaseModel):
|
|
|
722
775
|
command: Optional[str] = Field(default=None, alias="Command")
|
|
723
776
|
cpu_milli: Optional[int] = Field(default=None, alias="CpuMilli")
|
|
724
777
|
description: Optional[str] = Field(default=None, alias="Description")
|
|
778
|
+
enable_mcp: Optional[bool] = Field(default=None, alias="EnableMcp")
|
|
725
779
|
image_url: Optional[str] = Field(default=None, alias="ImageUrl")
|
|
726
780
|
lark_app_id: Optional[str] = Field(default=None, alias="LarkAppId")
|
|
727
781
|
lark_app_secret: Optional[str] = Field(default=None, alias="LarkAppSecret")
|
|
@@ -192,6 +192,18 @@ def config_command(
|
|
|
192
192
|
"--runtime_binding_mcp_toolset_id",
|
|
193
193
|
help="Bind Runtime to an MCP Toolset ID (cloud/hybrid only)",
|
|
194
194
|
),
|
|
195
|
+
runtime_gateway_mode: Optional[str] = typer.Option(
|
|
196
|
+
None,
|
|
197
|
+
"--runtime_gateway_mode",
|
|
198
|
+
"--runtime-gateway-mode",
|
|
199
|
+
help="Runtime gateway mode (cloud/hybrid, CreateRuntime only): Shared|Exclusive",
|
|
200
|
+
),
|
|
201
|
+
runtime_gateway_instance_id: Optional[str] = typer.Option(
|
|
202
|
+
None,
|
|
203
|
+
"--runtime_gateway_instance_id",
|
|
204
|
+
"--runtime-gateway-instance-id",
|
|
205
|
+
help="Exclusive Runtime gateway instance ID (cloud/hybrid, CreateRuntime only)",
|
|
206
|
+
),
|
|
195
207
|
# Runtime network configuration (advanced, CreateRuntime only)
|
|
196
208
|
runtime_network_mode: Optional[str] = typer.Option(
|
|
197
209
|
None,
|
|
@@ -344,6 +356,8 @@ def config_command(
|
|
|
344
356
|
runtime_vpc_id=runtime_vpc_id,
|
|
345
357
|
runtime_subnet_ids=runtime_subnet_ids,
|
|
346
358
|
runtime_enable_shared_internet_access=runtime_enable_shared_internet_access,
|
|
359
|
+
runtime_gateway_mode=runtime_gateway_mode,
|
|
360
|
+
runtime_gateway_instance_id=runtime_gateway_instance_id,
|
|
347
361
|
)
|
|
348
362
|
|
|
349
363
|
has_cli_params = ConfigParamHandler.has_cli_params(cli_params)
|
|
@@ -25,6 +25,10 @@ from rich.table import Table
|
|
|
25
25
|
from rich.panel import Panel
|
|
26
26
|
|
|
27
27
|
from agentkit.sdk.runtime.client import AgentkitRuntimeClient
|
|
28
|
+
from agentkit.sdk.runtime.gateway import (
|
|
29
|
+
normalize_runtime_gateway_mode,
|
|
30
|
+
validate_runtime_gateway_create_config,
|
|
31
|
+
)
|
|
28
32
|
from agentkit.sdk.runtime import types as rt
|
|
29
33
|
|
|
30
34
|
console = Console()
|
|
@@ -92,6 +96,60 @@ def _build_network_for_create_runtime(
|
|
|
92
96
|
)
|
|
93
97
|
|
|
94
98
|
|
|
99
|
+
def _has_network_configuration_for_create_runtime(
|
|
100
|
+
vpc_id: Optional[str],
|
|
101
|
+
subnet_ids: Optional[str],
|
|
102
|
+
enable_private_network: bool,
|
|
103
|
+
enable_public_network: bool,
|
|
104
|
+
enable_shared_internet_access: bool,
|
|
105
|
+
) -> bool:
|
|
106
|
+
return (
|
|
107
|
+
enable_private_network
|
|
108
|
+
or bool((vpc_id or "").strip())
|
|
109
|
+
or bool((subnet_ids or "").strip())
|
|
110
|
+
or enable_shared_internet_access
|
|
111
|
+
or enable_public_network is False
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def _payload_value(payload: object, *keys: str) -> object:
|
|
116
|
+
if not isinstance(payload, dict):
|
|
117
|
+
return None
|
|
118
|
+
for key in keys:
|
|
119
|
+
if key in payload:
|
|
120
|
+
return payload[key]
|
|
121
|
+
return None
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
def _payload_has_non_null_key(payload: object, *keys: str) -> bool:
|
|
125
|
+
if not isinstance(payload, dict):
|
|
126
|
+
return False
|
|
127
|
+
return any(key in payload and payload[key] is not None for key in keys)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def _unsupported_runtime_update_fields_message(payload: object) -> Optional[str]:
|
|
131
|
+
if not isinstance(payload, dict):
|
|
132
|
+
return None
|
|
133
|
+
unsupported = [
|
|
134
|
+
"GatewayMode",
|
|
135
|
+
"GatewayInstanceId",
|
|
136
|
+
"NetworkConfiguration",
|
|
137
|
+
"gateway_mode",
|
|
138
|
+
"gateway_instance_id",
|
|
139
|
+
"network_configuration",
|
|
140
|
+
"gatewayMode",
|
|
141
|
+
"gatewayInstanceId",
|
|
142
|
+
"networkConfiguration",
|
|
143
|
+
]
|
|
144
|
+
found = [key for key in unsupported if key in payload]
|
|
145
|
+
if not found:
|
|
146
|
+
return None
|
|
147
|
+
return (
|
|
148
|
+
f"{', '.join(found)} can only be set when creating a Runtime; "
|
|
149
|
+
"gateway mode, gateway instance, and network configuration cannot be updated."
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
|
|
95
153
|
def _validate_runtime_create_authorizer_options(
|
|
96
154
|
api_key_name: Optional[str],
|
|
97
155
|
jwt_discovery_url: Optional[str],
|
|
@@ -132,6 +190,16 @@ def create_runtime_command(
|
|
|
132
190
|
model_agent_name: Optional[str] = typer.Option(
|
|
133
191
|
None, "--model-agent-name", help="Model agent name"
|
|
134
192
|
),
|
|
193
|
+
gateway_mode: Optional[str] = typer.Option(
|
|
194
|
+
None,
|
|
195
|
+
"--gateway-mode",
|
|
196
|
+
help="Runtime gateway mode: Shared | Exclusive",
|
|
197
|
+
),
|
|
198
|
+
gateway_instance_id: Optional[str] = typer.Option(
|
|
199
|
+
None,
|
|
200
|
+
"--gateway-instance-id",
|
|
201
|
+
help="Exclusive Runtime gateway instance ID",
|
|
202
|
+
),
|
|
135
203
|
vpc_id: Optional[str] = typer.Option(None, "--vpc-id", help="VPC ID"),
|
|
136
204
|
subnet_ids: Optional[str] = typer.Option(
|
|
137
205
|
None, "--subnet-ids", help="Subnet IDs (comma-separated)"
|
|
@@ -187,12 +255,49 @@ def create_runtime_command(
|
|
|
187
255
|
try:
|
|
188
256
|
if json_body:
|
|
189
257
|
payload = json.loads(json_body)
|
|
258
|
+
validate_runtime_gateway_create_config(
|
|
259
|
+
gateway_mode=_payload_value(
|
|
260
|
+
payload,
|
|
261
|
+
"GatewayMode",
|
|
262
|
+
"gateway_mode",
|
|
263
|
+
"gatewayMode",
|
|
264
|
+
),
|
|
265
|
+
gateway_instance_id=_payload_value(
|
|
266
|
+
payload,
|
|
267
|
+
"GatewayInstanceId",
|
|
268
|
+
"gateway_instance_id",
|
|
269
|
+
"gatewayInstanceId",
|
|
270
|
+
),
|
|
271
|
+
has_network_configuration=_payload_has_non_null_key(
|
|
272
|
+
payload,
|
|
273
|
+
"NetworkConfiguration",
|
|
274
|
+
"network_configuration",
|
|
275
|
+
"networkConfiguration",
|
|
276
|
+
),
|
|
277
|
+
label="runtime",
|
|
278
|
+
)
|
|
190
279
|
req = rt.CreateRuntimeRequest(**payload)
|
|
191
280
|
else:
|
|
192
281
|
_validate_runtime_create_authorizer_options(
|
|
193
282
|
api_key_name=api_key_name,
|
|
194
283
|
jwt_discovery_url=jwt_discovery_url,
|
|
195
284
|
)
|
|
285
|
+
normalized_gateway_mode = normalize_runtime_gateway_mode(
|
|
286
|
+
gateway_mode,
|
|
287
|
+
"--gateway-mode",
|
|
288
|
+
)
|
|
289
|
+
validate_runtime_gateway_create_config(
|
|
290
|
+
gateway_mode=normalized_gateway_mode,
|
|
291
|
+
gateway_instance_id=gateway_instance_id,
|
|
292
|
+
has_network_configuration=_has_network_configuration_for_create_runtime(
|
|
293
|
+
vpc_id=vpc_id,
|
|
294
|
+
subnet_ids=subnet_ids,
|
|
295
|
+
enable_private_network=enable_private_network,
|
|
296
|
+
enable_public_network=enable_public_network,
|
|
297
|
+
enable_shared_internet_access=enable_shared_internet_access,
|
|
298
|
+
),
|
|
299
|
+
label="runtime",
|
|
300
|
+
)
|
|
196
301
|
|
|
197
302
|
authorizer = None
|
|
198
303
|
if any([api_key_name, api_key_location, jwt_discovery_url]):
|
|
@@ -253,6 +358,10 @@ def create_runtime_command(
|
|
|
253
358
|
tool_id=tool_id,
|
|
254
359
|
mcp_toolset_id=mcp_toolset_id,
|
|
255
360
|
model_agent_name=model_agent_name,
|
|
361
|
+
gateway_mode=normalized_gateway_mode,
|
|
362
|
+
gateway_instance_id=(
|
|
363
|
+
gateway_instance_id.strip() if gateway_instance_id else None
|
|
364
|
+
),
|
|
256
365
|
authorizer_configuration=authorizer,
|
|
257
366
|
network_configuration=network,
|
|
258
367
|
envs=envs,
|
|
@@ -343,6 +452,9 @@ def update_runtime_command(
|
|
|
343
452
|
client = AgentkitRuntimeClient(region=(region or "").strip())
|
|
344
453
|
if json_body:
|
|
345
454
|
payload = json.loads(json_body)
|
|
455
|
+
unsupported = _unsupported_runtime_update_fields_message(payload)
|
|
456
|
+
if unsupported:
|
|
457
|
+
raise ValueError(unsupported)
|
|
346
458
|
req = rt.UpdateRuntimeRequest(**payload)
|
|
347
459
|
else:
|
|
348
460
|
envs = None
|
|
@@ -467,6 +579,16 @@ def list_runtimes_command(
|
|
|
467
579
|
project_name: Optional[str] = typer.Option(
|
|
468
580
|
None, "--project-name", help="Filter by project name"
|
|
469
581
|
),
|
|
582
|
+
gateway_mode: Optional[str] = typer.Option(
|
|
583
|
+
None,
|
|
584
|
+
"--gateway-mode",
|
|
585
|
+
help="Filter by runtime gateway mode: Shared | Exclusive",
|
|
586
|
+
),
|
|
587
|
+
gateway_instance_id: Optional[str] = typer.Option(
|
|
588
|
+
None,
|
|
589
|
+
"--gateway-instance-id",
|
|
590
|
+
help="Filter by runtime gateway instance ID",
|
|
591
|
+
),
|
|
470
592
|
# Sorting options
|
|
471
593
|
sort_by: Optional[str] = typer.Option(
|
|
472
594
|
None, "--sort-by", help="Sort by field: Name|Status|CreatedAt|UpdatedAt"
|
|
@@ -618,6 +740,26 @@ def list_runtimes_command(
|
|
|
618
740
|
rt.FiltersItemForListRuntimes(name="Status", values=statuses)
|
|
619
741
|
)
|
|
620
742
|
|
|
743
|
+
if gateway_mode:
|
|
744
|
+
filters.append(
|
|
745
|
+
rt.FiltersItemForListRuntimes(
|
|
746
|
+
name="GatewayMode",
|
|
747
|
+
values=[
|
|
748
|
+
normalize_runtime_gateway_mode(
|
|
749
|
+
gateway_mode,
|
|
750
|
+
"--gateway-mode",
|
|
751
|
+
)
|
|
752
|
+
],
|
|
753
|
+
)
|
|
754
|
+
)
|
|
755
|
+
if gateway_instance_id:
|
|
756
|
+
filters.append(
|
|
757
|
+
rt.FiltersItemForListRuntimes(
|
|
758
|
+
name="GatewayInstanceId",
|
|
759
|
+
values=[gateway_instance_id],
|
|
760
|
+
)
|
|
761
|
+
)
|
|
762
|
+
|
|
621
763
|
# Setup console with color control
|
|
622
764
|
local_console = console if not no_color else Console(no_color=True)
|
|
623
765
|
|
|
@@ -696,6 +838,8 @@ def list_runtimes_command(
|
|
|
696
838
|
("Name", "Name", "white"),
|
|
697
839
|
("Status", "Status", "green"),
|
|
698
840
|
("ProjectName", "ProjectName", "yellow"),
|
|
841
|
+
("GatewayMode", "GatewayMode", "cyan"),
|
|
842
|
+
("GatewayInstanceName", "GatewayInstanceName", "blue"),
|
|
699
843
|
("UpdatedAt", "UpdatedAt", "magenta"),
|
|
700
844
|
]
|
|
701
845
|
|
|
@@ -108,6 +108,11 @@ def create_tool_command(
|
|
|
108
108
|
None, "--project-name", help="Project name"
|
|
109
109
|
),
|
|
110
110
|
role_name: Optional[str] = typer.Option(None, "--role-name", help="Role name"),
|
|
111
|
+
enable_mcp: Optional[bool] = typer.Option(
|
|
112
|
+
None,
|
|
113
|
+
"--enable-mcp/--disable-mcp",
|
|
114
|
+
help="Enable AgentGateway MCP capability for the tool.",
|
|
115
|
+
),
|
|
111
116
|
api_key_name: Optional[str] = typer.Option(
|
|
112
117
|
None, "--apikey-name", help="API key name"
|
|
113
118
|
),
|
|
@@ -234,6 +239,7 @@ def create_tool_command(
|
|
|
234
239
|
description=description,
|
|
235
240
|
project_name=project_name,
|
|
236
241
|
role_name=role_name,
|
|
242
|
+
enable_mcp=enable_mcp,
|
|
237
243
|
authorizer_configuration=authorizer,
|
|
238
244
|
network_configuration=network,
|
|
239
245
|
tags=tags_list or None,
|
|
@@ -306,6 +312,11 @@ def update_tool_command(
|
|
|
306
312
|
description: Optional[str] = typer.Option(
|
|
307
313
|
None, "--description", help="Description"
|
|
308
314
|
),
|
|
315
|
+
enable_mcp: Optional[bool] = typer.Option(
|
|
316
|
+
None,
|
|
317
|
+
"--enable-mcp/--disable-mcp",
|
|
318
|
+
help="Enable or disable AgentGateway MCP capability (KeyAuth tools only).",
|
|
319
|
+
),
|
|
309
320
|
json_body: Optional[str] = typer.Option(
|
|
310
321
|
None, "--json", help="Full JSON body for UpdateTool"
|
|
311
322
|
),
|
|
@@ -324,7 +335,7 @@ def update_tool_command(
|
|
|
324
335
|
),
|
|
325
336
|
),
|
|
326
337
|
):
|
|
327
|
-
"""Update tool
|
|
338
|
+
"""Update a tool."""
|
|
328
339
|
try:
|
|
329
340
|
client = AgentkitToolsClient(region=(region or "").strip())
|
|
330
341
|
if json_body:
|
|
@@ -335,7 +346,9 @@ def update_tool_command(
|
|
|
335
346
|
payload["ToolId"] = tool_id.strip()
|
|
336
347
|
else:
|
|
337
348
|
payload = tools_types.UpdateToolRequest(
|
|
338
|
-
tool_id=tool_id,
|
|
349
|
+
tool_id=tool_id,
|
|
350
|
+
description=description,
|
|
351
|
+
enable_mcp=enable_mcp,
|
|
339
352
|
).model_dump(by_alias=True, exclude_none=True)
|
|
340
353
|
|
|
341
354
|
if print_json:
|
|
@@ -34,6 +34,10 @@ from agentkit.sdk.tools.types import (
|
|
|
34
34
|
GetSessionResponse,
|
|
35
35
|
ListSessionsRequest,
|
|
36
36
|
ListSessionsResponse,
|
|
37
|
+
PauseSessionRequest,
|
|
38
|
+
PauseSessionResponse,
|
|
39
|
+
ResumeSessionRequest,
|
|
40
|
+
ResumeSessionResponse,
|
|
37
41
|
)
|
|
38
42
|
|
|
39
43
|
SANDBOX_APIG_ENDPOINT_ENV = "SANDBOX_APIG_ENDPOINT"
|
|
@@ -234,6 +238,20 @@ class TipAgentkitToolsClient(_OpenapiAgentkitToolsClient):
|
|
|
234
238
|
response_type=DeleteSessionResponse,
|
|
235
239
|
)
|
|
236
240
|
|
|
241
|
+
def pause_session(self, request: PauseSessionRequest) -> PauseSessionResponse:
|
|
242
|
+
return self._invoke_tip_api(
|
|
243
|
+
api_action="PauseSession",
|
|
244
|
+
request=request,
|
|
245
|
+
response_type=PauseSessionResponse,
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
def resume_session(self, request: ResumeSessionRequest) -> ResumeSessionResponse:
|
|
249
|
+
return self._invoke_tip_api(
|
|
250
|
+
api_action="ResumeSession",
|
|
251
|
+
request=request,
|
|
252
|
+
response_type=ResumeSessionResponse,
|
|
253
|
+
)
|
|
254
|
+
|
|
237
255
|
def _raise_tip_unsupported(self, api_action: str) -> None:
|
|
238
256
|
raise Exception(
|
|
239
257
|
f"{api_action} is not available with TIP sandbox auth. "
|
|
@@ -21,6 +21,7 @@ from rich import box
|
|
|
21
21
|
|
|
22
22
|
from agentkit.toolkit.config.config import get_config
|
|
23
23
|
from agentkit.toolkit.config.config_validator import ConfigValidator
|
|
24
|
+
from agentkit.sdk.runtime.gateway import normalize_runtime_gateway_mode
|
|
24
25
|
|
|
25
26
|
console = Console()
|
|
26
27
|
|
|
@@ -113,6 +114,8 @@ class ConfigParamHandler:
|
|
|
113
114
|
runtime_vpc_id: Optional[str],
|
|
114
115
|
runtime_subnet_ids: Optional[List[str]],
|
|
115
116
|
runtime_enable_shared_internet_access: Optional[bool],
|
|
117
|
+
runtime_gateway_mode: Optional[str] = None,
|
|
118
|
+
runtime_gateway_instance_id: Optional[str] = None,
|
|
116
119
|
) -> Dict[str, Any]:
|
|
117
120
|
"""Collect all CLI parameters.
|
|
118
121
|
|
|
@@ -201,6 +204,17 @@ class ConfigParamHandler:
|
|
|
201
204
|
if runtime_bindings:
|
|
202
205
|
strategy_params["runtime_bindings"] = runtime_bindings
|
|
203
206
|
|
|
207
|
+
if runtime_gateway_mode is not None:
|
|
208
|
+
strategy_params["runtime_gateway_mode"] = (
|
|
209
|
+
normalize_runtime_gateway_mode(
|
|
210
|
+
runtime_gateway_mode,
|
|
211
|
+
"runtime_gateway_mode",
|
|
212
|
+
)
|
|
213
|
+
or ""
|
|
214
|
+
)
|
|
215
|
+
if runtime_gateway_instance_id is not None:
|
|
216
|
+
strategy_params["runtime_gateway_instance_id"] = runtime_gateway_instance_id
|
|
217
|
+
|
|
204
218
|
# Runtime network configuration (advanced, CreateRuntime only)
|
|
205
219
|
runtime_network: Dict[str, Any] = {}
|
|
206
220
|
if runtime_network_mode is not None:
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
from dataclasses import dataclass, field
|
|
16
16
|
from typing import Any, Dict, List, Optional
|
|
17
|
+
from agentkit.sdk.runtime.gateway import normalize_runtime_gateway_mode
|
|
17
18
|
from .dataclass_utils import AutoSerializableMixin
|
|
18
19
|
from .constants import (
|
|
19
20
|
AUTH_TYPE_CUSTOM_JWT,
|
|
@@ -344,6 +345,32 @@ class HybridStrategyConfig(AutoSerializableMixin):
|
|
|
344
345
|
"examples": "{mode: private, vpc_id: vpc-xxx, subnet_ids: [subnet-aaa, subnet-bbb], enable_shared_internet_access: true}",
|
|
345
346
|
},
|
|
346
347
|
)
|
|
348
|
+
runtime_gateway_mode: str = field(
|
|
349
|
+
default="",
|
|
350
|
+
metadata={
|
|
351
|
+
"hidden": True,
|
|
352
|
+
"description": "Runtime gateway mode: Shared or Exclusive",
|
|
353
|
+
"examples": "Exclusive",
|
|
354
|
+
},
|
|
355
|
+
)
|
|
356
|
+
runtime_gateway_instance_id: str = field(
|
|
357
|
+
default="",
|
|
358
|
+
metadata={
|
|
359
|
+
"hidden": True,
|
|
360
|
+
"description": "Exclusive Runtime gateway instance ID",
|
|
361
|
+
"examples": "g-xxx",
|
|
362
|
+
},
|
|
363
|
+
)
|
|
364
|
+
|
|
365
|
+
def __post_init__(self):
|
|
366
|
+
self.runtime_gateway_mode = (
|
|
367
|
+
normalize_runtime_gateway_mode(
|
|
368
|
+
self.runtime_gateway_mode,
|
|
369
|
+
"runtime_gateway_mode",
|
|
370
|
+
)
|
|
371
|
+
or ""
|
|
372
|
+
)
|
|
373
|
+
|
|
347
374
|
_config_metadata = {
|
|
348
375
|
"name": "Hybrid Strategy Configuration",
|
|
349
376
|
"welcome_message": "Welcome to AgentKit Hybrid Deployment Mode Configuration Wizard",
|
|
@@ -611,6 +638,31 @@ class CloudStrategyConfig(AutoSerializableMixin):
|
|
|
611
638
|
"examples": "{mode: private, vpc_id: vpc-xxx, subnet_ids: [subnet-aaa, subnet-bbb], enable_shared_internet_access: true}",
|
|
612
639
|
},
|
|
613
640
|
)
|
|
641
|
+
runtime_gateway_mode: str = field(
|
|
642
|
+
default="",
|
|
643
|
+
metadata={
|
|
644
|
+
"hidden": True,
|
|
645
|
+
"description": "Runtime gateway mode: Shared or Exclusive",
|
|
646
|
+
"examples": "Exclusive",
|
|
647
|
+
},
|
|
648
|
+
)
|
|
649
|
+
runtime_gateway_instance_id: str = field(
|
|
650
|
+
default="",
|
|
651
|
+
metadata={
|
|
652
|
+
"hidden": True,
|
|
653
|
+
"description": "Exclusive Runtime gateway instance ID",
|
|
654
|
+
"examples": "g-xxx",
|
|
655
|
+
},
|
|
656
|
+
)
|
|
657
|
+
|
|
658
|
+
def __post_init__(self):
|
|
659
|
+
self.runtime_gateway_mode = (
|
|
660
|
+
normalize_runtime_gateway_mode(
|
|
661
|
+
self.runtime_gateway_mode,
|
|
662
|
+
"runtime_gateway_mode",
|
|
663
|
+
)
|
|
664
|
+
or ""
|
|
665
|
+
)
|
|
614
666
|
|
|
615
667
|
# Deployment metadata
|
|
616
668
|
build_timestamp: str = field(
|
|
@@ -43,6 +43,11 @@ from agentkit.utils.misc import (
|
|
|
43
43
|
retry,
|
|
44
44
|
)
|
|
45
45
|
from agentkit.sdk.runtime.client import AgentkitRuntimeClient
|
|
46
|
+
from agentkit.sdk.runtime.gateway import (
|
|
47
|
+
normalize_runtime_gateway_mode,
|
|
48
|
+
runtime_gateway_binding_changed,
|
|
49
|
+
validate_runtime_gateway_create_config,
|
|
50
|
+
)
|
|
46
51
|
from agentkit.toolkit.volcengine.iam import VeIAM
|
|
47
52
|
from .base import Runner
|
|
48
53
|
|
|
@@ -110,6 +115,14 @@ class VeAgentkitRunnerConfig(AutoSerializableMixin):
|
|
|
110
115
|
"description": "Runtime network configuration (advanced, CreateRuntime only)",
|
|
111
116
|
},
|
|
112
117
|
)
|
|
118
|
+
runtime_gateway_mode: str = field(
|
|
119
|
+
default="",
|
|
120
|
+
metadata={"description": "Runtime gateway mode: Shared or Exclusive"},
|
|
121
|
+
)
|
|
122
|
+
runtime_gateway_instance_id: str = field(
|
|
123
|
+
default="",
|
|
124
|
+
metadata={"description": "Exclusive Runtime gateway instance ID"},
|
|
125
|
+
)
|
|
113
126
|
|
|
114
127
|
# Authentication configuration
|
|
115
128
|
runtime_auth_type: str = field(
|
|
@@ -754,6 +767,36 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
754
767
|
enable_public_network=enable_public,
|
|
755
768
|
)
|
|
756
769
|
|
|
770
|
+
@staticmethod
|
|
771
|
+
def _validate_runtime_gateway_config_for_create(
|
|
772
|
+
config: VeAgentkitRunnerConfig,
|
|
773
|
+
) -> None:
|
|
774
|
+
validate_runtime_gateway_create_config(
|
|
775
|
+
gateway_mode=config.runtime_gateway_mode,
|
|
776
|
+
gateway_instance_id=config.runtime_gateway_instance_id,
|
|
777
|
+
has_network_configuration=bool(config.runtime_network),
|
|
778
|
+
label="runtime",
|
|
779
|
+
)
|
|
780
|
+
|
|
781
|
+
@staticmethod
|
|
782
|
+
def _assert_runtime_gateway_update_allowed(
|
|
783
|
+
config: VeAgentkitRunnerConfig,
|
|
784
|
+
current: Optional[runtime_types.GetRuntimeResponse],
|
|
785
|
+
) -> None:
|
|
786
|
+
if current is None:
|
|
787
|
+
return
|
|
788
|
+
if not runtime_gateway_binding_changed(
|
|
789
|
+
desired_mode=config.runtime_gateway_mode,
|
|
790
|
+
desired_instance_id=config.runtime_gateway_instance_id,
|
|
791
|
+
current_mode=getattr(current, "gateway_mode", None),
|
|
792
|
+
current_instance_id=getattr(current, "gateway_instance_id", None),
|
|
793
|
+
):
|
|
794
|
+
return
|
|
795
|
+
raise ConfigError(
|
|
796
|
+
"Runtime gateway_mode/gateway_instance_id cannot be changed after creation. "
|
|
797
|
+
"Delete and recreate the Runtime, or set runtime_id to Auto to create a new Runtime."
|
|
798
|
+
)
|
|
799
|
+
|
|
757
800
|
def _create_new_runtime(self, config: VeAgentkitRunnerConfig) -> DeployResult:
|
|
758
801
|
"""Create a new Runtime instance.
|
|
759
802
|
|
|
@@ -787,8 +830,11 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
787
830
|
# Build authorizer configuration based on auth type
|
|
788
831
|
authorizer_config = self._build_authorizer_config_for_create(config)
|
|
789
832
|
|
|
833
|
+
self._validate_runtime_gateway_config_for_create(config)
|
|
834
|
+
|
|
790
835
|
# Network configuration is only supported during CreateRuntime.
|
|
791
836
|
network_configuration = self._build_network_config_for_create(config)
|
|
837
|
+
gateway_mode = normalize_runtime_gateway_mode(config.runtime_gateway_mode)
|
|
792
838
|
|
|
793
839
|
create_request = runtime_types.CreateRuntimeRequest(
|
|
794
840
|
name=config.runtime_name,
|
|
@@ -798,6 +844,12 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
798
844
|
artifact_type=ARTIFACT_TYPE_DOCKER_IMAGE,
|
|
799
845
|
artifact_url=config.image_url,
|
|
800
846
|
role_name=config.runtime_role_name,
|
|
847
|
+
gateway_mode=gateway_mode,
|
|
848
|
+
gateway_instance_id=(
|
|
849
|
+
config.runtime_gateway_instance_id.strip()
|
|
850
|
+
if config.runtime_gateway_instance_id
|
|
851
|
+
else None
|
|
852
|
+
),
|
|
801
853
|
memory_id=(memory_id if is_valid_config(memory_id) else None),
|
|
802
854
|
knowledge_id=(knowledge_id if is_valid_config(knowledge_id) else None),
|
|
803
855
|
tool_id=(tool_id if is_valid_config(tool_id) else None),
|
|
@@ -899,6 +951,8 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
899
951
|
"runtime_apikey": config.runtime_apikey,
|
|
900
952
|
"runtime_apikey_name": config.runtime_apikey_name,
|
|
901
953
|
"runtime_role_name": config.runtime_role_name,
|
|
954
|
+
"runtime_gateway_mode": gateway_mode or "",
|
|
955
|
+
"runtime_gateway_instance_id": config.runtime_gateway_instance_id,
|
|
902
956
|
"runtime_auth_type": config.runtime_auth_type,
|
|
903
957
|
"runtime_jwt_discovery_url": config.runtime_jwt_discovery_url,
|
|
904
958
|
"runtime_jwt_allowed_clients": config.runtime_jwt_allowed_clients,
|
|
@@ -1188,6 +1242,8 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
1188
1242
|
success=False, error=error_msg, error_code=ErrorCode.CONFIG_INVALID
|
|
1189
1243
|
)
|
|
1190
1244
|
|
|
1245
|
+
self._assert_runtime_gateway_update_allowed(config, runtime)
|
|
1246
|
+
|
|
1191
1247
|
# Check if update is needed
|
|
1192
1248
|
# needs_update, update_reason = self._needs_runtime_update(runtime, config)
|
|
1193
1249
|
needs_update = True # Always update for now
|
|
@@ -1220,6 +1276,12 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
1220
1276
|
"runtime_name": config.runtime_name,
|
|
1221
1277
|
"runtime_apikey": config.runtime_apikey,
|
|
1222
1278
|
"runtime_auth_type": config.runtime_auth_type,
|
|
1279
|
+
"runtime_gateway_mode": getattr(runtime, "gateway_mode", None)
|
|
1280
|
+
or "",
|
|
1281
|
+
"runtime_gateway_instance_id": getattr(
|
|
1282
|
+
runtime, "gateway_instance_id", None
|
|
1283
|
+
)
|
|
1284
|
+
or "",
|
|
1223
1285
|
"message": "Runtime configuration is up-to-date",
|
|
1224
1286
|
},
|
|
1225
1287
|
)
|
|
@@ -1369,6 +1431,12 @@ class VeAgentkitRuntimeRunner(Runner):
|
|
|
1369
1431
|
"runtime_apikey": config.runtime_apikey,
|
|
1370
1432
|
"runtime_apikey_name": config.runtime_apikey_name,
|
|
1371
1433
|
"runtime_role_name": config.runtime_role_name,
|
|
1434
|
+
"runtime_gateway_mode": getattr(updated_runtime, "gateway_mode", None)
|
|
1435
|
+
or config.runtime_gateway_mode,
|
|
1436
|
+
"runtime_gateway_instance_id": getattr(
|
|
1437
|
+
updated_runtime, "gateway_instance_id", None
|
|
1438
|
+
)
|
|
1439
|
+
or config.runtime_gateway_instance_id,
|
|
1372
1440
|
"runtime_auth_type": config.runtime_auth_type,
|
|
1373
1441
|
"runtime_jwt_discovery_url": config.runtime_jwt_discovery_url,
|
|
1374
1442
|
"runtime_jwt_allowed_clients": config.runtime_jwt_allowed_clients,
|
|
@@ -185,6 +185,16 @@ class CloudStrategy(Strategy):
|
|
|
185
185
|
config_updates.add(
|
|
186
186
|
"runtime_role_name", result.metadata["runtime_role_name"]
|
|
187
187
|
)
|
|
188
|
+
if result.metadata.get("runtime_gateway_mode"):
|
|
189
|
+
config_updates.add(
|
|
190
|
+
"runtime_gateway_mode",
|
|
191
|
+
result.metadata["runtime_gateway_mode"],
|
|
192
|
+
)
|
|
193
|
+
if result.metadata.get("runtime_gateway_instance_id"):
|
|
194
|
+
config_updates.add(
|
|
195
|
+
"runtime_gateway_instance_id",
|
|
196
|
+
result.metadata["runtime_gateway_instance_id"],
|
|
197
|
+
)
|
|
188
198
|
|
|
189
199
|
result.config_updates = config_updates if config_updates.has_updates() else None
|
|
190
200
|
return result
|
|
@@ -352,6 +362,10 @@ class CloudStrategy(Strategy):
|
|
|
352
362
|
runtime_envs=merged_envs,
|
|
353
363
|
runtime_bindings=getattr(strategy_config, "runtime_bindings", None) or {},
|
|
354
364
|
runtime_network=getattr(strategy_config, "runtime_network", None) or {},
|
|
365
|
+
runtime_gateway_mode=getattr(strategy_config, "runtime_gateway_mode", ""),
|
|
366
|
+
runtime_gateway_instance_id=getattr(
|
|
367
|
+
strategy_config, "runtime_gateway_instance_id", ""
|
|
368
|
+
),
|
|
355
369
|
runtime_auth_type=strategy_config.runtime_auth_type,
|
|
356
370
|
runtime_jwt_discovery_url=strategy_config.runtime_jwt_discovery_url,
|
|
357
371
|
runtime_jwt_allowed_clients=strategy_config.runtime_jwt_allowed_clients,
|
|
@@ -195,6 +195,16 @@ class HybridStrategy(Strategy):
|
|
|
195
195
|
config_updates.add(
|
|
196
196
|
"runtime_role_name", result.metadata["runtime_role_name"]
|
|
197
197
|
)
|
|
198
|
+
if result.metadata.get("runtime_gateway_mode"):
|
|
199
|
+
config_updates.add(
|
|
200
|
+
"runtime_gateway_mode",
|
|
201
|
+
result.metadata["runtime_gateway_mode"],
|
|
202
|
+
)
|
|
203
|
+
if result.metadata.get("runtime_gateway_instance_id"):
|
|
204
|
+
config_updates.add(
|
|
205
|
+
"runtime_gateway_instance_id",
|
|
206
|
+
result.metadata["runtime_gateway_instance_id"],
|
|
207
|
+
)
|
|
198
208
|
|
|
199
209
|
result.config_updates = config_updates if config_updates.has_updates() else None
|
|
200
210
|
return result
|
|
@@ -518,6 +528,10 @@ class HybridStrategy(Strategy):
|
|
|
518
528
|
runtime_envs=merged_envs,
|
|
519
529
|
runtime_bindings=getattr(strategy_config, "runtime_bindings", None) or {},
|
|
520
530
|
runtime_network=getattr(strategy_config, "runtime_network", None) or {},
|
|
531
|
+
runtime_gateway_mode=getattr(strategy_config, "runtime_gateway_mode", ""),
|
|
532
|
+
runtime_gateway_instance_id=getattr(
|
|
533
|
+
strategy_config, "runtime_gateway_instance_id", ""
|
|
534
|
+
),
|
|
521
535
|
runtime_auth_type=strategy_config.runtime_auth_type,
|
|
522
536
|
runtime_jwt_discovery_url=strategy_config.runtime_jwt_discovery_url,
|
|
523
537
|
runtime_jwt_allowed_clients=strategy_config.runtime_jwt_allowed_clients,
|
agentkit/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentkit-sdk-python
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.7
|
|
4
4
|
Summary: Python SDK for transforming any AI agent into a production-ready application. Framework-agnostic primitives for runtime, memory, authentication, and tools with volcengine-managed infrastructure.
|
|
5
5
|
Author-email: Xiangrui Cheng <innsdcc@gmail.com>, Yumeng Bao <baoyumeng.123@gmail.com>, Yaozheng Fang <fangyozheng@gmail.com>, Guodong Li <cu.eric.lee@gmail.com>
|
|
6
6
|
License: Apache License
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
agentkit/__init__.py,sha256=l27ZMDslc3VhmmnPZJyrqVvTDoZ0LqhCtM5hw0caHcU,1021
|
|
2
2
|
agentkit/errors.py,sha256=UWlXv0ZsXd_oLTMlxuf4u9-XkTdRYeVZueE--Z3JsHU,1214
|
|
3
|
-
agentkit/version.py,sha256=
|
|
3
|
+
agentkit/version.py,sha256=6hPmlZzq621W7nRwJLMXCadbdmhZZ3jfsLwIHwgqPEk,653
|
|
4
4
|
agentkit/apps/__init__.py,sha256=_Na1A4NSaMbVfPbsFKj2U-yI5mytD7W5skMaAOGbauY,2328
|
|
5
5
|
agentkit/apps/base_app.py,sha256=3hZZExL1wyTGWveJEZZoqXN086MzmkVS_WU1vyulIWg,754
|
|
6
6
|
agentkit/apps/utils.py,sha256=IzimIDmT6FS6PV9MLimPh46mq5zT-EjVmnYPxBdyEq0,1934
|
|
@@ -30,7 +30,7 @@ agentkit/auth/__init__.py,sha256=eIW6ziL3rtBYEupfmqq8MshZ40wL3muYjCQRikFG_j0,364
|
|
|
30
30
|
agentkit/auth/_openapi.py,sha256=bToFSAqSCO_nvfvK0FegkJJtP50eZQhe5ZAtHBGla3E,10088
|
|
31
31
|
agentkit/auth/_redact.py,sha256=Ef3yLlWj6jw0G6gZKy3cY64X6sm0jhzor8qx8b0Dp4A,911
|
|
32
32
|
agentkit/auth/_sigv4.py,sha256=yAbFD57g3cBvCkGTVJap0BCakQeukyR_FlzMDYZdTkw,3375
|
|
33
|
-
agentkit/auth/admin.py,sha256=
|
|
33
|
+
agentkit/auth/admin.py,sha256=v1Wsnc2_V4p1WYj8hCYX_99NRROdyQ2pb7_UxrAxujE,28796
|
|
34
34
|
agentkit/auth/credential_hosting.py,sha256=lFFYseYHkqCUsv1djtK3EFR1XvESmw6l1Zgu1CcwIa8,24280
|
|
35
35
|
agentkit/auth/errors.py,sha256=eNNdzXP35QAlYy-jM5I9CQZCSS9rW0cp5_1F0I75JcU,1448
|
|
36
36
|
agentkit/auth/model_login.py,sha256=_30pbZgs22o4UtGF03dMgFRN9yE4OSyLqXJm9JhEe7E,13775
|
|
@@ -95,13 +95,14 @@ agentkit/sdk/model_gateway/client.py,sha256=5fhWACbwFe_sYy-jH53pdlzTl1qNIck9_XBH
|
|
|
95
95
|
agentkit/sdk/model_gateway/types.py,sha256=Z6IHikbmlvNsVJhUDC93W4VpIuHfVuQtwT-VXwi3NyY,15677
|
|
96
96
|
agentkit/sdk/runtime/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
|
|
97
97
|
agentkit/sdk/runtime/client.py,sha256=Puni7oruHTeQmCeEURfA3yC2HpXj8y5ThHA_wXgRr2I,5908
|
|
98
|
-
agentkit/sdk/runtime/
|
|
98
|
+
agentkit/sdk/runtime/gateway.py,sha256=wMURKvqkVrCQZ9qfE3PHn6JME6KczqjHt-N-t84el5U,3054
|
|
99
|
+
agentkit/sdk/runtime/types.py,sha256=9Zlnsk1IMQ-Xwq3f-Ck4O5AEK_XUS43BcIj85LKGY1k,28762
|
|
99
100
|
agentkit/sdk/skills/__init__.py,sha256=pkSabKw7_ai4NOo56pXKL40EcaxIDh6HYxPXOY7qWbo,634
|
|
100
101
|
agentkit/sdk/skills/client.py,sha256=aZLskCgixIBq9PIkMErWLzbySSYioTZrNwHYwksQPcQ,8983
|
|
101
102
|
agentkit/sdk/skills/types.py,sha256=3ihqQPVJA84TNlUDIuSi_IA-Z8gZh3qHRmIVpu3ytIw,14909
|
|
102
103
|
agentkit/sdk/tools/__init__.py,sha256=YeCcKcedAqPxmS3LzkqPJOWoz9AVLoqE173cK8gtkHk,636
|
|
103
|
-
agentkit/sdk/tools/client.py,sha256=
|
|
104
|
-
agentkit/sdk/tools/types.py,sha256=
|
|
104
|
+
agentkit/sdk/tools/client.py,sha256=yrE_SIrHThiIfcM1YHQVWVoYRrKXD7h6d1SJy6yfr0g,7761
|
|
105
|
+
agentkit/sdk/tools/types.py,sha256=ngzMpotQCvZOl_eqyn1wJM4qinL33zBP06ErmecZ4AI,34367
|
|
105
106
|
agentkit/toolkit/__init__.py,sha256=VZkLRcjybKRHgWvGmLHAm0Gsb1FCUpKmKuJYfZmbfE0,1249
|
|
106
107
|
agentkit/toolkit/context.py,sha256=6CPDjmUwB830JB0OrKGFVNUjeiJ17GPDtbbQBtt6L1w,7554
|
|
107
108
|
agentkit/toolkit/errors.py,sha256=dUqxeYDSBx6npiw4f1T-M1eFsfbnrp0IA0oBszHT4P4,4913
|
|
@@ -118,7 +119,7 @@ agentkit/toolkit/cli/cli.py,sha256=cwtaKwo8XeJZ-cWyDJSNe8oS-LnBXEn2R-JWHH9moys,4
|
|
|
118
119
|
agentkit/toolkit/cli/cli_add.py,sha256=aLyvN9Vcjis_KLhy92uuPi7e8ltFdHjwFOb-nME7CV0,39730
|
|
119
120
|
agentkit/toolkit/cli/cli_auth.py,sha256=qfvzLwOV3bGnClX_-EP2CC1uDyEy8fezWoTaCe7Ourw,27271
|
|
120
121
|
agentkit/toolkit/cli/cli_build.py,sha256=gtRBPJfm6Z4y37ISC_CiGwEkMhD4fD7IQi1H6Lzc2Yo,2984
|
|
121
|
-
agentkit/toolkit/cli/cli_config.py,sha256=
|
|
122
|
+
agentkit/toolkit/cli/cli_config.py,sha256=3FF7wWGVzc4zV3yC3AFCjqxTPQmci0jIUC2FyJm5yjw,29925
|
|
122
123
|
agentkit/toolkit/cli/cli_delete.py,sha256=duoX7N1_uklleNMEcxz8t575FluzxLnGeokYUKyx58E,6228
|
|
123
124
|
agentkit/toolkit/cli/cli_deploy.py,sha256=B912gRSpgLFBCLF8w8lD1J_jP5-PvpT_Zjblx-0yees,7066
|
|
124
125
|
agentkit/toolkit/cli/cli_destroy.py,sha256=QpH7cctsaIFd2io6hhEeKnCjxK7DbE7AnFsecWL5BxY,1797
|
|
@@ -130,12 +131,12 @@ agentkit/toolkit/cli/cli_list.py,sha256=4_SENlUS1P1WRP75fga05JVRkIG4IKGftrFpoVAn
|
|
|
130
131
|
agentkit/toolkit/cli/cli_logs.py,sha256=hfyz89MpS7KCGd3ExUiDJoyveEwt_tOCKab_8P_I3Ck,9355
|
|
131
132
|
agentkit/toolkit/cli/cli_memory.py,sha256=mN1DwUeIjLD_xSRw6xFQoY8EVz0K8mMZf3PGydZkndE,38113
|
|
132
133
|
agentkit/toolkit/cli/cli_model_gateway.py,sha256=_kMcDo-Y55G2LZZx4rL4Ksp6DQkou8A42_MKbsG-LgI,41233
|
|
133
|
-
agentkit/toolkit/cli/cli_runtime.py,sha256=
|
|
134
|
+
agentkit/toolkit/cli/cli_runtime.py,sha256=3nd-OrMV7y9CuJraPHwUjKsYD_C6OF7peyekhr8Y-mg,36916
|
|
134
135
|
agentkit/toolkit/cli/cli_skill.py,sha256=nEZXc9CVGop4e0WC-V2AAHqy7to4nw6KnKOtzS2likQ,16170
|
|
135
136
|
agentkit/toolkit/cli/cli_skills.py,sha256=jBgpTb286MvXK4tr-asgmG9HAeVAIRr7k-VAcPYqqVI,41716
|
|
136
137
|
agentkit/toolkit/cli/cli_skills_workflow.py,sha256=kteHk-ajiXZM8W-EghVon7Zb5irT0hXh4pdldCnqQX8,28080
|
|
137
138
|
agentkit/toolkit/cli/cli_status.py,sha256=HP3TDCtqbD4NHPFAOq5LI8nuVLheCk-zo9hrm97K5lE,7645
|
|
138
|
-
agentkit/toolkit/cli/cli_tools.py,sha256=
|
|
139
|
+
agentkit/toolkit/cli/cli_tools.py,sha256=_4-WAXdWfBQumVMDjpbugpw5uTtP3LzGHehKzt3xiLQ,41539
|
|
139
140
|
agentkit/toolkit/cli/cli_version.py,sha256=vGZTplakjF4ZoHWGXsxWj3nC29sK4qJ5iHfYtuI0M2A,3080
|
|
140
141
|
agentkit/toolkit/cli/console_reporter.py,sha256=ta9GFUDkPEFfGeANDsza5bZdVXidqhHIfsu_gTyXzDw,6926
|
|
141
142
|
agentkit/toolkit/cli/interactive_config.py,sha256=y5g5aNMJuX2tHUuu2pvacOssx3O3oqs0u_g0ZinyP1c,46133
|
|
@@ -143,7 +144,7 @@ agentkit/toolkit/cli/tool_lookup.py,sha256=IfaTbRYWE5HuQIHbM7Eub0vYrSaQtH1gkeTWS
|
|
|
143
144
|
agentkit/toolkit/cli/utils.py,sha256=THEzN0Nln0sA3luIc9seP_oczBMDsHJAV6nlBhsWroI,8693
|
|
144
145
|
agentkit/toolkit/cli/sandbox/__init__.py,sha256=xgJq9x_8MJb9i73C_6L9tRwj-Z0QzqgsYWn8rV_12fs,1520
|
|
145
146
|
agentkit/toolkit/cli/sandbox/a2a_client.py,sha256=El2enMuiAdRSP7uCsKovTtkGrCis14nd5AqBdiFGCxk,12406
|
|
146
|
-
agentkit/toolkit/cli/sandbox/agentkit_client.py,sha256=
|
|
147
|
+
agentkit/toolkit/cli/sandbox/agentkit_client.py,sha256=L4XARSVGOwmHdg95rMSQWmEEK3M1mnjA6yL3pYHGNX4,9680
|
|
147
148
|
agentkit/toolkit/cli/sandbox/cli.py,sha256=un89osF6DWuy8yALdqsIGJcKZ7dBMja9Isj-9a6fxcs,2809
|
|
148
149
|
agentkit/toolkit/cli/sandbox/cli_build.py,sha256=43s9ohfj-bM48YNEJ4YKSZMofO63bCzb1hWCswxC2ck,2976
|
|
149
150
|
agentkit/toolkit/cli/sandbox/cli_config.py,sha256=lvAAW1AetRjufBH67YY4ExDPeyxZqY_UU225zz1ia10,4153
|
|
@@ -172,7 +173,7 @@ agentkit/toolkit/config/__init__.py,sha256=EtArtF-LsaQYjU9Wc-G_xelqHmlo2XrOWiVqK
|
|
|
172
173
|
agentkit/toolkit/config/choice_resolvers.py,sha256=9OxVevL9gLTNqVpMvsDP_rC8ZFF6SPbhLJXrqXdf9xM,5958
|
|
173
174
|
agentkit/toolkit/config/cloud_provider.py,sha256=fvG-TOfbDsPlda42h2JSZyfgxojAeTD12tYCsp0nww8,2747
|
|
174
175
|
agentkit/toolkit/config/config.py,sha256=SV8QRjyQA0qOddsnduLSaX8_gdLSs3hGqgPDm9EfbNw,19986
|
|
175
|
-
agentkit/toolkit/config/config_handler.py,sha256=
|
|
176
|
+
agentkit/toolkit/config/config_handler.py,sha256=MGws4Lj75lEOOplfKPnuFun8DwtU-q8CRLyXAei2xcQ,19471
|
|
176
177
|
agentkit/toolkit/config/config_validator.py,sha256=h39OI2Bwr330D2GpajE-0evcOGSFRf5EdkAz-EksyjQ,11654
|
|
177
178
|
agentkit/toolkit/config/constants.py,sha256=NbrAzwR_QnWmAIC38MZo3xmXZorB9_otx9UQkRo0zNg,1560
|
|
178
179
|
agentkit/toolkit/config/dataclass_utils.py,sha256=umNuemsVuohpC_GTBUzVesok5lvpdXjACrIZ-WObdbE,20337
|
|
@@ -180,7 +181,7 @@ agentkit/toolkit/config/docker_build_config.py,sha256=EY6ZVLNDZ4C0Qrk1IS5ojDGXZZ
|
|
|
180
181
|
agentkit/toolkit/config/global_config.py,sha256=o05R47ZP1awx6f0ffspgvv-RSu9o3S5oQCpYdf0SrPs,17701
|
|
181
182
|
agentkit/toolkit/config/region_defaults.py,sha256=L1DgDFRDbnuJFldCpAIYPi-YM1Ak43Q9WScCNBgDS1A,1653
|
|
182
183
|
agentkit/toolkit/config/region_resolver.py,sha256=4lUTMJIPO_dYAl4MS9PjwjAZAfNPqDTWnqmzkr6WAyk,3768
|
|
183
|
-
agentkit/toolkit/config/strategy_configs.py,sha256=
|
|
184
|
+
agentkit/toolkit/config/strategy_configs.py,sha256=qlUIYPEVfPUzTr2ctUwT0qciHRWUbjP-P16hXRqdtzE,23730
|
|
184
185
|
agentkit/toolkit/config/utils.py,sha256=R9pZhPSmqagkA9oNAxp5Rzw0Tw1j4hAGpcrq0Bz5TtM,6630
|
|
185
186
|
agentkit/toolkit/docker/__init__.py,sha256=cP-_z7XNrlvce4uSqPxIdv4aDwjXJm_bsYI56iluukc,1259
|
|
186
187
|
agentkit/toolkit/docker/base_images.py,sha256=ZvyRZEgjfKrzYZPWp5Mjs3yAhVfVVCUlLPyonAC3IGA,2362
|
|
@@ -237,7 +238,7 @@ agentkit/toolkit/resources/wrappers/wrapper_stream.py.jinja2,sha256=V5KeODA426nN
|
|
|
237
238
|
agentkit/toolkit/runners/__init__.py,sha256=c-PuCvGFpIQrYC_W9qp2ZztgTSH2AVgxSEgkXMqJKZM,1829
|
|
238
239
|
agentkit/toolkit/runners/base.py,sha256=GosKJUUVa1V85y9bhoT8SZthp5sV7KEfvn9gzL1MkoQ,29426
|
|
239
240
|
agentkit/toolkit/runners/local_docker.py,sha256=YQTFcxB_PxIx_7SXleODBBBRCY9GuAgpkYQLCm8M8KA,28825
|
|
240
|
-
agentkit/toolkit/runners/ve_agentkit.py,sha256=
|
|
241
|
+
agentkit/toolkit/runners/ve_agentkit.py,sha256=2KSCoRtoC_1PnSAlLkPI21I7DcHOAHYFhVJ_RGHA0gA,60243
|
|
241
242
|
agentkit/toolkit/sdk/__init__.py,sha256=SK_ElW74IiT2WRhDIJhL0xhpAk4C8xHI7ZUCnGgW2hs,2735
|
|
242
243
|
agentkit/toolkit/sdk/builder.py,sha256=tI-uawiJ_BYVH5FbDxVWJIXC-56rM4eUzX2o7M4pkMI,4225
|
|
243
244
|
agentkit/toolkit/sdk/client.py,sha256=EbGhgcWgc50Z39AeXnvtip2r5fH_qx9YhM2CXOwlR_8,18136
|
|
@@ -251,8 +252,8 @@ agentkit/toolkit/sdk/bindings/__init__.py,sha256=sZVayHUi0CA2dwn1_fovKdb8z_y3k1-
|
|
|
251
252
|
agentkit/toolkit/sdk/bindings/memory.py,sha256=85feCymQBkPA6djKOLiO4YhGxw1e89zENa89DWp_BTY,6068
|
|
252
253
|
agentkit/toolkit/strategies/__init__.py,sha256=vgtqGePsuki2nYwd3ox3xILSrdijQmTaBMogygJ6DMc,1243
|
|
253
254
|
agentkit/toolkit/strategies/base_strategy.py,sha256=l9att4i-YKJc4vUNlecKCu3ZQWQRgkdiJqovXiY8OWc,6753
|
|
254
|
-
agentkit/toolkit/strategies/cloud_strategy.py,sha256=
|
|
255
|
-
agentkit/toolkit/strategies/hybrid_strategy.py,sha256=
|
|
255
|
+
agentkit/toolkit/strategies/cloud_strategy.py,sha256=HhJwSpOZBMDVUWE3pVwYh6-Zth3JMWSsQh5dcGFKNU8,14520
|
|
256
|
+
agentkit/toolkit/strategies/hybrid_strategy.py,sha256=6IOWWUP_QHTZM6bLibvR0hZUE5g6NcQpAiXbshIkixE,20854
|
|
256
257
|
agentkit/toolkit/strategies/local_strategy.py,sha256=xK1kJwjY3QLpLBhlfAeYtSwjegfuzGWgi91yNavbqBQ,9950
|
|
257
258
|
agentkit/toolkit/utils/__init__.py,sha256=uSaoOXTyarlItNRdkmpXAoUEDZDwFBSB146W9hJ_2_4,739
|
|
258
259
|
agentkit/toolkit/utils/agent_parser.py,sha256=wfjM8udiYVHHz2rIktUZTueRJ-ScONzzCodk-JXJPIU,7625
|
|
@@ -285,9 +286,9 @@ agentkit_identity/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
|
285
286
|
agentkit_identity/runtime.py,sha256=hQHLvbAK760teFPTGZ0RG9Ed5DQAXAqIdaAm9ojzS34,14423
|
|
286
287
|
agentkit_identity/transport.py,sha256=kwGHSEQ5Qcn1kIu6N6DVid7MdDUMj5uaIRIUA_tJ3cM,7693
|
|
287
288
|
agentkit_identity/types.py,sha256=lT8KQz1pG0rgdy5Gh6WnM0mq9VqCsWSE41Z8Fw3DHZo,7358
|
|
288
|
-
agentkit_sdk_python-0.8.
|
|
289
|
-
agentkit_sdk_python-0.8.
|
|
290
|
-
agentkit_sdk_python-0.8.
|
|
291
|
-
agentkit_sdk_python-0.8.
|
|
292
|
-
agentkit_sdk_python-0.8.
|
|
293
|
-
agentkit_sdk_python-0.8.
|
|
289
|
+
agentkit_sdk_python-0.8.7.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
290
|
+
agentkit_sdk_python-0.8.7.dist-info/METADATA,sha256=Yt8ge4ik8oWKIOEEYwIoRANFOYtHKgbFqXCU_7u8KE0,21580
|
|
291
|
+
agentkit_sdk_python-0.8.7.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
292
|
+
agentkit_sdk_python-0.8.7.dist-info/entry_points.txt,sha256=fhzZUsvsLXeB4mPaa0SBQiTBqFT404uDAKPaePAOUAE,58
|
|
293
|
+
agentkit_sdk_python-0.8.7.dist-info/top_level.txt,sha256=Kw8DVx7vzg-oUh7xC_hBZw7OwKW3Y_fo_8rkWOL1d5o,27
|
|
294
|
+
agentkit_sdk_python-0.8.7.dist-info/RECORD,,
|
|
File without changes
|
{agentkit_sdk_python-0.8.6.dist-info → agentkit_sdk_python-0.8.7.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{agentkit_sdk_python-0.8.6.dist-info → agentkit_sdk_python-0.8.7.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|