agentkit-sdk-python 0.7.6__py3-none-any.whl → 0.7.8__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/frameworks/langgraph.py +5 -2
- agentkit/sdk/tools/client.py +64 -2
- agentkit/sdk/tools/types.py +265 -47
- agentkit/toolkit/builders/__init__.py +10 -0
- agentkit/toolkit/builders/ve_sandbox_pipeline.py +623 -0
- agentkit/toolkit/cli/sandbox/__init__.py +4 -0
- agentkit/toolkit/cli/sandbox/cli.py +4 -0
- agentkit/toolkit/cli/sandbox/cli_build.py +88 -0
- agentkit/toolkit/cli/sandbox/cli_create.py +71 -7
- agentkit/toolkit/cli/sandbox/cli_exec.py +130 -6
- agentkit/toolkit/cli/sandbox/cli_init_dockerfile.py +125 -0
- agentkit/toolkit/cli/sandbox/env_config.py +2 -0
- agentkit/toolkit/cli/sandbox/model_config.py +164 -0
- agentkit/toolkit/cli/sandbox/sandbox_client.py +37 -0
- agentkit/toolkit/cli/sandbox/session_create.py +146 -20
- agentkit/toolkit/cli/sandbox/tool_resolve.py +26 -0
- agentkit/toolkit/resources/templates/code-pipeline-sandbox-tos-cr-step.j2 +55 -0
- agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-package +14 -0
- agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-skills +18 -0
- agentkit/toolkit/resources/templates/sandbox/Dockerfile.web-server +44 -0
- agentkit/version.py +1 -1
- {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/METADATA +1 -1
- {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/RECORD +27 -20
- {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/WHEEL +0 -0
- {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/entry_points.txt +0 -0
- {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/licenses/LICENSE +0 -0
- {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/top_level.txt +0 -0
agentkit/frameworks/langgraph.py
CHANGED
|
@@ -37,6 +37,7 @@ from agentkit.frameworks._common import (
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
LANGGRAPH_PENDING_INTERRUPT_STATE_KEY = "agentkit:langgraph:pending_interrupt"
|
|
40
|
+
_OUTPUT_FIELD_KEYS = ("answer", "output", "final", "response", "text", "messages")
|
|
40
41
|
|
|
41
42
|
|
|
42
43
|
def _method_kwargs(method: Any, kwargs: dict[str, Any]) -> dict[str, Any]:
|
|
@@ -96,7 +97,7 @@ def _update_output_text(data: Any) -> str:
|
|
|
96
97
|
if not isinstance(data, dict):
|
|
97
98
|
return chunk_to_text(data)
|
|
98
99
|
|
|
99
|
-
for key in
|
|
100
|
+
for key in _OUTPUT_FIELD_KEYS:
|
|
100
101
|
if key in data:
|
|
101
102
|
text = chunk_to_text(data[key])
|
|
102
103
|
if text:
|
|
@@ -106,7 +107,7 @@ def _update_output_text(data: Any) -> str:
|
|
|
106
107
|
for value in data.values():
|
|
107
108
|
if not isinstance(value, dict):
|
|
108
109
|
continue
|
|
109
|
-
for key in
|
|
110
|
+
for key in _OUTPUT_FIELD_KEYS:
|
|
110
111
|
if key in value:
|
|
111
112
|
text = chunk_to_text(value[key])
|
|
112
113
|
if text:
|
|
@@ -325,6 +326,8 @@ class LangGraphAgentkitBridge(BaseAgent):
|
|
|
325
326
|
elif isinstance(item, dict) and isinstance(item.get("type"), str):
|
|
326
327
|
mode = item["type"]
|
|
327
328
|
data = item.get("data")
|
|
329
|
+
elif isinstance(item, dict):
|
|
330
|
+
mode = "updates"
|
|
328
331
|
|
|
329
332
|
if mode == "messages":
|
|
330
333
|
message = data[0] if isinstance(data, tuple) and data else data
|
agentkit/sdk/tools/client.py
CHANGED
|
@@ -22,22 +22,32 @@ from agentkit.client import BaseAgentkitClient
|
|
|
22
22
|
from .types import (
|
|
23
23
|
CreateSessionRequest,
|
|
24
24
|
CreateSessionResponse,
|
|
25
|
+
CreateSessionSnapshotRequest,
|
|
26
|
+
CreateSessionSnapshotResponse,
|
|
25
27
|
CreateToolRequest,
|
|
26
28
|
CreateToolResponse,
|
|
27
29
|
DeleteSessionRequest,
|
|
28
30
|
DeleteSessionResponse,
|
|
31
|
+
DeleteSessionSnapshotRequest,
|
|
32
|
+
DeleteSessionSnapshotResponse,
|
|
29
33
|
DeleteToolRequest,
|
|
30
34
|
DeleteToolResponse,
|
|
31
35
|
GetSessionLogsRequest,
|
|
32
36
|
GetSessionLogsResponse,
|
|
33
37
|
GetSessionRequest,
|
|
34
38
|
GetSessionResponse,
|
|
39
|
+
GetSessionSnapshotRequest,
|
|
40
|
+
GetSessionSnapshotResponse,
|
|
35
41
|
GetToolRequest,
|
|
36
42
|
GetToolResponse,
|
|
43
|
+
ListSessionSnapshotsRequest,
|
|
44
|
+
ListSessionSnapshotsResponse,
|
|
37
45
|
ListSessionsRequest,
|
|
38
46
|
ListSessionsResponse,
|
|
39
47
|
ListToolsRequest,
|
|
40
48
|
ListToolsResponse,
|
|
49
|
+
ResumeSessionFromSnapshotRequest,
|
|
50
|
+
ResumeSessionFromSnapshotResponse,
|
|
41
51
|
SetSessionTtlRequest,
|
|
42
52
|
SetSessionTtlResponse,
|
|
43
53
|
UpdateToolRequest,
|
|
@@ -47,16 +57,22 @@ from .types import (
|
|
|
47
57
|
|
|
48
58
|
class AgentkitToolsClient(BaseAgentkitClient):
|
|
49
59
|
"""AgentKit Tools Management Service"""
|
|
60
|
+
|
|
50
61
|
API_ACTIONS: Dict[str, str] = {
|
|
51
62
|
"CreateSession": "CreateSession",
|
|
63
|
+
"CreateSessionSnapshot": "CreateSessionSnapshot",
|
|
52
64
|
"CreateTool": "CreateTool",
|
|
53
65
|
"DeleteSession": "DeleteSession",
|
|
66
|
+
"DeleteSessionSnapshot": "DeleteSessionSnapshot",
|
|
54
67
|
"DeleteTool": "DeleteTool",
|
|
55
68
|
"GetSession": "GetSession",
|
|
56
69
|
"GetSessionLogs": "GetSessionLogs",
|
|
70
|
+
"GetSessionSnapshot": "GetSessionSnapshot",
|
|
57
71
|
"GetTool": "GetTool",
|
|
72
|
+
"ListSessionSnapshots": "ListSessionSnapshots",
|
|
58
73
|
"ListSessions": "ListSessions",
|
|
59
74
|
"ListTools": "ListTools",
|
|
75
|
+
"ResumeSessionFromSnapshot": "ResumeSessionFromSnapshot",
|
|
60
76
|
"SetSessionTtl": "SetSessionTtl",
|
|
61
77
|
"UpdateTool": "UpdateTool",
|
|
62
78
|
}
|
|
@@ -76,7 +92,6 @@ class AgentkitToolsClient(BaseAgentkitClient):
|
|
|
76
92
|
service_name="tools",
|
|
77
93
|
)
|
|
78
94
|
|
|
79
|
-
|
|
80
95
|
def create_session(self, request: CreateSessionRequest) -> CreateSessionResponse:
|
|
81
96
|
return self._invoke_api(
|
|
82
97
|
api_action="CreateSession",
|
|
@@ -84,6 +99,15 @@ class AgentkitToolsClient(BaseAgentkitClient):
|
|
|
84
99
|
response_type=CreateSessionResponse,
|
|
85
100
|
)
|
|
86
101
|
|
|
102
|
+
def create_session_snapshot(
|
|
103
|
+
self, request: CreateSessionSnapshotRequest
|
|
104
|
+
) -> CreateSessionSnapshotResponse:
|
|
105
|
+
return self._invoke_api(
|
|
106
|
+
api_action="CreateSessionSnapshot",
|
|
107
|
+
request=request,
|
|
108
|
+
response_type=CreateSessionSnapshotResponse,
|
|
109
|
+
)
|
|
110
|
+
|
|
87
111
|
def create_tool(self, request: CreateToolRequest) -> CreateToolResponse:
|
|
88
112
|
return self._invoke_api(
|
|
89
113
|
api_action="CreateTool",
|
|
@@ -98,6 +122,15 @@ class AgentkitToolsClient(BaseAgentkitClient):
|
|
|
98
122
|
response_type=DeleteSessionResponse,
|
|
99
123
|
)
|
|
100
124
|
|
|
125
|
+
def delete_session_snapshot(
|
|
126
|
+
self, request: DeleteSessionSnapshotRequest
|
|
127
|
+
) -> DeleteSessionSnapshotResponse:
|
|
128
|
+
return self._invoke_api(
|
|
129
|
+
api_action="DeleteSessionSnapshot",
|
|
130
|
+
request=request,
|
|
131
|
+
response_type=DeleteSessionSnapshotResponse,
|
|
132
|
+
)
|
|
133
|
+
|
|
101
134
|
def delete_tool(self, request: DeleteToolRequest) -> DeleteToolResponse:
|
|
102
135
|
return self._invoke_api(
|
|
103
136
|
api_action="DeleteTool",
|
|
@@ -112,13 +145,24 @@ class AgentkitToolsClient(BaseAgentkitClient):
|
|
|
112
145
|
response_type=GetSessionResponse,
|
|
113
146
|
)
|
|
114
147
|
|
|
115
|
-
def get_session_logs(
|
|
148
|
+
def get_session_logs(
|
|
149
|
+
self, request: GetSessionLogsRequest
|
|
150
|
+
) -> GetSessionLogsResponse:
|
|
116
151
|
return self._invoke_api(
|
|
117
152
|
api_action="GetSessionLogs",
|
|
118
153
|
request=request,
|
|
119
154
|
response_type=GetSessionLogsResponse,
|
|
120
155
|
)
|
|
121
156
|
|
|
157
|
+
def get_session_snapshot(
|
|
158
|
+
self, request: GetSessionSnapshotRequest
|
|
159
|
+
) -> GetSessionSnapshotResponse:
|
|
160
|
+
return self._invoke_api(
|
|
161
|
+
api_action="GetSessionSnapshot",
|
|
162
|
+
request=request,
|
|
163
|
+
response_type=GetSessionSnapshotResponse,
|
|
164
|
+
)
|
|
165
|
+
|
|
122
166
|
def get_tool(self, request: GetToolRequest) -> GetToolResponse:
|
|
123
167
|
return self._invoke_api(
|
|
124
168
|
api_action="GetTool",
|
|
@@ -126,6 +170,15 @@ class AgentkitToolsClient(BaseAgentkitClient):
|
|
|
126
170
|
response_type=GetToolResponse,
|
|
127
171
|
)
|
|
128
172
|
|
|
173
|
+
def list_session_snapshots(
|
|
174
|
+
self, request: ListSessionSnapshotsRequest
|
|
175
|
+
) -> ListSessionSnapshotsResponse:
|
|
176
|
+
return self._invoke_api(
|
|
177
|
+
api_action="ListSessionSnapshots",
|
|
178
|
+
request=request,
|
|
179
|
+
response_type=ListSessionSnapshotsResponse,
|
|
180
|
+
)
|
|
181
|
+
|
|
129
182
|
def list_sessions(self, request: ListSessionsRequest) -> ListSessionsResponse:
|
|
130
183
|
return self._invoke_api(
|
|
131
184
|
api_action="ListSessions",
|
|
@@ -140,6 +193,15 @@ class AgentkitToolsClient(BaseAgentkitClient):
|
|
|
140
193
|
response_type=ListToolsResponse,
|
|
141
194
|
)
|
|
142
195
|
|
|
196
|
+
def resume_session_from_snapshot(
|
|
197
|
+
self, request: ResumeSessionFromSnapshotRequest
|
|
198
|
+
) -> ResumeSessionFromSnapshotResponse:
|
|
199
|
+
return self._invoke_api(
|
|
200
|
+
api_action="ResumeSessionFromSnapshot",
|
|
201
|
+
request=request,
|
|
202
|
+
response_type=ResumeSessionFromSnapshotResponse,
|
|
203
|
+
)
|
|
204
|
+
|
|
143
205
|
def set_session_ttl(self, request: SetSessionTtlRequest) -> SetSessionTtlResponse:
|
|
144
206
|
return self._invoke_api(
|
|
145
207
|
api_action="SetSessionTtl",
|