mirror of
https://github.com/openai/codex.git
synced 2026-10-28 18:58:46 +00:00
## What changed - Use the standard shell executor and remove the zsh fork escalation runtime, `codex-execve-wrapper`, and `shell-escalation` crate. - Ignore `shell_zsh_fork` and `unified_exec_zsh_fork`, emit migration notices for legacy configuration, and warn when ignoring managed requirements for these flags. - Keep the active session's `apply_patch` alias directory readable under restricted filesystem permissions. ## Testing Add coverage for legacy configuration startup and shell execution, migration notice rendering, active alias directory selection, and nested `apply_patch` execution while other files in `CODEX_HOME` remain unreadable. GitOrigin-RevId: 43af461fea32b4980550ee7237effd2bc0646ed8
41 lines
1004 B
Rust
41 lines
1004 B
Rust
use codex_features::Feature;
|
|
use codex_features::Features;
|
|
use codex_protocol::config_types::ModeKind;
|
|
use codex_protocol::config_types::TUI_VISIBLE_COLLABORATION_MODES;
|
|
|
|
pub fn request_user_input_available_modes(features: &Features) -> Vec<ModeKind> {
|
|
TUI_VISIBLE_COLLABORATION_MODES
|
|
.into_iter()
|
|
.filter(|mode| {
|
|
mode.allows_request_user_input()
|
|
|| (features.enabled(Feature::DefaultModeRequestUserInput)
|
|
&& *mode == ModeKind::Default)
|
|
})
|
|
.collect()
|
|
}
|
|
|
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
|
pub enum ToolEnvironmentMode {
|
|
None,
|
|
Single,
|
|
Multiple,
|
|
}
|
|
|
|
impl ToolEnvironmentMode {
|
|
pub fn from_count(count: usize) -> Self {
|
|
match count {
|
|
0 => Self::None,
|
|
1 => Self::Single,
|
|
_ => Self::Multiple,
|
|
}
|
|
}
|
|
|
|
pub fn has_environment(self) -> bool {
|
|
!matches!(self, Self::None)
|
|
}
|
|
}
|
|
|
|
#[cfg(test)]
|
|
#[path = "tool_config_tests.rs"]
|
|
mod tests;
|