fix(core) default RejectConfig.request_permissions (#14165)

## Summary
Adds a default here so existing config deserializes

## Testing
- [x] Added a unit test
This commit is contained in:
Dylan Hurd
2026-03-09 21:56:23 -07:00
committed by GitHub
parent d71e042694
commit 772259b01f
16 changed files with 59 additions and 15 deletions

View File

@@ -201,6 +201,7 @@ pub enum AskForApproval {
Reject {
sandbox_approval: bool,
rules: bool,
#[serde(default)]
request_permissions: bool,
mcp_elicitations: bool,
},
@@ -5978,6 +5979,28 @@ mod tests {
assert_eq!(back_to_v2, v2_policy);
}
#[test]
fn ask_for_approval_reject_defaults_missing_request_permissions_to_false() {
let decoded = serde_json::from_value::<AskForApproval>(serde_json::json!({
"reject": {
"sandbox_approval": true,
"rules": false,
"mcp_elicitations": true,
}
}))
.expect("legacy reject approval policy should deserialize");
assert_eq!(
decoded,
AskForApproval::Reject {
sandbox_approval: true,
rules: false,
request_permissions: false,
mcp_elicitations: true,
}
);
}
#[test]
fn mcp_server_elicitation_response_round_trips_rmcp_result() {
let rmcp_result = rmcp::model::CreateElicitationResult {