mirror of
https://github.com/openai/codex.git
synced 2026-11-13 06:45:07 +00:00
Apply permission profile updates to future turn environments (#37031)
## What changed - Include the current permission profile in each turn environment's configuration. - Refresh retained environment configurations when session settings change, while preserving the configuration already captured by active turns. - Keep environment connection and shell snapshot resolution reusable across configuration updates. ## Testing - Cover permission profile updates applied through both session settings updates and per-turn updates. - Verify that pending environment resolutions use the configuration captured by their turn and that configuration-only updates do not retry failed environments. GitOrigin-RevId: 923694f0729b87a118d7635ade3a8ca9bcd4e7b1
This commit is contained in:
1 parent
56b82e676c
commit
30d99232f4
15 files changed
+339
-116
No files matched your search
@@ -156,6 +156,16 @@ impl SessionConfiguration {
|
||||
&self.permission_profile_state
|
||||
}
|
||||
|
||||
pub(super) fn environment_config(&self) -> EnvironmentConfig {
|
||||
EnvironmentConfig {
|
||||
allow_login_shell: self
|
||||
.original_config_do_not_use
|
||||
.permissions
|
||||
.allow_login_shell,
|
||||
permission_profile: self.permission_profile_state.snapshot(),
|
||||
}
|
||||
}
|
||||
|
||||
pub(super) fn permission_profile(&self) -> PermissionProfile {
|
||||
self.permission_profile_state.permission_profile().clone()
|
||||
}
|
||||
@@ -943,14 +953,15 @@ impl Session {
|
||||
environment_manager,
|
||||
default_shell.clone(),
|
||||
// Temporary: preserve thread-level behavior until environments supply config.
|
||||
EnvironmentConfig {
|
||||
allow_login_shell: config.permissions.allow_login_shell,
|
||||
},
|
||||
session_configuration.environment_config(),
|
||||
shell_snapshot,
|
||||
inherited_environments.unwrap_or_default(),
|
||||
config.features.enabled(Feature::DeferredExecutor),
|
||||
));
|
||||
turn_environments.update_selections(session_configuration.environment_selections());
|
||||
turn_environments.update_selections(
|
||||
session_configuration.environment_selections(),
|
||||
&session_configuration.environment_config(),
|
||||
);
|
||||
let resolved_environments = turn_environments.snapshot().await;
|
||||
let agents_md_manager = Arc::new(AgentsMdManager::new(user_instructions));
|
||||
let plugin_skill_warmup = warm_plugins_and_skills_for_session_init(
|
||||
|
||||
Reference in new issue
Block a user