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.
Metadata
Release files for tai42-sandbox-local 1.3.3
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.3.3.tar.gz | 30.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tai42_sandbox_local-1.3.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.4 kB
Release files / tai42_sandbox_local-1.3.3.tar.gz
| Download URL | tai42_sandbox_local-1.3.3.tar.gz |
|---|---|
| Size | 30.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d7147498e27f5f2b5a841a701aeefa12f0a77d9cd17c9607f685badbc1c97695
|
|
BLAKE2b-256 checksum How to use checksums |
5f65665a69989ebb59467d31ad4c5492090fe1f40f13a7dac5860d635c228a3d
|
| 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.3.3-py3-none-any.whl
| Download URL | tai42_sandbox_local-1.3.3-py3-none-any.whl |
|---|---|
| Size | 21.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bacdbe90e848ccec3b6fd1d6879ba862b86cbc8dfd55027b22081fd48b69caaf
|
|
BLAKE2b-256 checksum How to use checksums |
6ee3ccd44a0cbb248f0b83a7ee98bf5f4b5baa891f829a4c31d60aec7a94ab76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|