Add owner-mediated bwrap execution boundary
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a06def-6490-7033-8448-2eab2d12ed44
This commit is contained in:
parent
877676d1f1
commit
d79e3fe358
23 changed files with 1321 additions and 86 deletions
|
|
@ -17,6 +17,14 @@ Optional (SaaS): `estimate_cost(profile, duration) → MeterQuote`
|
|||
Optional (checkpoints): `supports_snapshots()`, `snapshot(handle)`,
|
||||
`restore_from_snapshot(profile, snapshot_meta, inputs, host)`
|
||||
|
||||
Optional (owner-mediated execution): `supports_execution()`, then
|
||||
`execute(handle, command, credential_route_refs, execution_context,
|
||||
timeout_seconds, max_output_bytes)`. The default implementation fails closed.
|
||||
`ext.bwrap` is the reference implementation. An executing extension must
|
||||
validate that its workspace belongs to the exact sandbox handle, sanitize the
|
||||
child environment, use an argument vector, enforce the requested bounds, and
|
||||
must not fall back to a host workspace.
|
||||
|
||||
### Base class
|
||||
|
||||
```python
|
||||
|
|
@ -37,6 +45,7 @@ Reference implementations:
|
|||
| `ext.saas-stub` | `saas_stub.py` | Metered stub + metadata snapshots |
|
||||
| `ext.e2b` | `e2b.py` | E2B cloud adapter |
|
||||
| `ext.modal` | `modal.py` | Modal cloud adapter |
|
||||
| `ext.bwrap` | `bwrap.py` | Local namespaces + owner-mediated execution |
|
||||
|
||||
## Registration
|
||||
|
||||
|
|
@ -111,4 +120,4 @@ Implement `estimate_cost` and `meter_actual` on `SandboxExtension`. Register wit
|
|||
| Packer build orchestration from `create` | Future WP |
|
||||
| Daytona OSS cloud adapter | Future WP |
|
||||
| fin-hub billing export | Future |
|
||||
| Cross-host snapshot transfer | Future |
|
||||
| Cross-host snapshot transfer | Future |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue