mirror of
https://github.com/openai/codex.git
synced 2026-11-08 20:40:33 +00:00
Use turn environment permissions for context and discovery (#37040)
## What changed - Build filesystem and permission context from the primary turn environment's permission profile, working directory, and workspace roots, falling back to the thread context when no primary environment is available. - Build capability-discovery sandbox contexts from each environment's permission profile and treat discovery as restricted when any selected environment has restricted filesystem access. ## Testing - Add regression tests covering environment-specific capability discovery and permission context updates. GitOrigin-RevId: 6bbbd9b88aafa5e6583971ce4e427fc7557f2d93
This commit is contained in:
@@ -6,7 +6,6 @@ use crate::context::environment_context::NetworkContext;
|
||||
use crate::context::environment_context::push_xml_escaped_text;
|
||||
use crate::environment_selection::TurnEnvironmentSnapshot;
|
||||
use crate::session::turn_context::TurnContext;
|
||||
use crate::session::turn_context::TurnEnvironment;
|
||||
use codex_utils_path_uri::PathUri;
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
@@ -29,19 +28,17 @@ impl EnvironmentsState {
|
||||
environments: &TurnEnvironmentSnapshot,
|
||||
current_date: Option<String>,
|
||||
) -> Self {
|
||||
let workspace_roots = environments
|
||||
.primary()
|
||||
.map(TurnEnvironment::workspace_roots)
|
||||
.unwrap_or_default();
|
||||
Self {
|
||||
environments: environment_states(environments),
|
||||
current_date,
|
||||
timezone: turn_context.timezone.clone(),
|
||||
network: network_from_turn_context(turn_context),
|
||||
filesystem: Some(FileSystemContext::from_permission_profile(
|
||||
turn_context.config.permissions.permission_profile(),
|
||||
workspace_roots,
|
||||
)),
|
||||
filesystem: environments.primary().map(|environment| {
|
||||
FileSystemContext::from_permission_profile(
|
||||
environment.permission_profile(),
|
||||
environment.workspace_roots(),
|
||||
)
|
||||
}),
|
||||
subagents: None,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user