Skip to content

feat: add Superserve sandbox backend#1

Draft
meAmitPatil wants to merge 5 commits into
mainfrom
superserve-extension
Draft

feat: add Superserve sandbox backend#1
meAmitPatil wants to merge 5 commits into
mainfrom
superserve-extension

Conversation

@meAmitPatil

Copy link
Copy Markdown
Collaborator

Adds a Superserve-backed (https://superserve.ai) sandbox client and session under agents.extensions.sandbox.superserve, alongside the existing E2B / Modal / Daytona / Vercel / Cloudflare / Blaxel / Runloop backends.

The client wraps superserve.AsyncSandbox and implements the full BaseSandboxClient / BaseSandboxSession contract: manifest materialization via Files.write, exec via Commands.run (sync and streaming), pause-on-exit shutdown, resume by sandbox id, and a tar-over-exec workspace round-trip for persist_workspace / hydrate_workspace. Adds the superserve extra in pyproject.toml, conditional re-exports under agents.extensions.sandbox, 21 unit tests, an example runner with a pause/resume snapshot pre-flight, and a README section under examples/sandbox/extensions/.

PTY, cloud bucket mounts, and exposed ports are not surfaced in this PR — supports_pty() returns False, no mount strategy is exported, and _resolve_exposed_port raises ExposedPortUnavailableError. They will follow once the underlying backend exposes them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant