tai42-sandbox-local
A direct/host sandbox provider for the TAI ecosystem. It implements the
tai42_contract.sandbox.Sandbox surface over plain host subprocesses and the host
filesystem: it runs a session's code directly on the host, with no container
and no isolation. Exactly one sandbox provider is active per deployment, and the
operator picks direct/host execution by installing this provider instead of a
container provider — the consumers are provider-agnostic and acquire whichever is
installed.
The TAI ecosystem
TAI is an open-source runtime for MCP tools, agents, and workflows. A Sandbox is
"where a session's code runs" — a pluggable provider the runtime acquires through
one seam. This package is one such provider (direct/host execution); any package
can back the same contract, so this repo is this provider's own full doc home, and
the documentation site covers the platform-level story:
- Sandbox concept: https://tai42.ai/concepts/sandboxes
- Deployment / operate: https://tai42.ai/operate
Its only tai-* dependencies are tai42-contract (the Sandbox ABC, the session /
stream models, SandboxPolicy, the error family, PluginItemKind.SANDBOX, and the
tai42_app.sandboxes facet) and tai42-kit (ManagedSandbox /
ManagedSandboxSession — the shared ledger, TTL/reap, orphan recovery, and the
session-create policy chokepoint — plus SandboxDispatchSettings and the
conformance suite). It pulls in no third-party runtime dependency: it drives the
host with the standard library only.
Security model
This provider gives no isolation: isolation="none" means arbitrary session
code runs on the host with the host's filesystem, network, and secrets in reach.
It is for a trusted, single-tenant box, not untrusted flows. It accepts only
what it can honestly enforce and rejects the rest loudly:
isolation="none"accepted;container/vmrejected. The operator isolation floor defaults tocontainer, so a deployment installing this provider must setTAI_MCP_SANDBOX_ISOLATION=noneor every session create rejects.network="egress"accepted;none/internalrejected.- a
cpu/memory_mbcap rejected. imageis inert — the host is the execution environment; the operator installs the runtime on the host.
For enforced isolation or network lockdown, install a container provider instead.
Configuration
The SANDBOX_LOCAL_ env group: SANDBOX_LOCAL_ROOT (the host workspace root) and
SANDBOX_LOCAL_BASE_PATH (the clean-env PATH), plus the shared dispatch knobs
(SANDBOX_LOCAL_DEFAULT_TTL_SECONDS, SANDBOX_LOCAL_REAP_INTERVAL_SECONDS,
SANDBOX_LOCAL_EXEC_DEFAULT_TIMEOUT_SECONDS). See
docs/index.mdx for the full table and
the durability model.
The current release line tracks the 7.x contract (tai42-contract>=7,<8).
Metadata
Release files for tai42-sandbox-local 1.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tai42_sandbox_local-1.1.6.tar.gz | 29.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tai42_sandbox_local-1.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 50.7 kB
Release files / tai42_sandbox_local-1.1.6.tar.gz
| Download URL | tai42_sandbox_local-1.1.6.tar.gz |
|---|---|
| Size | 29.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
291189076a7e8faf65cad210dc03eb1f92b557999709374006281970b7d5b379
|
|
BLAKE2b-256 checksum How to use checksums |
b2a393287088cc656a74bd372f3d4ae768446e093a316368502cf86f0bb5764f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / tai42_sandbox_local-1.1.6-py3-none-any.whl
| Download URL | tai42_sandbox_local-1.1.6-py3-none-any.whl |
|---|---|
| Size | 20.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
852f0c3026534e10690218a55b85166bf293ce302a5fddecc02ead15f391984a
|
|
BLAKE2b-256 checksum How to use checksums |
f70ac68a8b57a3287821f2ce24432104d7cb1595aabc30f76c4d2ec51d1dede1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|