One unified interface for AI agents, with a virtual filesystem and swappable runtimes across machines, services, and clouds. Scale your agents with fewer tokens and less infrastructure.
26runtimes:?The engines a line can run on. Both python engines are registered — monty and pyodide — and this entry says which one python and python3 bind to; quickjs takes node and js. All are sandboxed, so their file I/O only reaches the mounts above. The builtin command engine is always present, so it is not listed.
29# Route to e2b sandbox if python script has NumPy, see route.py
30 - name: Linuxe2b?Runs python that needs more than a browser has. Connect a store and a key, then put the script and its data where both sides can reach them:$ cp /repo/stats.py /repo/prices.csv /redis/$ python3 /redis/stats.py
31captures:[python,python3]
32config: { apiKey: }
33
34route_policy:?A different door: asked once per line, before anything runs, and answering who runs it rather than whether it may. A runtime name places the line, a deny refuses it. It outranks the runtimes above and yields to a runtime named on the call.
35
36clis:
37simple:
38script:?The program, run on the engine named beside it.
39runtime: JavaScriptquickjs
40
41profiles:
42admin:
43commands:
44allow: [,,,,,,,,,,,,,, ]
45policy:?A program the gate runs before every command this profile runs. It sees the command's context and reads the filesystem, and answers allow, ask or deny.
46script:?The program, run on the engine named beside it.
47runtime: Pydanticmonty
48
49user:
50commands:
51allow: [,,,,,,,,,, ]
52policy:?A program the gate runs before every command this profile runs. It sees the command's context and reads the filesystem, and answers allow, ask or deny.
53script:?The program, run on the engine named beside it.