fix(gateway): bridge terminal.docker_extra_args to env for gateway sessions (#30415) - #30887
Tranquil-Flow wants to merge 2 commits into
Conversation
af9e18c to
95fee8b
Compare
…ssions (NousResearch#30415) The _terminal_env_map in gateway/run.py bridges terminal.* config keys into TERMINAL_* env vars at gateway startup so the agent process can read them. docker_extra_args was the only docker_* key missing from this map, causing it to be silently dropped in gateway mode. The existing serialization logic at run.py:482-485 already handles list/dict values by JSON-encoding them before export, so no additional encoding logic is needed.
95fee8b to
cadb7fa
Compare
|
Closing as obsolete — the (Note for maintainers: the consumer-side gap where |
What does this PR do?
Fixes #30415 — adds the missing
docker_extra_argsentry togateway/run.py's_terminal_env_map, bridging theterminal.docker_extra_argsconfig key to theTERMINAL_DOCKER_EXTRA_ARGSenv var.Why is this needed?
config.yaml'sterminal.docker_extra_argsis silently dropped when the gateway spawns per-session sandbox containers. Every otherterminal.docker_*key in that block IS bridged, so users reasonably expect this one to be too. Net effect: sandbox containers spawn without documented extra args (bind mounts, devices, capabilities).Root cause
The
_terminal_env_mapingateway/run.pyomitsdocker_extra_args. The existing list/dict serialization logic (lines 482-485) already handles the encoding — only the map entry was missing.How to test
terminal.docker_extra_argsin config.yamlExisting env-bridge test passes.
Checklist