From bbf7d92e598eba5cf94ed60377e6bd732aa9ec67 Mon Sep 17 00:00:00 2001 From: malladi nagarjuna Date: Mon, 10 Aug 2026 03:11:56 +0530 Subject: [PATCH 1/2] 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."); + } } From d21e728d54a4d5618239340e41ef397e2fbc1053 Mon Sep 17 00:00:00 2001 From: malladi nagarjuna Date: Fri, 14 Aug 2026 02:12:59 +0530 Subject: [PATCH 2/2] fix: use an import for TaskNotCancelableError instead of a FQN Also drop the unused EventQueue import in the same file. --- .../sdk/server/agentexecution/AgentExecutor.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 a80c13879..5e8e2c813 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 @@ -1,8 +1,8 @@ package org.a2aproject.sdk.server.agentexecution; -import org.a2aproject.sdk.server.events.EventQueue; import org.a2aproject.sdk.server.tasks.AgentEmitter; import org.a2aproject.sdk.spec.A2AError; +import org.a2aproject.sdk.spec.TaskNotCancelableError; /** * Core business logic interface for implementing A2A agent functionality. @@ -136,7 +136,7 @@ public interface AgentExecutor { *

* Error Handling: *