Class A2AService
java.lang.Object
com.mulesoft.modules.agent.broker.internal.tool.a2a.A2AService
- All Implemented Interfaces:
org.mule.runtime.api.lifecycle.Initialisable
Service responsible for managing A2A tools in the Agent Broker. This service discovers agent capabilities and creates tool
handlers for A2A tools.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from interface org.mule.runtime.api.lifecycle.Initialisable
PHASE_NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionasJsonResult(io.a2a.spec.Task task) authRequiredJsonResult(Conversation conversation, TaskContext taskContext, AuthRequiredResponse authRequiredResponse) Builds an auth-required JSON response following A2A spec.completedJsonResult(Conversation conversation, TaskContext taskContext, String output) getTools(List<A2AClient> a2aClients, org.mule.runtime.extension.api.client.ExtensionsClient extensionsClient) Retrieves A2A servers and creates tools for each A2A server provided.voidinputRequiredJsonResult(Conversation conversation, TaskContext taskContext, List<io.a2a.spec.Part<?>> messageParts, List<io.a2a.spec.Artifact> artifacts) <T> Tunmarshall(InputStream json, Class<T> type)
-
Constructor Details
-
A2AService
public A2AService()
-
-
Method Details
-
initialise
public void initialise() throws org.mule.runtime.api.lifecycle.InitialisationException- Specified by:
initialisein interfaceorg.mule.runtime.api.lifecycle.Initialisable- Throws:
org.mule.runtime.api.lifecycle.InitialisationException
-
getTools
public CompletableFuture<Map<String,Tool>> getTools(List<A2AClient> a2aClients, org.mule.runtime.extension.api.client.ExtensionsClient extensionsClient) Retrieves A2A servers and creates tools for each A2A server provided.- Parameters:
a2aClients- List of A2A client configurationsextensionsClient- The ExtensionClient to hit the A2A connector- Returns:
- CompletableFuture containing a map of tool handlers
-
completedJsonResult
public org.mule.runtime.extension.api.runtime.operation.Result<String,Void> completedJsonResult(Conversation conversation, TaskContext taskContext, String output) -
inputRequiredJsonResult
public org.mule.runtime.extension.api.runtime.operation.Result<String,Void> inputRequiredJsonResult(Conversation conversation, TaskContext taskContext, List<io.a2a.spec.Part<?>> messageParts, List<io.a2a.spec.Artifact> artifacts) -
authRequiredJsonResult
public org.mule.runtime.extension.api.runtime.operation.Result<String,Void> authRequiredJsonResult(Conversation conversation, TaskContext taskContext, AuthRequiredResponse authRequiredResponse) Builds an auth-required JSON response following A2A spec. The auth challenge info is placed in a DataPart within the message parts, which is the A2A compliant way to communicate authentication requirements.- Parameters:
conversation- the current conversationtaskContext- the current task contextauthRequiredResponse- the authorization response
-
asJsonResult
-
unmarshall
-