From bbf7d92e598eba5cf94ed60377e6bd732aa9ec67 Mon Sep 17 00:00:00 2001 From: malladi nagarjuna Date: Mon, 10 Aug 2026 03:11:56 +0530 Subject: [PATCH] feat: make AgentExecutor a functional interface with default cancel method This fixes #1009 --- .../a2aproject/sdk/server/agentexecution/AgentExecutor.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server-common/src/main/java/org/a2aproject/sdk/server/agentexecution/AgentExecutor.java b/server-common/src/main/java/org/a2aproject/sdk/server/agentexecution/AgentExecutor.java index aba33913a..a80c13879 100644 --- a/server-common/src/main/java/org/a2aproject/sdk/server/agentexecution/AgentExecutor.java +++ b/server-common/src/main/java/org/a2aproject/sdk/server/agentexecution/AgentExecutor.java @@ -97,6 +97,7 @@ * @see org.a2aproject.sdk.server.requesthandlers.DefaultRequestHandler * @see org.a2aproject.sdk.spec.AgentCard */ +@FunctionalInterface public interface AgentExecutor { /** * Executes the agent's business logic for a message. @@ -147,5 +148,7 @@ public interface AgentExecutor { * @throws org.a2aproject.sdk.spec.TaskNotCancelableError if this agent does not support cancellation * @throws A2AError if cancellation is supported but failed to execute */ - void cancel(RequestContext context, AgentEmitter emitter) throws A2AError; + default void cancel(RequestContext context, AgentEmitter emitter) throws A2AError { + throw new org.a2aproject.sdk.spec.TaskNotCancelableError("Agent execution is not cancelable."); + } }