| 1 | """Explicit agent runtime/provider environment contract; not OS containment."""
|
| 2 | from oakbench.environment import sanitize_git_environment
|
| 3 |
|
| 4 | ALLOWED_KEYS = frozenset({
|
| 5 | "PATH", "HOME", "XDG_CONFIG_HOME", "XDG_CACHE_HOME", "TMPDIR", "TMP", "TEMP",
|
| 6 | "LANG", "LC_ALL", "TZ", "TERM", "NO_COLOR", "CLICOLOR", "ZDOTDIR", "BASH_ENV", "ENV",
|
| 7 | "OPENAI_API_KEY", "OPENAI_BASE_URL", "OPENAI_ORG_ID", "OPENAI_PROJECT_ID",
|
| 8 | "ANTHROPIC_API_KEY", "ANTHROPIC_AUTH_TOKEN", "ANTHROPIC_BASE_URL", "CURSOR_API_KEY",
|
| 9 | "CODEX_HOME", "CLAUDE_CONFIG_DIR", "CURSOR_CONFIG_DIR", "SSH_AUTH_SOCK",
|
| 10 | "OAK_AUTHOR", "OAK_BENCH_ENV_ISOLATION_VERSION", "PYTHONDONTWRITEBYTECODE",
|
| 11 | "GIT_AUTHOR_NAME", "GIT_AUTHOR_EMAIL", "GIT_COMMITTER_NAME", "GIT_COMMITTER_EMAIL",
|
| 12 | })
|
| 13 |
|
| 14 |
|
| 15 | def agent_environment(values):
|
| 16 | return sanitize_git_environment({key: value for key, value in values.items() if key in ALLOWED_KEYS})
|