Download codex-rs/app-server/src/request_processors/persisted_resume_settings.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 2.11 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server/src/request_processors/persisted_resume_settings.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/app-server/src/request_processors/persisted_resume_settings.rs
-
curl -L -o persisted_resume_settings.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server/src/request_processors/persisted_resume_settings.rs
2.11 kB
| use codex_protocol::config_types::ApprovalsReviewer; | |
| use codex_protocol::models::ActivePermissionProfile; | |
| use codex_protocol::protocol::AskForApproval; | |
| use codex_protocol::protocol::EventMsg; | |
| use codex_rollout::RolloutItem; | |
| pub(super) struct PersistedResumeSettings { | |
| pub(super) approval_policy: AskForApproval, | |
| pub(super) approvals_reviewer: Option<ApprovalsReviewer>, | |
| pub(super) active_permission_profile: Option<ActivePermissionProfile>, | |
| } | |
| pub(super) fn latest_persisted_resume_settings( | |
| history: &[RolloutItem], | |
| ) -> Option<PersistedResumeSettings> { | |
| history | |
| .iter() | |
| .enumerate() | |
| .rev() | |
| .find_map(|(index, item)| match item { | |
| RolloutItem::TurnContext(turn_context) => Some(PersistedResumeSettings { | |
| approval_policy: turn_context.approval_policy, | |
| approvals_reviewer: turn_context.approvals_reviewer.or_else(|| { | |
| history[..index].iter().rev().find_map(|item| match item { | |
| RolloutItem::TurnContext(turn_context) => turn_context.approvals_reviewer, | |
| RolloutItem::EventMsg(EventMsg::ThreadSettingsApplied(event)) => { | |
| Some(event.thread_settings.approvals_reviewer) | |
| } | |
| _ => None, | |
| }) | |
| }), | |
| active_permission_profile: turn_context.active_permission_profile.clone(), | |
| }), | |
| RolloutItem::EventMsg(EventMsg::ThreadSettingsApplied(event)) => { | |
| Some(PersistedResumeSettings { | |
| approval_policy: event.thread_settings.approval_policy, | |
| approvals_reviewer: Some(event.thread_settings.approvals_reviewer), | |
| active_permission_profile: event | |
| .thread_settings | |
| .active_permission_profile | |
| .clone(), | |
| }) | |
| } | |
| _ => None, | |
| }) | |
| } | |
| mod tests; | |