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
@@ -50,7 +50,7 @@ pub(super) fn prepare_update(
turn_extension_init,
} = overrides.into();
let ThreadSettingsOverrides {
environments,
environments: environment_requests,
runtime_workspace_roots,
profile_workspace_roots,
approval_policy,
@@ -79,7 +79,7 @@ pub(super) fn prepare_update(
approval_policy,
approvals_reviewer,
},
environments,
environments: environment_requests,
runtime_workspace_roots,
profile_workspace_roots,
sandbox_policy,