mirror of
https://github.com/openai/codex.git
synced 2026-11-10 21:00:47 +00:00
app-server: preserve environment root compatibility
This commit is contained in:
@@ -619,6 +619,7 @@ pub(super) async fn handle_pending_thread_resume_request(
|
||||
}
|
||||
|
||||
let config_snapshot = pending.config_snapshot;
|
||||
let sandbox = config_snapshot.sandbox_policy().into();
|
||||
let cwd = config_snapshot.cwd().clone();
|
||||
let ThreadConfigSnapshot {
|
||||
model,
|
||||
@@ -626,7 +627,6 @@ pub(super) async fn handle_pending_thread_resume_request(
|
||||
service_tier,
|
||||
approval_policy,
|
||||
approvals_reviewer,
|
||||
permission_profile,
|
||||
active_permission_profile,
|
||||
workspace_roots,
|
||||
reasoning_effort,
|
||||
@@ -634,7 +634,6 @@ pub(super) async fn handle_pending_thread_resume_request(
|
||||
..
|
||||
} = config_snapshot;
|
||||
let instruction_sources = pending.instruction_sources;
|
||||
let sandbox = thread_response_sandbox_policy(&permission_profile, cwd.as_path());
|
||||
let active_permission_profile =
|
||||
thread_response_active_permission_profile(active_permission_profile);
|
||||
let session_id = conversation.session_configured().session_id.to_string();
|
||||
|
||||
@@ -1105,6 +1105,10 @@ impl ThreadRequestProcessor {
|
||||
.load_with_overrides(config_overrides.clone(), typesafe_overrides.clone())
|
||||
.await
|
||||
.map_err(|err| config_load_error(&err))?;
|
||||
let environment_selections = resolve_turn_environment_selections(
|
||||
listener_task_context.thread_manager.as_ref(),
|
||||
environments,
|
||||
)?;
|
||||
|
||||
// The user may have requested WorkspaceWrite or DangerFullAccess via
|
||||
// the command line, though in the process of deriving the Config, it
|
||||
@@ -1186,11 +1190,7 @@ impl ThreadRequestProcessor {
|
||||
}
|
||||
}
|
||||
|
||||
let environments = resolve_turn_environment_selections(
|
||||
listener_task_context.thread_manager.as_ref(),
|
||||
environments,
|
||||
)?
|
||||
.unwrap_or_else(|| {
|
||||
let environments = environment_selections.unwrap_or_else(|| {
|
||||
listener_task_context
|
||||
.thread_manager
|
||||
.default_environment_selections(&config.cwd, &config.workspace_roots)
|
||||
@@ -1318,10 +1318,7 @@ impl ThreadRequestProcessor {
|
||||
/*has_in_progress_turn*/ false,
|
||||
);
|
||||
|
||||
let sandbox = thread_response_sandbox_policy(
|
||||
&config_snapshot.permission_profile,
|
||||
config_snapshot.cwd().as_path(),
|
||||
);
|
||||
let sandbox = config_snapshot.sandbox_policy().into();
|
||||
let cwd = config_snapshot.cwd().clone();
|
||||
let active_permission_profile =
|
||||
thread_response_active_permission_profile(config_snapshot.active_permission_profile);
|
||||
@@ -2895,10 +2892,7 @@ impl ThreadRequestProcessor {
|
||||
/*has_live_in_progress_turn*/ false,
|
||||
);
|
||||
let config_snapshot = codex_thread.config_snapshot().await;
|
||||
let sandbox = thread_response_sandbox_policy(
|
||||
&config_snapshot.permission_profile,
|
||||
config_snapshot.cwd().as_path(),
|
||||
);
|
||||
let sandbox = config_snapshot.sandbox_policy().into();
|
||||
let active_permission_profile = thread_response_active_permission_profile(
|
||||
config_snapshot.active_permission_profile,
|
||||
);
|
||||
@@ -3657,10 +3651,7 @@ impl ThreadRequestProcessor {
|
||||
/*has_in_progress_turn*/ false,
|
||||
);
|
||||
let config_snapshot = forked_thread.config_snapshot().await;
|
||||
let sandbox = thread_response_sandbox_policy(
|
||||
&config_snapshot.permission_profile,
|
||||
config_snapshot.cwd().as_path(),
|
||||
);
|
||||
let sandbox = config_snapshot.sandbox_policy().into();
|
||||
let active_permission_profile =
|
||||
thread_response_active_permission_profile(config_snapshot.active_permission_profile);
|
||||
let thread_originator = config_snapshot.originator.clone();
|
||||
|
||||
@@ -172,17 +172,6 @@ pub(crate) fn thread_response_active_permission_profile(
|
||||
active_permission_profile.map(Into::into)
|
||||
}
|
||||
|
||||
pub(crate) fn thread_response_sandbox_policy(
|
||||
permission_profile: &codex_protocol::models::PermissionProfile,
|
||||
cwd: &Path,
|
||||
) -> codex_app_server_protocol::SandboxPolicy {
|
||||
let sandbox_policy = codex_sandboxing::compatibility_sandbox_policy_for_permission_profile(
|
||||
permission_profile,
|
||||
cwd,
|
||||
);
|
||||
sandbox_policy.into()
|
||||
}
|
||||
|
||||
pub(crate) fn thread_settings_from_config_snapshot(
|
||||
config_snapshot: &ThreadConfigSnapshot,
|
||||
) -> ThreadSettings {
|
||||
@@ -190,10 +179,7 @@ pub(crate) fn thread_settings_from_config_snapshot(
|
||||
cwd: config_snapshot.cwd().clone(),
|
||||
approval_policy: config_snapshot.approval_policy.into(),
|
||||
approvals_reviewer: config_snapshot.approvals_reviewer.into(),
|
||||
sandbox_policy: thread_response_sandbox_policy(
|
||||
&config_snapshot.permission_profile,
|
||||
config_snapshot.cwd().as_path(),
|
||||
),
|
||||
sandbox_policy: config_snapshot.sandbox_policy().into(),
|
||||
active_permission_profile: thread_response_active_permission_profile(
|
||||
config_snapshot.active_permission_profile.clone(),
|
||||
),
|
||||
@@ -225,7 +211,11 @@ pub(crate) fn thread_settings_from_core_snapshot(
|
||||
personality,
|
||||
collaboration_mode,
|
||||
} = snapshot;
|
||||
let sandbox_policy = thread_response_sandbox_policy(&permission_profile, cwd.as_path());
|
||||
let sandbox_policy = codex_sandboxing::compatibility_sandbox_policy_for_permission_profile(
|
||||
&permission_profile,
|
||||
cwd.as_path(),
|
||||
)
|
||||
.into();
|
||||
ThreadSettings {
|
||||
sandbox_policy,
|
||||
cwd,
|
||||
|
||||
Reference in New Issue
Block a user