alita-sdk 0.3.335__py3-none-any.whl → 0.3.337__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.
Potentially problematic release.
This version of alita-sdk might be problematic. Click here for more details.
- alita_sdk/runtime/langchain/assistant.py +16 -0
- alita_sdk/runtime/tools/__init__.py +14 -0
- alita_sdk/runtime/tools/sandbox.py +224 -0
- {alita_sdk-0.3.335.dist-info → alita_sdk-0.3.337.dist-info}/METADATA +9 -9
- {alita_sdk-0.3.335.dist-info → alita_sdk-0.3.337.dist-info}/RECORD +8 -7
- {alita_sdk-0.3.335.dist-info → alita_sdk-0.3.337.dist-info}/WHEEL +0 -0
- {alita_sdk-0.3.335.dist-info → alita_sdk-0.3.337.dist-info}/licenses/LICENSE +0 -0
- {alita_sdk-0.3.335.dist-info → alita_sdk-0.3.337.dist-info}/top_level.txt +0 -0
|
@@ -176,6 +176,22 @@ class Assistant:
|
|
|
176
176
|
# Exclude compiled graph runnables from simple tool agents
|
|
177
177
|
simple_tools = [t for t in self.tools if isinstance(t, (BaseTool, CompiledStateGraph))]
|
|
178
178
|
|
|
179
|
+
# Add sandbox tool by default for react agents
|
|
180
|
+
try:
|
|
181
|
+
from ..tools.sandbox import create_sandbox_tool
|
|
182
|
+
sandbox_tool = create_sandbox_tool(stateful=True, allow_net=True)
|
|
183
|
+
simple_tools.append(sandbox_tool)
|
|
184
|
+
logger.info("Added PyodideSandboxTool to react agent")
|
|
185
|
+
except ImportError as e:
|
|
186
|
+
logger.warning(f"Failed to add PyodideSandboxTool: {e}. Install langchain-sandbox to enable this feature.")
|
|
187
|
+
except RuntimeError as e:
|
|
188
|
+
if "Deno" in str(e):
|
|
189
|
+
logger.warning("Failed to add PyodideSandboxTool: Deno is required. Install from https://docs.deno.com/runtime/getting_started/installation/")
|
|
190
|
+
else:
|
|
191
|
+
logger.warning(f"Failed to add PyodideSandboxTool: {e}")
|
|
192
|
+
except Exception as e:
|
|
193
|
+
logger.error(f"Error adding PyodideSandboxTool: {e}")
|
|
194
|
+
|
|
179
195
|
# Set up memory/checkpointer if available
|
|
180
196
|
checkpointer = None
|
|
181
197
|
if self.memory is not None:
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Runtime tools module for Alita SDK.
|
|
3
|
+
This module provides various tools that can be used within LangGraph agents.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from .sandbox import PyodideSandboxTool, StatefulPyodideSandboxTool, create_sandbox_tool
|
|
7
|
+
from .echo import EchoTool
|
|
8
|
+
|
|
9
|
+
__all__ = [
|
|
10
|
+
"PyodideSandboxTool",
|
|
11
|
+
"StatefulPyodideSandboxTool",
|
|
12
|
+
"create_sandbox_tool",
|
|
13
|
+
"EchoTool"
|
|
14
|
+
]
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import asyncio
|
|
3
|
+
import subprocess
|
|
4
|
+
from typing import Any, Type, Optional, Union, Dict
|
|
5
|
+
from langchain_core.tools import BaseTool
|
|
6
|
+
from pydantic import BaseModel, Field, create_model
|
|
7
|
+
from pydantic.fields import FieldInfo
|
|
8
|
+
|
|
9
|
+
logger = logging.getLogger(__name__)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def _is_deno_available() -> bool:
|
|
13
|
+
"""Check if Deno is available in the PATH"""
|
|
14
|
+
try:
|
|
15
|
+
result = subprocess.run(
|
|
16
|
+
["deno", "--version"],
|
|
17
|
+
capture_output=True,
|
|
18
|
+
text=True,
|
|
19
|
+
timeout=10
|
|
20
|
+
)
|
|
21
|
+
return result.returncode == 0
|
|
22
|
+
except (subprocess.TimeoutExpired, subprocess.CalledProcessError, FileNotFoundError):
|
|
23
|
+
return False
|
|
24
|
+
|
|
25
|
+
# Create input schema for the sandbox tool
|
|
26
|
+
sandbox_tool_input = create_model(
|
|
27
|
+
"SandboxToolInput",
|
|
28
|
+
code=(str, FieldInfo(description="Python code to execute in the sandbox environment"))
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class PyodideSandboxTool(BaseTool):
|
|
33
|
+
"""
|
|
34
|
+
A tool that provides secure Python code execution using Pyodide (Python compiled to WebAssembly).
|
|
35
|
+
This tool leverages langchain-sandbox to provide a safe environment for running untrusted Python code.
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
name: str = "pyodide_sandbox"
|
|
39
|
+
description: str = """Execute Python code in a secure sandbox environment using Pyodide.
|
|
40
|
+
This tool allows safe execution of Python code without access to the host system.
|
|
41
|
+
Use this tool when you need to:
|
|
42
|
+
- Execute Python code snippets
|
|
43
|
+
- Perform calculations or data analysis
|
|
44
|
+
- Test Python algorithms
|
|
45
|
+
- Run code that requires isolation from the host system
|
|
46
|
+
|
|
47
|
+
The sandbox supports most Python standard library modules and can install additional packages.
|
|
48
|
+
Note: File access and some system operations are restricted for security.
|
|
49
|
+
"""
|
|
50
|
+
args_schema: Type[BaseModel] = sandbox_tool_input
|
|
51
|
+
stateful: bool = True
|
|
52
|
+
allow_net: bool = True
|
|
53
|
+
session_bytes: Optional[bytes] = None
|
|
54
|
+
session_metadata: Optional[Dict] = None
|
|
55
|
+
|
|
56
|
+
def __init__(self, **kwargs: Any) -> None:
|
|
57
|
+
super().__init__(**kwargs)
|
|
58
|
+
self._sandbox = None
|
|
59
|
+
self._initialize_sandbox()
|
|
60
|
+
|
|
61
|
+
def _initialize_sandbox(self) -> None:
|
|
62
|
+
"""Initialize the PyodideSandbox instance"""
|
|
63
|
+
try:
|
|
64
|
+
# Check if Deno is available
|
|
65
|
+
if not _is_deno_available():
|
|
66
|
+
error_msg = (
|
|
67
|
+
"Deno is required for PyodideSandbox but is not installed. "
|
|
68
|
+
"Please install Deno manually or ensure it's available in PATH."
|
|
69
|
+
)
|
|
70
|
+
logger.error(error_msg)
|
|
71
|
+
raise RuntimeError(error_msg)
|
|
72
|
+
|
|
73
|
+
from langchain_sandbox import PyodideSandbox
|
|
74
|
+
self._sandbox = PyodideSandbox(
|
|
75
|
+
stateful=self.stateful,
|
|
76
|
+
allow_net=self.allow_net
|
|
77
|
+
)
|
|
78
|
+
logger.info("PyodideSandbox initialized successfully")
|
|
79
|
+
except ImportError as e:
|
|
80
|
+
if "langchain_sandbox" in str(e):
|
|
81
|
+
error_msg = (
|
|
82
|
+
"langchain-sandbox is required for the PyodideSandboxTool. "
|
|
83
|
+
"Please install it with: pip install langchain-sandbox"
|
|
84
|
+
)
|
|
85
|
+
logger.error(error_msg)
|
|
86
|
+
raise ImportError(error_msg) from e
|
|
87
|
+
else:
|
|
88
|
+
logger.error(f"Failed to import required module: {e}")
|
|
89
|
+
raise
|
|
90
|
+
except Exception as e:
|
|
91
|
+
logger.error(f"Failed to initialize PyodideSandbox: {e}")
|
|
92
|
+
raise
|
|
93
|
+
|
|
94
|
+
def _run(self, code: str) -> str:
|
|
95
|
+
"""
|
|
96
|
+
Synchronous version - runs the async method in a new event loop
|
|
97
|
+
"""
|
|
98
|
+
try:
|
|
99
|
+
# Check if sandbox is initialized, if not try to initialize
|
|
100
|
+
if self._sandbox is None:
|
|
101
|
+
self._initialize_sandbox()
|
|
102
|
+
|
|
103
|
+
# Check if we're already in an async context
|
|
104
|
+
try:
|
|
105
|
+
loop = asyncio.get_running_loop()
|
|
106
|
+
# We're in an async context, but _run is supposed to be sync
|
|
107
|
+
# We'll need to use a different approach
|
|
108
|
+
import concurrent.futures
|
|
109
|
+
with concurrent.futures.ThreadPoolExecutor() as executor:
|
|
110
|
+
future = executor.submit(asyncio.run, self._arun(code))
|
|
111
|
+
return future.result()
|
|
112
|
+
except RuntimeError:
|
|
113
|
+
# No running loop, safe to use asyncio.run
|
|
114
|
+
return asyncio.run(self._arun(code))
|
|
115
|
+
except (ImportError, RuntimeError) as e:
|
|
116
|
+
# Handle specific dependency errors gracefully
|
|
117
|
+
error_msg = str(e)
|
|
118
|
+
if "langchain-sandbox" in error_msg:
|
|
119
|
+
return "❌ PyodideSandboxTool requires langchain-sandbox. Install with: pip install langchain-sandbox"
|
|
120
|
+
elif "Deno" in error_msg:
|
|
121
|
+
return "❌ PyodideSandboxTool requires Deno. Install from: https://docs.deno.com/runtime/getting_started/installation/"
|
|
122
|
+
else:
|
|
123
|
+
return f"❌ PyodideSandboxTool initialization failed: {error_msg}"
|
|
124
|
+
except Exception as e:
|
|
125
|
+
logger.error(f"Error executing code in sandbox: {e}")
|
|
126
|
+
return f"Error executing code: {str(e)}"
|
|
127
|
+
|
|
128
|
+
async def _arun(self, code: str) -> str:
|
|
129
|
+
"""
|
|
130
|
+
Execute Python code in the Pyodide sandbox
|
|
131
|
+
"""
|
|
132
|
+
try:
|
|
133
|
+
if self._sandbox is None:
|
|
134
|
+
self._initialize_sandbox()
|
|
135
|
+
|
|
136
|
+
# Execute the code with session state if available
|
|
137
|
+
result = await self._sandbox.execute(
|
|
138
|
+
code,
|
|
139
|
+
session_bytes=self.session_bytes,
|
|
140
|
+
session_metadata=self.session_metadata
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
# Update session state for stateful execution
|
|
144
|
+
if self.stateful:
|
|
145
|
+
self.session_bytes = result.session_bytes
|
|
146
|
+
self.session_metadata = result.session_metadata
|
|
147
|
+
|
|
148
|
+
# Format the output
|
|
149
|
+
output_parts = []
|
|
150
|
+
|
|
151
|
+
if result.result is not None:
|
|
152
|
+
output_parts.append(f"Result: {result.result}")
|
|
153
|
+
|
|
154
|
+
if result.stdout:
|
|
155
|
+
output_parts.append(f"Output: {result.stdout}")
|
|
156
|
+
|
|
157
|
+
if result.stderr:
|
|
158
|
+
output_parts.append(f"Error: {result.stderr}")
|
|
159
|
+
|
|
160
|
+
if result.status == 'error':
|
|
161
|
+
output_parts.append(f"Execution failed with status: {result.status}")
|
|
162
|
+
|
|
163
|
+
execution_info = f"Execution time: {result.execution_time:.2f}s"
|
|
164
|
+
if result.session_metadata and 'packages' in result.session_metadata:
|
|
165
|
+
packages = result.session_metadata.get('packages', [])
|
|
166
|
+
if packages:
|
|
167
|
+
execution_info += f", Packages: {', '.join(packages)}"
|
|
168
|
+
|
|
169
|
+
output_parts.append(execution_info)
|
|
170
|
+
|
|
171
|
+
return "\n".join(output_parts) if output_parts else "Code executed successfully (no output)"
|
|
172
|
+
|
|
173
|
+
except Exception as e:
|
|
174
|
+
logger.error(f"Error executing code in sandbox: {e}")
|
|
175
|
+
return f"Error executing code: {str(e)}"
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
class StatefulPyodideSandboxTool(PyodideSandboxTool):
|
|
179
|
+
"""
|
|
180
|
+
A stateful version of the PyodideSandboxTool that maintains state between executions.
|
|
181
|
+
This version preserves variables, imports, and function definitions across multiple tool calls.
|
|
182
|
+
"""
|
|
183
|
+
|
|
184
|
+
name: str = "stateful_pyodide_sandbox"
|
|
185
|
+
description: str = """Execute Python code in a stateful sandbox environment using Pyodide.
|
|
186
|
+
This tool maintains state between executions, preserving variables, imports, and function definitions.
|
|
187
|
+
Use this tool when you need to:
|
|
188
|
+
- Build upon previous code executions
|
|
189
|
+
- Maintain variables across multiple calls
|
|
190
|
+
- Develop complex programs step by step
|
|
191
|
+
- Preserve imported libraries and defined functions
|
|
192
|
+
|
|
193
|
+
The sandbox supports most Python standard library modules and can install additional packages.
|
|
194
|
+
Note: File access and some system operations are restricted for security.
|
|
195
|
+
"""
|
|
196
|
+
|
|
197
|
+
def __init__(self, **kwargs: Any) -> None:
|
|
198
|
+
kwargs['stateful'] = True # Force stateful mode
|
|
199
|
+
super().__init__(**kwargs)
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
# Factory function for creating sandbox tools
|
|
203
|
+
def create_sandbox_tool(stateful: bool = False, allow_net: bool = True) -> BaseTool:
|
|
204
|
+
"""
|
|
205
|
+
Factory function to create sandbox tools with specified configuration.
|
|
206
|
+
|
|
207
|
+
Note: This tool requires Deno to be installed and available in PATH.
|
|
208
|
+
For installation, use the bootstrap.sh script or install manually.
|
|
209
|
+
|
|
210
|
+
Args:
|
|
211
|
+
stateful: Whether to maintain state between executions
|
|
212
|
+
allow_net: Whether to allow network access (for package installation)
|
|
213
|
+
|
|
214
|
+
Returns:
|
|
215
|
+
Configured sandbox tool instance
|
|
216
|
+
|
|
217
|
+
Raises:
|
|
218
|
+
ImportError: If langchain-sandbox is not installed
|
|
219
|
+
RuntimeError: If Deno is not found in PATH
|
|
220
|
+
"""
|
|
221
|
+
if stateful:
|
|
222
|
+
return StatefulPyodideSandboxTool(allow_net=allow_net)
|
|
223
|
+
else:
|
|
224
|
+
return PyodideSandboxTool(stateful=False, allow_net=allow_net)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alita_sdk
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.337
|
|
4
4
|
Summary: SDK for building langchain agents using resources from Alita
|
|
5
5
|
Author-email: Artem Rozumenko <artyom.rozumenko@gmail.com>, Mikalai Biazruchka <mikalai_biazruchka@epam.com>, Roman Mitusov <roman_mitusov@epam.com>, Ivan Krakhmaliuk <lifedj27@gmail.com>, Artem Dubrovskiy <ad13box@gmail.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -25,15 +25,17 @@ Requires-Dist: httpcore==1.0.7
|
|
|
25
25
|
Requires-Dist: urllib3>=2
|
|
26
26
|
Requires-Dist: certifi==2024.8.30
|
|
27
27
|
Provides-Extra: runtime
|
|
28
|
-
Requires-Dist: langchain_core
|
|
29
|
-
Requires-Dist: langchain
|
|
30
|
-
Requires-Dist: langchain_community
|
|
31
|
-
Requires-Dist: langchain-openai
|
|
28
|
+
Requires-Dist: langchain_core<0.4.0,>=0.3.76; extra == "runtime"
|
|
29
|
+
Requires-Dist: langchain<0.4.0,>=0.3.22; extra == "runtime"
|
|
30
|
+
Requires-Dist: langchain_community<0.4.0,>=0.3.7; extra == "runtime"
|
|
31
|
+
Requires-Dist: langchain-openai<0.4.0,>=0.3.0; extra == "runtime"
|
|
32
|
+
Requires-Dist: langchain-anthropic<0.4.0,>=0.3.10; extra == "runtime"
|
|
33
|
+
Requires-Dist: anthropic>=0.57.0; extra == "runtime"
|
|
32
34
|
Requires-Dist: langgraph-checkpoint-sqlite~=2.0.0; extra == "runtime"
|
|
33
35
|
Requires-Dist: langgraph-checkpoint-postgres==2.0.21; extra == "runtime"
|
|
34
36
|
Requires-Dist: langsmith>=0.3.45; extra == "runtime"
|
|
35
37
|
Requires-Dist: langgraph<0.5,>=0.4.8; extra == "runtime"
|
|
36
|
-
Requires-Dist: langchain_chroma
|
|
38
|
+
Requires-Dist: langchain_chroma<0.3.0,>=0.2.2; extra == "runtime"
|
|
37
39
|
Requires-Dist: langchain-unstructured~=0.1.6; extra == "runtime"
|
|
38
40
|
Requires-Dist: langchain-postgres~=0.0.13; extra == "runtime"
|
|
39
41
|
Requires-Dist: keybert==0.8.3; extra == "runtime"
|
|
@@ -68,6 +70,7 @@ Requires-Dist: opentelemetry_instrumentation==0.46b0; extra == "runtime"
|
|
|
68
70
|
Requires-Dist: grpcio_status==1.63.0rc1; extra == "runtime"
|
|
69
71
|
Requires-Dist: protobuf==4.25.7; extra == "runtime"
|
|
70
72
|
Requires-Dist: sentence-transformers==2.7.0; extra == "runtime"
|
|
73
|
+
Requires-Dist: langchain-sandbox>=0.0.6; extra == "runtime"
|
|
71
74
|
Provides-Extra: tools
|
|
72
75
|
Requires-Dist: dulwich==0.21.6; extra == "tools"
|
|
73
76
|
Requires-Dist: paramiko==3.3.1; extra == "tools"
|
|
@@ -96,8 +99,6 @@ Requires-Dist: azure-search-documents==11.5.2; extra == "tools"
|
|
|
96
99
|
Requires-Dist: PyMySQL==1.1.1; extra == "tools"
|
|
97
100
|
Requires-Dist: psycopg2-binary==2.9.10; extra == "tools"
|
|
98
101
|
Requires-Dist: Office365-REST-Python-Client==2.5.14; extra == "tools"
|
|
99
|
-
Requires-Dist: python-docx==1.1.2; extra == "tools"
|
|
100
|
-
Requires-Dist: python-pptx==1.0.2; extra == "tools"
|
|
101
102
|
Requires-Dist: pypdf2~=3.0.1; extra == "tools"
|
|
102
103
|
Requires-Dist: FigmaPy==2018.1.0; extra == "tools"
|
|
103
104
|
Requires-Dist: pandas==2.2.3; extra == "tools"
|
|
@@ -114,7 +115,6 @@ Requires-Dist: playwright>=1.52.0; extra == "tools"
|
|
|
114
115
|
Requires-Dist: google-api-python-client==2.154.0; extra == "tools"
|
|
115
116
|
Requires-Dist: wikipedia==1.4.0; extra == "tools"
|
|
116
117
|
Requires-Dist: lxml==5.2.2; extra == "tools"
|
|
117
|
-
Requires-Dist: beautifulsoup4; extra == "tools"
|
|
118
118
|
Requires-Dist: pymupdf==1.24.9; extra == "tools"
|
|
119
119
|
Requires-Dist: googlemaps==4.10.0; extra == "tools"
|
|
120
120
|
Requires-Dist: yagmail==0.15.293; extra == "tools"
|
|
@@ -40,7 +40,7 @@ alita_sdk/runtime/clients/client.py,sha256=q9dRNrwDQJmb3dlFa6iWp-rB-XsgNLJh7gtrF
|
|
|
40
40
|
alita_sdk/runtime/clients/datasource.py,sha256=HAZovoQN9jBg0_-lIlGBQzb4FJdczPhkHehAiVG3Wx0,1020
|
|
41
41
|
alita_sdk/runtime/clients/prompt.py,sha256=li1RG9eBwgNK_Qf0qUaZ8QNTmsncFrAL2pv3kbxZRZg,1447
|
|
42
42
|
alita_sdk/runtime/langchain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
-
alita_sdk/runtime/langchain/assistant.py,sha256=
|
|
43
|
+
alita_sdk/runtime/langchain/assistant.py,sha256=ljmDSxgpbextmmK6PuA77eunFPqz5-OSrcsnKwbTu2c,14622
|
|
44
44
|
alita_sdk/runtime/langchain/chat_message_template.py,sha256=kPz8W2BG6IMyITFDA5oeb5BxVRkHEVZhuiGl4MBZKdc,2176
|
|
45
45
|
alita_sdk/runtime/langchain/constants.py,sha256=eHVJ_beJNTf1WJo4yq7KMK64fxsRvs3lKc34QCXSbpk,3319
|
|
46
46
|
alita_sdk/runtime/langchain/indexer.py,sha256=0ENHy5EOhThnAiYFc7QAsaTNp9rr8hDV_hTK8ahbatk,37592
|
|
@@ -103,7 +103,7 @@ alita_sdk/runtime/toolkits/prompt.py,sha256=WIpTkkVYWqIqOWR_LlSWz3ug8uO9tm5jJ7aZ
|
|
|
103
103
|
alita_sdk/runtime/toolkits/subgraph.py,sha256=wwUK8JjPXkGzyVZ3tAukmvST6eGbqx_U11rpnmbrvtg,2105
|
|
104
104
|
alita_sdk/runtime/toolkits/tools.py,sha256=YkDvbN1TdWNO-wHbbJbNeonGCwCPlxsuegH33mCfE-I,8303
|
|
105
105
|
alita_sdk/runtime/toolkits/vectorstore.py,sha256=BGppQADa1ZiLO17fC0uCACTTEvPHlodEDYEzUcBRbAA,2901
|
|
106
|
-
alita_sdk/runtime/tools/__init__.py,sha256=
|
|
106
|
+
alita_sdk/runtime/tools/__init__.py,sha256=7OA8YPKlEOfXu3-gJA08cyR-VymjSPL-OmbXI-B2xVA,355
|
|
107
107
|
alita_sdk/runtime/tools/agent.py,sha256=m98QxOHwnCRTT9j18Olbb5UPS8-ZGeQaGiUyZJSyFck,3162
|
|
108
108
|
alita_sdk/runtime/tools/application.py,sha256=j6H2OFteb7h2Yhxk1ipA-i5g3BvfmTfPuMxbfLPEa0E,2891
|
|
109
109
|
alita_sdk/runtime/tools/artifact.py,sha256=yIn-kfI9OWoaxbBeqdqF0M1HPeMtNnvZ_pCPoUIwnCk,8708
|
|
@@ -119,6 +119,7 @@ alita_sdk/runtime/tools/mcp_server_tool.py,sha256=MhLxZJ44LYrB_0GrojmkyqKoDRaqIH
|
|
|
119
119
|
alita_sdk/runtime/tools/pgvector_search.py,sha256=NN2BGAnq4SsDHIhUcFZ8d_dbEOM8QwB0UwpsWCYruXU,11692
|
|
120
120
|
alita_sdk/runtime/tools/prompt.py,sha256=nJafb_e5aOM1Rr3qGFCR-SKziU9uCsiP2okIMs9PppM,741
|
|
121
121
|
alita_sdk/runtime/tools/router.py,sha256=wCvZjVkdXK9dMMeEerrgKf5M790RudH68pDortnHSz0,1517
|
|
122
|
+
alita_sdk/runtime/tools/sandbox.py,sha256=_v8ACXV4POFRIuM7iU1NTm3-OL5pBmONl5z7bjDmBtw,9053
|
|
122
123
|
alita_sdk/runtime/tools/tool.py,sha256=lE1hGi6qOAXG7qxtqxarD_XMQqTghdywf261DZawwno,5631
|
|
123
124
|
alita_sdk/runtime/tools/vectorstore.py,sha256=UFBAJ_N2F6uB0xxIy1VMx581tHco-xDl7v2Hl6u0Xzw,34468
|
|
124
125
|
alita_sdk/runtime/tools/vectorstore_base.py,sha256=qmidtzD2SFZdUDrmKNkUWnuBHqJDjPbQQJ_z1TqIl0g,27283
|
|
@@ -349,8 +350,8 @@ alita_sdk/tools/zephyr_scale/api_wrapper.py,sha256=kT0TbmMvuKhDUZc0i7KO18O38JM9S
|
|
|
349
350
|
alita_sdk/tools/zephyr_squad/__init__.py,sha256=0ne8XLJEQSLOWfzd2HdnqOYmQlUliKHbBED5kW_Vias,2895
|
|
350
351
|
alita_sdk/tools/zephyr_squad/api_wrapper.py,sha256=kmw_xol8YIYFplBLWTqP_VKPRhL_1ItDD0_vXTe_UuI,14906
|
|
351
352
|
alita_sdk/tools/zephyr_squad/zephyr_squad_cloud_client.py,sha256=R371waHsms4sllHCbijKYs90C-9Yu0sSR3N4SUfQOgU,5066
|
|
352
|
-
alita_sdk-0.3.
|
|
353
|
-
alita_sdk-0.3.
|
|
354
|
-
alita_sdk-0.3.
|
|
355
|
-
alita_sdk-0.3.
|
|
356
|
-
alita_sdk-0.3.
|
|
353
|
+
alita_sdk-0.3.337.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
354
|
+
alita_sdk-0.3.337.dist-info/METADATA,sha256=BWEeyZsFO8oG3JOc7z8vy-nS-xJZxruNuEE1zm29HQc,18901
|
|
355
|
+
alita_sdk-0.3.337.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
356
|
+
alita_sdk-0.3.337.dist-info/top_level.txt,sha256=0vJYy5p_jK6AwVb1aqXr7Kgqgk3WDtQ6t5C-XI9zkmg,10
|
|
357
|
+
alita_sdk-0.3.337.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|