fix(sandbox): writable roots Codex dérivées des permissions effectives du menu agent — #197 (QA verte)
This commit is contained in:
@ -14,6 +14,7 @@ use domain::{
|
||||
ProfileId, ProfileStore, Project, SessionId,
|
||||
};
|
||||
|
||||
use crate::codex_permissions::compile_codex_launch_policy;
|
||||
use crate::terminal::StructuredSessions;
|
||||
use crate::AppError;
|
||||
|
||||
@ -229,11 +230,14 @@ impl OpenTicketAssistant {
|
||||
return Ok(environment.structured_policy.clone());
|
||||
}
|
||||
let network = self.resolve_project_default_network(project).await?;
|
||||
Ok(Some(StructuredProviderLaunchPolicy::Codex {
|
||||
sandbox_mode: "workspace-write".to_owned(),
|
||||
writable_roots: vec![project.root.as_str().to_owned()],
|
||||
network_access: codex_network_access(network),
|
||||
}))
|
||||
let permissions = self.resolve_project_default_permissions(project).await?;
|
||||
Ok(Some(compile_codex_launch_policy(
|
||||
project.root.as_str(),
|
||||
environment.cwd.as_str(),
|
||||
permissions.as_ref(),
|
||||
network,
|
||||
&[],
|
||||
)))
|
||||
}
|
||||
|
||||
async fn resolve_project_default_network(
|
||||
@ -262,10 +266,6 @@ impl OpenTicketAssistant {
|
||||
}
|
||||
}
|
||||
|
||||
fn codex_network_access(network: Option<NetworkPolicy>) -> bool {
|
||||
matches!(network, Some(NetworkPolicy::Allow))
|
||||
}
|
||||
|
||||
fn ticket_assistant_requester(project: &Project, issue_ref: IssueRef) -> String {
|
||||
format!(
|
||||
"ticket-assistant:{}:{}",
|
||||
|
||||
Reference in New Issue
Block a user