e2b 2.2.2__tar.gz → 2.2.3__tar.gz
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.
- {e2b-2.2.2 → e2b-2.2.3}/PKG-INFO +1 -1
- {e2b-2.2.2 → e2b-2.2.3}/e2b/__init__.py +3 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/connection_config.py +1 -1
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox/main.py +13 -0
- e2b-2.2.3/e2b/sandbox/mcp.py +1263 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_async/main.py +51 -1
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_sync/main.py +52 -1
- {e2b-2.2.2 → e2b-2.2.3}/pyproject.toml +2 -1
- {e2b-2.2.2 → e2b-2.2.3}/LICENSE +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/README.md +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/__init__.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/__init__.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/__init__.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/__init__.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/delete_sandboxes_sandbox_id.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/get_sandboxes.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/get_sandboxes_metrics.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/get_sandboxes_sandbox_id.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/get_sandboxes_sandbox_id_logs.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/get_sandboxes_sandbox_id_metrics.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/get_v2_sandboxes.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/post_sandboxes.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/post_sandboxes_sandbox_id_pause.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/post_sandboxes_sandbox_id_refreshes.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/post_sandboxes_sandbox_id_resume.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/sandboxes/post_sandboxes_sandbox_id_timeout.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/__init__.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/delete_templates_template_id.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/get_templates.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/get_templates_template_id_builds_build_id_status.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/get_templates_template_id_files_hash.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/patch_templates_template_id.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/post_templates.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/post_templates_template_id.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/post_templates_template_id_builds_build_id.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/post_v2_templates.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/api/templates/post_v_2_templates_template_id_builds_build_id.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/client.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/errors.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/__init__.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/aws_registry.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/aws_registry_type.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/build_log_entry.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/build_status_reason.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/created_access_token.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/created_team_api_key.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/disk_metrics.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/error.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/gcp_registry.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/gcp_registry_type.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/general_registry.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/general_registry_type.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/identifier_masking_details.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/listed_sandbox.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/log_level.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/new_access_token.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/new_sandbox.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/new_team_api_key.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/node.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/node_detail.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/node_metrics.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/node_status.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/node_status_change.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/post_sandboxes_sandbox_id_refreshes_body.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/post_sandboxes_sandbox_id_timeout_body.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/resumed_sandbox.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/sandbox.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/sandbox_detail.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/sandbox_log.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/sandbox_log_entry.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/sandbox_log_entry_fields.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/sandbox_logs.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/sandbox_metric.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/sandbox_state.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/sandboxes_with_metrics.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/team.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/team_api_key.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/team_metric.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/team_user.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/template.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/template_build.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/template_build_file_upload.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/template_build_request.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/template_build_request_v2.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/template_build_start_v2.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/template_build_status.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/template_step.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/template_update_request.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/models/update_team_api_key.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/py.typed +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/client/types.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/api/metadata.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/envd/api.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/envd/filesystem/filesystem_connect.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/envd/filesystem/filesystem_pb2.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/envd/filesystem/filesystem_pb2.pyi +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/envd/process/process_connect.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/envd/process/process_pb2.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/envd/process/process_pb2.pyi +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/envd/rpc.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/envd/versions.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/exceptions.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox/commands/command_handle.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox/commands/main.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox/filesystem/filesystem.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox/filesystem/watch_handle.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox/sandbox_api.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox/signature.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox/utils.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_async/commands/command.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_async/commands/command_handle.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_async/commands/pty.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_async/filesystem/filesystem.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_async/filesystem/watch_handle.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_async/paginator.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_async/sandbox_api.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_async/utils.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_sync/commands/command.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_sync/commands/command_handle.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_sync/commands/pty.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_sync/filesystem/filesystem.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_sync/filesystem/watch_handle.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_sync/paginator.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/sandbox_sync/sandbox_api.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template/consts.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template/dockerfile_parser.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template/exceptions.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template/main.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template/readycmd.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template/types.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template/utils.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template_async/build_api.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template_async/main.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template_sync/build_api.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b/template_sync/main.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b_connect/__init__.py +0 -0
- {e2b-2.2.2 → e2b-2.2.3}/e2b_connect/client.py +0 -0
{e2b-2.2.2 → e2b-2.2.3}/PKG-INFO
RENAMED
|
@@ -57,6 +57,7 @@ from .sandbox.filesystem.watch_handle import (
|
|
|
57
57
|
FilesystemEventType,
|
|
58
58
|
)
|
|
59
59
|
from .sandbox.filesystem.filesystem import EntryInfo, WriteInfo, FileType
|
|
60
|
+
from .sandbox.mcp import McpServer
|
|
60
61
|
|
|
61
62
|
from .sandbox_sync.main import Sandbox
|
|
62
63
|
from .sandbox_sync.filesystem.watch_handle import WatchHandle
|
|
@@ -144,4 +145,6 @@ __all__ = [
|
|
|
144
145
|
"wait_for_port",
|
|
145
146
|
"wait_for_process",
|
|
146
147
|
"wait_for_timeout",
|
|
148
|
+
# MCP
|
|
149
|
+
"McpServer",
|
|
147
150
|
]
|
|
@@ -151,7 +151,7 @@ class ConnectionConfig:
|
|
|
151
151
|
@property
|
|
152
152
|
def sandbox_headers(self):
|
|
153
153
|
"""
|
|
154
|
-
|
|
154
|
+
We need this separate as we use the same header for E2B access token to API and envd access token to sandbox.
|
|
155
155
|
"""
|
|
156
156
|
return {
|
|
157
157
|
**self.headers,
|
|
@@ -25,9 +25,12 @@ class SandboxBase:
|
|
|
25
25
|
)
|
|
26
26
|
|
|
27
27
|
envd_port = 49983
|
|
28
|
+
mcp_port = 50005
|
|
28
29
|
|
|
29
30
|
default_sandbox_timeout = 300
|
|
31
|
+
|
|
30
32
|
default_template = "base"
|
|
33
|
+
default_mcp_template = "mcp-gateway-v0"
|
|
31
34
|
|
|
32
35
|
def __init__(
|
|
33
36
|
self,
|
|
@@ -168,3 +171,13 @@ class SandboxBase:
|
|
|
168
171
|
return f"localhost:{port}"
|
|
169
172
|
|
|
170
173
|
return f"{port}-{self.sandbox_id}.{self.sandbox_domain}"
|
|
174
|
+
|
|
175
|
+
def beta_get_mcp_url(self) -> str:
|
|
176
|
+
"""
|
|
177
|
+
[BETA] This feature is in beta and may change in the future.
|
|
178
|
+
|
|
179
|
+
Get the MCP URL for the sandbox.
|
|
180
|
+
|
|
181
|
+
:returns MCP URL for the sandbox.
|
|
182
|
+
"""
|
|
183
|
+
return f"https://{self.get_host(self.mcp_port)}/mcp"
|