Merge 11f94d436d into sapling-pr-archive-bolinfest

This commit is contained in:
Michael Bolin
2026-04-30 08:49:59 -07:00
committed by GitHub
22 changed files with 69 additions and 126 deletions
@@ -6689,7 +6689,7 @@ impl CodexMessageProcessor {
cwd: cwd.clone(),
approval_policy,
approvals_reviewer,
permission_profile: permission_profile_for_validation,
permission_profile: permission_profile_for_validation.clone(),
active_permission_profile: active_permission_profile.clone(),
clear_active_permission_profile: sandbox_policy.is_some(),
windows_sandbox_level: None,
@@ -6716,9 +6716,9 @@ impl CodexMessageProcessor {
cwd,
approval_policy,
approvals_reviewer,
sandbox_policy,
permission_profile,
permission_profile: permission_profile_for_validation,
active_permission_profile,
clear_active_permission_profile: sandbox_policy.is_some(),
windows_sandbox_level: None,
model,
effort,
+2 -43
View File
@@ -34,7 +34,6 @@ use crate::tasks::execute_user_shell_command;
use codex_mcp::collect_mcp_snapshot_from_manager;
use codex_mcp::compute_auth_statuses;
use codex_protocol::models::ContentItem;
use codex_protocol::models::PermissionProfile;
use codex_protocol::models::ResponseInputItem;
use codex_protocol::protocol::CodexErrorInfo;
use codex_protocol::protocol::ErrorEvent;
@@ -51,7 +50,6 @@ use codex_protocol::protocol::RealtimeVoicesList;
use codex_protocol::protocol::ReviewDecision;
use codex_protocol::protocol::ReviewRequest;
use codex_protocol::protocol::RolloutItem;
use codex_protocol::protocol::SandboxPolicy;
use codex_protocol::protocol::SkillErrorInfo;
use codex_protocol::protocol::SkillsListEntry;
use codex_protocol::protocol::ThreadMemoryMode;
@@ -73,7 +71,6 @@ use codex_protocol::user_input::UserInput;
use codex_rmcp_client::ElicitationAction;
use codex_rmcp_client::ElicitationResponse;
use serde_json::Value;
use std::path::Path;
use std::path::PathBuf;
use std::sync::Arc;
use tracing::debug;
@@ -181,9 +178,9 @@ pub(super) async fn user_input_or_turn_inner(
cwd,
approval_policy,
approvals_reviewer,
sandbox_policy,
permission_profile,
active_permission_profile,
clear_active_permission_profile,
windows_sandbox_level,
model,
effort,
@@ -207,15 +204,6 @@ pub(super) async fn user_input_or_turn_inner(
.with_updates(model, effort, /*developer_instructions*/ None),
)
};
let clear_active_permission_profile =
permission_profile.is_none() && sandbox_policy.is_some();
let permission_profile = permission_profile_with_legacy_fallback(
sess,
sandbox_policy.as_ref(),
permission_profile,
cwd.as_deref(),
)
.await;
(
items,
SessionSettingsUpdate {
@@ -305,26 +293,6 @@ pub(super) async fn user_input_or_turn_inner(
}
}
async fn permission_profile_with_legacy_fallback(
sess: &Session,
sandbox_policy: Option<&SandboxPolicy>,
permission_profile: Option<PermissionProfile>,
cwd: Option<&Path>,
) -> Option<PermissionProfile> {
match (permission_profile, sandbox_policy) {
(Some(permission_profile), _) => Some(permission_profile),
(None, Some(sandbox_policy)) => {
let state = sess.state.lock().await;
Some(
state
.session_configuration
.permission_profile_from_legacy_sandbox_update(sandbox_policy, cwd),
)
}
(None, None) => None,
}
}
async fn mirror_user_text_to_realtime(sess: &Arc<Session>, items: &[UserInput]) {
let text = UserMessageItem::new(items).message();
if text.is_empty() {
@@ -1050,8 +1018,8 @@ pub(super) async fn submission_loop(
cwd,
approval_policy,
approvals_reviewer,
sandbox_policy,
permission_profile,
clear_active_permission_profile,
windows_sandbox_level,
model,
effort,
@@ -1070,15 +1038,6 @@ pub(super) async fn submission_loop(
/*developer_instructions*/ None,
)
};
let clear_active_permission_profile =
permission_profile.is_none() && sandbox_policy.is_some();
let permission_profile = permission_profile_with_legacy_fallback(
&sess,
sandbox_policy.as_ref(),
permission_profile,
cwd.as_deref(),
)
.await;
override_turn_context(
&sess,
sub.id.clone(),
-18
View File
@@ -127,24 +127,6 @@ impl SessionConfiguration {
self.permission_profile.get().network_sandbox_policy()
}
pub(super) fn permission_profile_from_legacy_sandbox_update(
&self,
sandbox_policy: &SandboxPolicy,
cwd: Option<&Path>,
) -> PermissionProfile {
let file_system_sandbox_policy =
FileSystemSandboxPolicy::from_legacy_sandbox_policy_preserving_deny_entries(
sandbox_policy,
self.resolved_update_cwd(cwd).as_path(),
&self.file_system_sandbox_policy(),
);
PermissionProfile::from_runtime_permissions_with_enforcement(
SandboxEnforcement::from_legacy_sandbox_policy(sandbox_policy),
&file_system_sandbox_policy,
NetworkSandboxPolicy::from(sandbox_policy),
)
}
pub(super) fn thread_config_snapshot(&self) -> ThreadConfigSnapshot {
ThreadConfigSnapshot {
model: self.collaboration_mode.model().to_string(),
+3 -3
View File
@@ -1685,7 +1685,7 @@ async fn fork_startup_context_then_first_turn_diff_snapshot() -> anyhow::Result<
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -4182,7 +4182,7 @@ fn op_kind_distinguishes_turn_ops() {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -4214,7 +4214,7 @@ fn op_kind_distinguishes_turn_ops() {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
active_permission_profile: None,
windows_sandbox_level: None,
@@ -128,7 +128,7 @@ async fn user_input_includes_collaboration_instructions_after_override() -> Resu
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -234,7 +234,7 @@ async fn override_then_next_turn_uses_updated_collaboration_instructions() -> Re
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -293,7 +293,7 @@ async fn user_turn_overrides_collaboration_instructions_after_override() -> Resu
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -366,7 +366,7 @@ async fn collaboration_mode_update_emits_new_instruction_message() -> Result<()>
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -396,7 +396,7 @@ async fn collaboration_mode_update_emits_new_instruction_message() -> Result<()>
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -455,7 +455,7 @@ async fn collaboration_mode_update_noop_does_not_append() -> Result<()> {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -485,7 +485,7 @@ async fn collaboration_mode_update_noop_does_not_append() -> Result<()> {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -543,7 +543,7 @@ async fn collaboration_mode_update_emits_new_instruction_message_when_mode_chang
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -576,7 +576,7 @@ async fn collaboration_mode_update_emits_new_instruction_message_when_mode_chang
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -638,7 +638,7 @@ async fn collaboration_mode_update_noop_does_not_append_when_mode_is_unchanged()
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -671,7 +671,7 @@ async fn collaboration_mode_update_noop_does_not_append_when_mode_is_unchanged()
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -739,7 +739,7 @@ async fn resume_replays_collaboration_instructions() -> Result<()> {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -807,7 +807,7 @@ async fn empty_collaboration_instructions_are_ignored() -> Result<()> {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
+1 -1
View File
@@ -3037,7 +3037,7 @@ async fn snapshot_request_shape_pre_turn_compaction_including_incoming_user_mess
cwd: Some(PathBuf::from(PRETURN_CONTEXT_DIFF_CWD)),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
+2 -2
View File
@@ -2243,7 +2243,7 @@ async fn snapshot_request_shape_remote_pre_turn_compaction_including_incoming_us
cwd: Some(PathBuf::from(PRETURN_CONTEXT_DIFF_CWD)),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -2359,7 +2359,7 @@ async fn snapshot_request_shape_remote_pre_turn_compaction_strips_incoming_model
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some(next_model.to_string()),
@@ -549,7 +549,7 @@ async fn snapshot_rollback_followup_turn_trims_context_updates() -> Result<()> {
cwd: Some(override_cwd.to_path_buf()),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
+2 -2
View File
@@ -29,7 +29,7 @@ async fn override_turn_context_does_not_persist_when_config_exists() {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some("o3".to_string()),
@@ -68,7 +68,7 @@ async fn override_turn_context_does_not_create_config_file() {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some("o3".to_string()),
+3 -3
View File
@@ -158,7 +158,7 @@ async fn model_change_appends_model_instructions_developer_message() -> Result<(
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some(next_model.to_string()),
@@ -238,7 +238,7 @@ async fn model_and_personality_change_only_appends_model_instructions() -> Resul
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some(next_model.to_string()),
@@ -931,7 +931,7 @@ async fn model_switch_to_smaller_model_updates_token_context_window() -> Result<
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some(smaller_model_slug.to_string()),
@@ -473,7 +473,7 @@ async fn snapshot_model_visible_layout_resume_override_matches_rollout_model() -
cwd: Some(resume_override_cwd),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some("gpt-5.2".to_string()),
@@ -117,7 +117,7 @@ async fn override_turn_context_without_user_turn_does_not_record_permissions_upd
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -160,7 +160,7 @@ async fn override_turn_context_without_user_turn_does_not_record_environment_upd
cwd: Some(new_cwd.path().to_path_buf()),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -200,7 +200,7 @@ async fn override_turn_context_without_user_turn_does_not_record_collaboration_u
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -106,7 +106,7 @@ async fn permissions_message_added_on_override_change() -> Result<()> {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -239,7 +239,7 @@ async fn permissions_message_omitted_when_disabled() -> Result<()> {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -328,7 +328,7 @@ async fn resume_replays_permissions_messages() -> Result<()> {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -434,7 +434,7 @@ async fn resume_and_fork_append_permissions_messages() -> Result<()> {
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
+4 -4
View File
@@ -331,7 +331,7 @@ async fn user_turn_personality_some_adds_update_message() -> anyhow::Result<()>
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -415,7 +415,7 @@ async fn user_turn_personality_same_value_does_not_add_update_message() -> anyho
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -512,7 +512,7 @@ async fn user_turn_personality_skips_if_feature_disabled() -> anyhow::Result<()>
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -759,7 +759,7 @@ async fn user_turn_personality_remote_model_template_includes_update_message() -
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
+2 -2
View File
@@ -445,7 +445,7 @@ async fn overrides_turn_context_but_keeps_cached_prefix_and_key_constant() -> an
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: Some(permission_profile),
windows_sandbox_level: None,
model: None,
@@ -531,7 +531,7 @@ async fn override_before_first_turn_emits_environment_context() -> anyhow::Resul
cwd: None,
approval_policy: Some(AskForApproval::Never),
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some("gpt-5.4".to_string()),
+2 -2
View File
@@ -602,7 +602,7 @@ async fn remote_models_remote_model_uses_unified_exec() -> Result<()> {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some(REMOTE_MODEL_SLUG.to_string()),
@@ -851,7 +851,7 @@ async fn remote_models_apply_remote_base_instructions() -> Result<()> {
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some(model.to_string()),
+1 -1
View File
@@ -427,7 +427,7 @@ async fn resume_model_switch_is_not_duplicated_after_pre_turn_override() -> Resu
cwd: None,
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: Some("gpt-5.4".to_string()),
+1 -1
View File
@@ -836,7 +836,7 @@ async fn review_uses_overridden_cwd_for_base_branch_merge_base() {
cwd: Some(repo_path.to_path_buf()),
approval_policy: None,
approvals_reviewer: None,
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
+10 -8
View File
@@ -472,10 +472,6 @@ pub enum Op {
#[serde(skip_serializing_if = "Option::is_none")]
approvals_reviewer: Option<ApprovalsReviewer>,
/// Updated sandbox policy for tool calls.
#[serde(skip_serializing_if = "Option::is_none")]
sandbox_policy: Option<SandboxPolicy>,
/// Updated permissions profile for tool calls.
#[serde(skip_serializing_if = "Option::is_none")]
permission_profile: Option<PermissionProfile>,
@@ -486,6 +482,11 @@ pub enum Op {
#[serde(skip_serializing_if = "Option::is_none")]
active_permission_profile: Option<ActivePermissionProfile>,
/// Clear the active profile name/provenance even when setting a
/// concrete `permission_profile`.
#[serde(default, skip_serializing_if = "std::ops::Not::not")]
clear_active_permission_profile: bool,
/// Updated Windows sandbox mode for tool execution.
#[serde(skip_serializing_if = "Option::is_none")]
windows_sandbox_level: Option<WindowsSandboxLevel>,
@@ -609,14 +610,15 @@ pub enum Op {
#[serde(skip_serializing_if = "Option::is_none")]
approvals_reviewer: Option<ApprovalsReviewer>,
/// Updated sandbox policy for tool calls.
#[serde(skip_serializing_if = "Option::is_none")]
sandbox_policy: Option<SandboxPolicy>,
/// Updated permissions profile for tool calls.
#[serde(skip_serializing_if = "Option::is_none")]
permission_profile: Option<PermissionProfile>,
/// Clear the active profile name/provenance even when setting a
/// concrete `permission_profile`.
#[serde(default, skip_serializing_if = "std::ops::Not::not")]
clear_active_permission_profile: bool,
/// Updated Windows sandbox mode for tool execution.
#[serde(skip_serializing_if = "Option::is_none")]
windows_sandbox_level: Option<WindowsSandboxLevel>,
+6 -6
View File
@@ -1659,7 +1659,7 @@ async fn update_feature_flags_enabling_guardian_selects_auto_review() -> Result<
cwd: None,
approval_policy: Some(auto_review.approval_policy),
approvals_reviewer: Some(auto_review.approvals_reviewer),
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: Some(auto_review.permission_profile.clone()),
windows_sandbox_level: None,
model: None,
@@ -1750,7 +1750,7 @@ async fn update_feature_flags_disabling_guardian_clears_review_policy_and_restor
cwd: None,
approval_policy: None,
approvals_reviewer: Some(ApprovalsReviewer::User),
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -1829,7 +1829,7 @@ async fn update_feature_flags_enabling_guardian_overrides_explicit_manual_review
cwd: None,
approval_policy: Some(auto_review.approval_policy),
approvals_reviewer: Some(auto_review.approvals_reviewer),
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: Some(auto_review.permission_profile.clone()),
windows_sandbox_level: None,
model: None,
@@ -1887,7 +1887,7 @@ async fn update_feature_flags_disabling_guardian_clears_manual_review_policy_wit
cwd: None,
approval_policy: None,
approvals_reviewer: Some(ApprovalsReviewer::User),
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
@@ -1947,7 +1947,7 @@ async fn update_feature_flags_enabling_guardian_in_profile_sets_profile_auto_rev
cwd: None,
approval_policy: Some(auto_review.approval_policy),
approvals_reviewer: Some(auto_review.approvals_reviewer),
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: Some(auto_review.permission_profile.clone()),
windows_sandbox_level: None,
model: None,
@@ -2035,7 +2035,7 @@ guardian_approval = true
cwd: None,
approval_policy: None,
approvals_reviewer: Some(ApprovalsReviewer::User),
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: None,
windows_sandbox_level: None,
model: None,
+4 -4
View File
@@ -399,8 +399,8 @@ impl AppCommand {
cwd,
approval_policy,
approvals_reviewer,
sandbox_policy: None,
permission_profile,
clear_active_permission_profile: false,
windows_sandbox_level,
model,
effort,
@@ -634,8 +634,8 @@ impl From<Op> for AppCommand {
cwd,
approval_policy,
approvals_reviewer,
sandbox_policy,
permission_profile,
clear_active_permission_profile,
windows_sandbox_level,
model,
effort,
@@ -644,7 +644,7 @@ impl From<Op> for AppCommand {
collaboration_mode,
personality,
} => {
if sandbox_policy.is_none() {
if !clear_active_permission_profile {
Self::OverrideTurnContext {
cwd,
approval_policy,
@@ -663,8 +663,8 @@ impl From<Op> for AppCommand {
cwd,
approval_policy,
approvals_reviewer,
sandbox_policy,
permission_profile,
clear_active_permission_profile,
windows_sandbox_level,
model,
effort,
@@ -710,7 +710,7 @@ async fn permissions_selection_sends_approvals_reviewer_in_override_turn_context
cwd: None,
approval_policy: Some(AskForApproval::OnRequest),
approvals_reviewer: Some(ApprovalsReviewer::AutoReview),
sandbox_policy: None,
clear_active_permission_profile: false,
permission_profile: Some(PermissionProfile::workspace_write()),
windows_sandbox_level: None,
model: None,