Discovery and instantiation of sandbox providers.
Merges three provider sources into one registry:
deepagents-code
extras).deepagents_code.sandbox_providers group.[sandboxes.providers] in
~/.deepagents/config.toml (escape hatch for internal/local packages).Precedence on name collision: config > entry point > built-in, so a user can always override discovery via their config file.
Entry-point group third-party packages publish providers under.
Metadata for curated built-in providers, keyed by provider name.
Parsed [sandboxes] configuration from config.toml.
Instances are immutable once constructed; providers is wrapped in a
MappingProxyType to prevent accidental mutation.
How to install the package that provides a sandbox backend.
Built-in providers ship as deepagents-code extras (kind="extra");
third-party providers install as arbitrary packages (kind="package").
The distinction lets error messages emit the correct install command
(/install daytona vs. /install acme-dcode-sandbox --package).
Interface for creating and deleting sandbox backends.
Static description of a sandbox provider used by the registry.
Lets the CLI and registry describe built-in and config providers without
instantiating them (which may require credentials or optional
dependencies). Entry-point providers expose their own instance via the
SandboxProvider.metadata property, which the registry reads only when it
already needs to construct the provider.
Merged view of built-in, entry-point, and config sandbox providers.