Separate environment requests from runtime selections (#51221)

## What changed

Introduce `TurnEnvironmentRequest` for caller-supplied environment input and construct `TurnEnvironmentSelection` at session startup and app-server settings boundaries. Update thread startup, default environments, and inherited environment handoffs to use requests, with explicit conversions when reusing runtime selections.

Move the environment types into `protocol::environment` while retaining their `protocol` re-exports. Update test fixtures and existing tests to build request inputs separately from runtime selections.

GitOrigin-RevId: 12e7daaece95aae136afae8b055b4dbaebdffc75
This commit is contained in:
Adam Perry @ OpenAI
2026-10-06 01:39:50 +00:00
committed by copyberry
parent 28b91c7c31
commit 2dbcab90e2
46 changed files with 373 additions and 212 deletions
+2 -2
View File
@@ -713,7 +713,7 @@ impl CodexThread {
fn thread_settings_update(overrides: CodexThreadSettingsOverrides) -> SessionSettingsUpdate {
let CodexThreadSettingsOverrides {
turn_extension_init,
environments,
environments: environment_requests,
runtime_workspace_roots,
profile_workspace_roots,
approval_policy,
@@ -742,7 +742,7 @@ impl CodexThread {
approval_policy,
approvals_reviewer,
},
environments,
environments: environment_requests,
runtime_workspace_roots,
profile_workspace_roots,
sandbox_policy,