sandboxing: intersect permission profiles semantically

This commit is contained in:
Michael Bolin
2026-04-21 09:18:39 -07:00
parent 53cf12cd52
commit 87b4c7d788
16 changed files with 686 additions and 63 deletions
@@ -1,6 +1,7 @@
use crate::models::FileSystemPermissions;
use crate::models::NetworkPermissions;
use crate::models::PermissionProfile;
use codex_utils_absolute_path::AbsolutePathBuf;
use schemars::JsonSchema;
use serde::Deserialize;
use serde::Serialize;
@@ -70,4 +71,7 @@ pub struct RequestPermissionsEvent {
#[serde(skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
pub permissions: RequestPermissionProfile,
#[serde(default, skip_serializing_if = "Option::is_none")]
#[ts(optional)]
pub cwd: Option<AbsolutePathBuf>,
}