Rewrite extension management tools (#5057)
Signed-off-by: Angela Ning <aning@squareup.com>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use crate::agents::platform_tools::PLATFORM_MANAGE_EXTENSIONS_TOOL_NAME;
|
||||
use crate::agents::extension_manager_extension::MANAGE_EXTENSIONS_TOOL_NAME_COMPLETE;
|
||||
use crate::config::permission::PermissionLevel;
|
||||
use crate::config::PermissionManager;
|
||||
use crate::conversation::message::{Message, ToolRequest};
|
||||
@@ -164,7 +164,7 @@ impl ToolInspector for PermissionInspector {
|
||||
InspectionAction::Allow
|
||||
}
|
||||
// 4. Special case for extension management
|
||||
else if tool_name == PLATFORM_MANAGE_EXTENSIONS_TOOL_NAME {
|
||||
else if tool_name == MANAGE_EXTENSIONS_TOOL_NAME_COMPLETE {
|
||||
InspectionAction::RequireApproval(Some(
|
||||
"Extension management requires approval for security".to_string(),
|
||||
))
|
||||
@@ -189,7 +189,7 @@ impl ToolInspector for PermissionInspector {
|
||||
}
|
||||
InspectionAction::Deny => "User permission denies this tool".to_string(),
|
||||
InspectionAction::RequireApproval(_) => {
|
||||
if tool_name == PLATFORM_MANAGE_EXTENSIONS_TOOL_NAME {
|
||||
if tool_name == MANAGE_EXTENSIONS_TOOL_NAME_COMPLETE {
|
||||
"Extension management requires user approval".to_string()
|
||||
} else {
|
||||
"Tool requires user approval".to_string()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use crate::agents::platform_tools::PLATFORM_MANAGE_EXTENSIONS_TOOL_NAME;
|
||||
use crate::agents::extension_manager_extension::MANAGE_EXTENSIONS_TOOL_NAME_COMPLETE;
|
||||
use crate::config::permission::PermissionLevel;
|
||||
use crate::config::PermissionManager;
|
||||
use crate::conversation::message::{Message, MessageContent, ToolRequest};
|
||||
@@ -188,7 +188,7 @@ pub async fn check_tool_permissions(
|
||||
} else if mode == "auto" {
|
||||
approved.push(request.clone());
|
||||
} else {
|
||||
if tool_call.name == PLATFORM_MANAGE_EXTENSIONS_TOOL_NAME {
|
||||
if tool_call.name == MANAGE_EXTENSIONS_TOOL_NAME_COMPLETE {
|
||||
extension_request_ids.push(request.id.clone());
|
||||
}
|
||||
|
||||
@@ -442,7 +442,7 @@ mod tests {
|
||||
let enable_extension = ToolRequest {
|
||||
id: "tool_3".to_string(),
|
||||
tool_call: Ok(CallToolRequestParam {
|
||||
name: PLATFORM_MANAGE_EXTENSIONS_TOOL_NAME.into(),
|
||||
name: MANAGE_EXTENSIONS_TOOL_NAME_COMPLETE.into(),
|
||||
arguments: Some(object!({"action": "enable", "extension_name": "data_fetcher"})),
|
||||
}),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user