mirror of
https://github.com/openai/codex.git
synced 2026-10-25 18:28:38 +00:00
permissions: expose reviewer override grant API
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
use super::shared::ApprovalsReviewer;
|
||||
use super::shared::v2_enum_from_core;
|
||||
use codex_protocol::approvals::ExecPolicyAmendment as CoreExecPolicyAmendment;
|
||||
use codex_protocol::approvals::NetworkApprovalContext as CoreNetworkApprovalContext;
|
||||
@@ -693,4 +694,8 @@ pub struct PermissionsRequestApprovalResponse {
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional)]
|
||||
pub strict_auto_review: Option<bool>,
|
||||
/// Override who reviews later approval prompts for the rest of the current turn.
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional)]
|
||||
pub approvals_reviewer: Option<ApprovalsReviewer>,
|
||||
}
|
||||
|
||||
@@ -708,6 +708,7 @@ fn permissions_request_approval_response_defaults_scope_to_turn() {
|
||||
|
||||
assert_eq!(response.scope, PermissionGrantScope::Turn);
|
||||
assert_eq!(response.strict_auto_review, None);
|
||||
assert_eq!(response.approvals_reviewer, None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@@ -721,6 +722,20 @@ fn permissions_request_approval_response_accepts_strict_auto_review() {
|
||||
assert_eq!(response.strict_auto_review, Some(true));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn permissions_request_approval_response_accepts_approvals_reviewer() {
|
||||
let response = serde_json::from_value::<PermissionsRequestApprovalResponse>(json!({
|
||||
"permissions": {},
|
||||
"approvalsReviewer": "auto_review",
|
||||
}))
|
||||
.expect("response should deserialize");
|
||||
|
||||
assert_eq!(
|
||||
response.approvals_reviewer,
|
||||
Some(ApprovalsReviewer::AutoReview)
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn permission_profile_selection_uses_id_string() {
|
||||
let start: ThreadStartParams = serde_json::from_value(json!({
|
||||
|
||||
Reference in New Issue
Block a user