Class AgenorAgentExecutor

java.lang.Object
dev.agenor.adapters.a2a.AgenorAgentExecutor
All Implemented Interfaces:
io.a2a.server.agentexecution.AgentExecutor

public class AgenorAgentExecutor extends Object implements io.a2a.server.agentexecution.AgentExecutor
Implements A2A SDK AgentExecutor to expose Agenor agents as A2A servers.

Routes incoming A2A requests to internal Agenor agents via MessageDispatcher. Uses the official A2A Java SDK v0.3.2.Final API.

Usage with CDI/Quarkus:


 @ApplicationScoped
 public class MyAgentExecutorProducer {
     @Inject
     MessageDispatcher messageDispatcher;

     @Produces
     public AgentExecutor createExecutor() {
         return new AgenorAgentExecutor("my-agent", messageDispatcher, Duration.ofMinutes(5));
     }
 }
 
Since:
0.5.0
  • Constructor Details

    • AgenorAgentExecutor

      public AgenorAgentExecutor(String internalAgentId, MessageDispatcher messageDispatcher, Duration timeout)
      Parameters:
      internalAgentId - the Agenor agent ID to route A2A requests to
      messageDispatcher - the runtime message dispatcher
      timeout - per-request timeout
      Since:
      0.20.0
  • Method Details

    • execute

      public void execute(io.a2a.server.agentexecution.RequestContext context, io.a2a.server.events.EventQueue eventQueue) throws io.a2a.spec.JSONRPCError
      Specified by:
      execute in interface io.a2a.server.agentexecution.AgentExecutor
      Throws:
      io.a2a.spec.JSONRPCError
    • cancel

      public void cancel(io.a2a.server.agentexecution.RequestContext context, io.a2a.server.events.EventQueue eventQueue) throws io.a2a.spec.JSONRPCError
      Specified by:
      cancel in interface io.a2a.server.agentexecution.AgentExecutor
      Throws:
      io.a2a.spec.JSONRPCError
    • getInternalAgentId

      public String getInternalAgentId()
      Returns the internal Agenor agent ID this executor routes to.