fix: set permissions for quickscript (#2691)

This commit is contained in:
Michael Neale
2025-05-28 15:08:46 +10:00
committed by GitHub
parent 4947591ac8
commit 153b84263e

View File

@@ -8,6 +8,9 @@ use std::{
};
use tokio::process::Command;
#[cfg(unix)]
use std::os::unix::fs::PermissionsExt;
use mcp_core::{
handler::{PromptError, ResourceError, ToolError},
prompt::Prompt,
@@ -743,6 +746,23 @@ impl ComputerControllerRouter {
ToolError::ExecutionError(format!("Failed to write script: {}", e))
})?;
// Set execute permissions on Unix systems
#[cfg(unix)]
{
let mut perms = fs::metadata(&script_path)
.map_err(|e| {
ToolError::ExecutionError(format!("Failed to get file metadata: {}", e))
})?
.permissions();
perms.set_mode(0o755); // rwxr-xr-x
fs::set_permissions(&script_path, perms).map_err(|e| {
ToolError::ExecutionError(format!(
"Failed to set execute permissions: {}",
e
))
})?;
}
script_path.display().to_string()
}
"ruby" => {