Allow hooks on request permissions

This commit is contained in:
Abhinav Vedmala
2026-05-22 08:46:35 -07:00
parent 2bd6b9fd6b
commit 569fbc1b43
2 changed files with 8 additions and 25 deletions

View File

@@ -82,8 +82,4 @@ impl ToolExecutor<ToolInvocation> for RequestPermissionsHandler {
}
}
impl CoreToolRuntime for RequestPermissionsHandler {
fn supports_default_function_tool_hooks(&self) -> bool {
false
}
}
impl CoreToolRuntime for RequestPermissionsHandler {}

View File

@@ -242,30 +242,17 @@ async fn function_hook_input_defaults_empty_arguments_to_object() {
}
#[tokio::test]
async fn opted_out_function_tools_do_not_expose_default_hook_payloads() {
async fn code_mode_wait_does_not_expose_default_hook_payloads() {
let (session, turn) = crate::session::tests::make_session_and_context().await;
let session = Arc::new(session);
let turn = Arc::new(turn);
let output = crate::tools::context::FunctionToolOutput::from_text("ok".to_string(), Some(true));
let request_permissions = crate::tools::handlers::RequestPermissionsHandler;
let request_permissions_invocation = test_invocation(
Arc::clone(&session),
Arc::clone(&turn),
"request-permissions-call",
request_permissions.tool_name(),
);
assert_eq!(
request_permissions.pre_tool_use_payload(&request_permissions_invocation),
None
);
assert_eq!(
request_permissions.post_tool_use_payload(&request_permissions_invocation, &output),
None
);
let wait = crate::tools::handlers::CodeModeWaitHandler;
let wait_invocation = test_invocation(session, turn, "wait-call", wait.tool_name());
let wait_invocation = test_invocation(
Arc::new(session),
Arc::new(turn),
"wait-call",
wait.tool_name(),
);
assert_eq!(wait.pre_tool_use_payload(&wait_invocation), None);
assert_eq!(wait.post_tool_use_payload(&wait_invocation, &output), None);
}