[ez][codex-rs] Support approvals reviewer in app defaults (#27075)

[from codex]

## Summary

- add `approvals_reviewer` support to `[apps._default]`
- resolve connected-app reviewers in per-app, app-default, then global
order
- expose the setting through the v2 config API and regenerate schema
fixtures

## Context

PR #25167 added `apps.<connector_id>.approvals_reviewer`, but the shared
app defaults table could not specify the reviewer. This extends the same
behavior to `[apps._default]` while preserving per-app overrides.

Managed `allowed_approvals_reviewers` requirements still constrain both
default and per-app values. A disallowed app value falls back to the
global reviewer, and non-app MCP servers continue using the global
reviewer.

## Testing

- `just write-config-schema`
- `just write-app-server-schema`
- `just fmt`
- `just test -p codex-config`
- `just test -p codex-core app_approvals_reviewer`
- `just test -p codex-app-server-protocol`
- `just test -p codex-app-server config_read_includes_apps`
This commit is contained in:
Alex Zamoshchin
2026-06-12 09:06:58 -07:00
committed by GitHub
parent 5b8e3c6d40
commit 3cac2e0d3f
12 changed files with 275 additions and 10 deletions
+4
View File
@@ -380,6 +380,10 @@ pub struct AppsDefaultConfig {
#[serde(default = "default_enabled")]
pub enabled: bool,
/// Reviewer for approval prompts unless overridden by per-app settings.
#[serde(default, skip_serializing_if = "Option::is_none")]
pub approvals_reviewer: Option<ApprovalsReviewer>,
/// Whether tools with `destructive_hint = true` are allowed by default.
#[serde(
default = "default_enabled",