mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[GH-ISSUE #5] E2B API Compatibility Matrix for AgentENV #2
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @LSX-s-Software on GitHub (Jul 27, 2026).
Original GitHub issue: https://github.com/kvcache-ai/AgentENV/issues/5
Context
This issue tracks AgentENV’s compatibility with E2B’s OpenAPI surface and handler semantics. The comparison checks both API shape and runtime behavior.
Comparison baseline:
875faeecfb.github.com/e2b-dev/infra@9ddcf8a7ed.Notes:
Legend
Compatibility Matrix
GET /healthGET /teams,GET /teams/{teamID}/metrics,GET /teams/{teamID}/metrics/maxPOST /sandboxes,POST /v2/sandboxesautoPausetofalse, while AgentENV defaults totrue. Missing or incomplete E2B semantics includemcp,iam, E2B tag/namespace template resolution, auto pause memory andmaskRequestHost.GET /sandboxes,GET /v2/sandboxesGET /sandboxes/{sandboxID}clientIDis fixed to an empty string.DELETE /sandboxes/{sandboxID}, deprecatedPOST /sandboxes/{sandboxID}/resume400for invalid sandbox IDs, while AgentENV often maps to404.POST /sandboxes/{sandboxID}/pausememory:false).POST /sandboxes/{sandboxID}/forktimeoutis omitted, AgentENV inherits the source sandbox timeout, while E2B uses its default timeout of 15 seconds.POST /sandboxes/{sandboxID}/connect,POST /v2/sandboxes/{sandboxID}/connect,POST /sandboxes/{sandboxID}/timeout,POST /sandboxes/{sandboxID}/refreshesPOST /sandboxes/{sandboxID}/snapshots,GET /snapshotsnamefiltering by snapshot ID or exact alias work. Existing template reuse and real tag/namespace semantics are not supported.GET /v2/sandboxes/{sandboxID}/logs, deprecatedGET /sandboxes/{sandboxID}/logsGET /sandboxes/{sandboxID}/metrics,GET /sandboxes/metricsPUT /sandboxes/{sandboxID}/networkegressProxy,httpsPorts,maskRequestHost, and per-domain transformrulesare not supported.POST /v3/templatesteamID, namespace validation, tags, updating an existing template by alias, and preservingpublic; AgentENV currently support only one build for each template, usespublic=true, and does not support tags.GET /v2/templates, DeprecatedGET /templates,GET /templates/{templateID}public=true,spawnCount=0,buildCount=1,lastSpawnedAt=null.PATCH /v2/templates/{templateID}, deprecatedPATCH /templates/{templateID}DELETE /templates/{templateID}POST /v2/templates/{templateID}/builds/{buildID}config.toml.GET /templates/{templateID}/builds/{buildID}/status,GET /templates/{templateID}/builds/{buildID}/logsGET /templates/{templateID}/files/{hash}POST /templates/tags,DELETE /templates/tags,GET /templates/{templateID}/tagsGET /templates/aliases/{alias}GET /nodes,GET /nodes/{nodeID}statusChangedAt,maxSandboxes, andoutstandingWorkfields.POST /nodes/{nodeID}POST /admin/teams/{teamID}/sandboxes/kill,POST /admin/teams/{teamID}/builds/cancel,GET /admin/sandboxes/running-countsGET/POST /api-keys,PATCH/DELETE /api-keys/{apiKeyID},POST /admin/teams/{teamID}/api-keys,DELETE /admin/teams/{teamID}/api-keys/{apiKeyID}GET/POST /volumes,GET/POST/DELETE /volumes/{volumeID}GET/POST /secrets,GET/POST/DELETE /secrets/{secretID}GET /clusters/{clusterID}/rigs,PUT /clusters/{clusterID}/rigs/{rigID}/capacity,DELETE /clusters/{clusterID}/rigs/instances/{instanceID},GET /clusters/{clusterID}/rigs/{rigID}/instances,GET /clusters/{clusterID}/rigs/{rigID}/errorsGET /events/sandboxes,GET /events/sandboxes/{sandboxID}GET/POST /events/webhooks,GET/PATCH/DELETE /events/webhooks/{webhookID},GET /events/webhooks/{webhookID}/deliveries,GET /events/webhooks/{webhookID}/stats@murtuzamvista commented on GitHub (Oct 26, 2026):
Tested the E2B Python SDK against a local AgentENV (Ubuntu 24.04 arm64 VM on Apple M3 via Lima nested virt). Create, commands.run, files read/write/list, get_info, set_timeout, is_running and list all work. Data-plane calls only reached the local server after setting E2B_SANDBOX_URL=http://127.0.0.1:8000; with only E2B_API_URL set, the SDK built 49983-
<id>.e2b.app hosts. Is E2B_SANDBOX_URL the intended single-node setup?Gap I can reproduce: a malformed sandbox ID (e.g. not-a-valid-id) returns 404 sandbox
<id>not found on GET, pause, fork, connect and timeout. The matrix says E2B returns 400 for invalid IDs. I’d like to take this one. Proposal: if the path ID doesn’t parse as a UUID, return 400 with a clear message; if it parses but doesn’t exist, keep 404. Does that match what you’d want, or should “invalid” be defined differently?@LSX-s-Software commented on GitHub (Oct 27, 2026):
If
E2B_SANDBOX_URLis not set, the SDK generates hosts such as<sandbox-id>.e2b.app, so the traffic is sent directly to the official E2B API. Therefore, for local usage, please set bothE2B_API_URLandE2B_SANDBOX_URL.For domain-based sandbox access, you need to deploy and configure your own DNS service.
Please feel free to open a separate issue so we can track it independently.
@nerdbugg commented on GitHub (Oct 27, 2026):
Hi, are there any plans for AgentENV to support E2B’s filesystem-only snapshots?
AgentENV’s current memory snapshot strategy consumes a significant amount of storage, making snapshots resource-intensive for long-running tasks. (https://github.com/kvcache-ai/AgentENV/issues/120, https://github.com/kvcache-ai/AgentENV/issues/439) For use cases that don’t require preserving memory state, it would be helpful to support filesystem-only snapshots.
@yingdi-shan commented on GitHub (Oct 28, 2026):
Yeah, this is on the plan, and we've implemented it internally. We need some more tests before merging the feature.