The library has solid sandbox and worker tiers, but there is no process-boundary entry point for agents or shell pipelines. Callers still have to import TypeScript and deal with live Error objects.
Add airlock run <file> plus a programmatic runFile/runSource API that returns a JSON-serializable result envelope (exit 0 only on verified ok). Keep the CLI thin over the existing contract.
The library has solid sandbox and worker tiers, but there is no process-boundary entry point for agents or shell pipelines. Callers still have to import TypeScript and deal with live Error objects.
Add
airlock run <file>plus a programmaticrunFile/runSourceAPI that returns a JSON-serializable result envelope (exit 0 only on verified ok). Keep the CLI thin over the existing contract.