feat: allow user to turn off smart approve (#1407)
This commit is contained in:
@@ -11,6 +11,7 @@ use super::Agent;
|
||||
use crate::agents::capabilities::Capabilities;
|
||||
use crate::agents::extension::{ExtensionConfig, ExtensionResult};
|
||||
use crate::config::Config;
|
||||
use crate::config::ExperimentManager;
|
||||
use crate::message::{Message, ToolRequest};
|
||||
use crate::providers::base::Provider;
|
||||
use crate::providers::base::ProviderUsage;
|
||||
@@ -244,8 +245,11 @@ impl Agent for TruncateAgent {
|
||||
let mode = goose_mode.clone();
|
||||
match mode.as_str() {
|
||||
"approve" => {
|
||||
let mut read_only_tools = Vec::new();
|
||||
// Process each tool request sequentially with confirmation
|
||||
let read_only_tools = detect_read_only_tools(&capabilities, tool_requests.clone()).await;
|
||||
if ExperimentManager::is_enabled("GOOSE_SMART_APPROVE")? {
|
||||
read_only_tools = detect_read_only_tools(&capabilities, tool_requests.clone()).await;
|
||||
}
|
||||
for request in &tool_requests {
|
||||
if let Ok(tool_call) = request.tool_call.clone() {
|
||||
// Skip confirmation if the tool_call.name is in the read_only_tools list
|
||||
|
||||
Reference in New Issue
Block a user