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.
Files changed (27) hide show
  1. agentkit/frameworks/langgraph.py +5 -2
  2. agentkit/sdk/tools/client.py +64 -2
  3. agentkit/sdk/tools/types.py +265 -47
  4. agentkit/toolkit/builders/__init__.py +10 -0
  5. agentkit/toolkit/builders/ve_sandbox_pipeline.py +623 -0
  6. agentkit/toolkit/cli/sandbox/__init__.py +4 -0
  7. agentkit/toolkit/cli/sandbox/cli.py +4 -0
  8. agentkit/toolkit/cli/sandbox/cli_build.py +88 -0
  9. agentkit/toolkit/cli/sandbox/cli_create.py +71 -7
  10. agentkit/toolkit/cli/sandbox/cli_exec.py +130 -6
  11. agentkit/toolkit/cli/sandbox/cli_init_dockerfile.py +125 -0
  12. agentkit/toolkit/cli/sandbox/env_config.py +2 -0
  13. agentkit/toolkit/cli/sandbox/model_config.py +164 -0
  14. agentkit/toolkit/cli/sandbox/sandbox_client.py +37 -0
  15. agentkit/toolkit/cli/sandbox/session_create.py +146 -20
  16. agentkit/toolkit/cli/sandbox/tool_resolve.py +26 -0
  17. agentkit/toolkit/resources/templates/code-pipeline-sandbox-tos-cr-step.j2 +55 -0
  18. agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-package +14 -0
  19. agentkit/toolkit/resources/templates/sandbox/Dockerfile.install-skills +18 -0
  20. agentkit/toolkit/resources/templates/sandbox/Dockerfile.web-server +44 -0
  21. agentkit/version.py +1 -1
  22. {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/METADATA +1 -1
  23. {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/RECORD +27 -20
  24. {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/WHEEL +0 -0
  25. {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/entry_points.txt +0 -0
  26. {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/licenses/LICENSE +0 -0
  27. {agentkit_sdk_python-0.7.6.dist-info → agentkit_sdk_python-0.7.8.dist-info}/top_level.txt +0 -0
@@ -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 ("answer", "output", "text", "content", "messages"):
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 ("answer", "output", "text", "content", "messages"):
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
@@ -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(self, request: GetSessionLogsRequest) -> GetSessionLogsResponse:
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",