Skip to content

AgentPrismA2AExtensions

Namespace AgentPrism · Assembly AgentPrism.AspNetCore.dll

Extensions that connect the HTTP endpoint that publishes AgentPrism agents over A2A.

public static class AgentPrismA2AExtensions

objectAgentPrismA2AExtensions

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Default path prefix.

public const string DefaultPattern = "/agentprism/a2a"

string

MapAgentPrismA2A(IEndpointRouteBuilder, string)

Section titled “ MapAgentPrismA2A(IEndpointRouteBuilder, string)”

Publishes the agents registered via UseA2A over A2A.

public static IEndpointConventionBuilder MapAgentPrismA2A(this IEndpointRouteBuilder endpoints, string pattern = "/agentprism/a2a")

endpoints IEndpointRouteBuilder

The application’s routing builder.

pattern string

Path prefix. Default is /agentprism/a2a.

IEndpointConventionBuilder

The endpoint’s convention builder.

Each exposed agent is mapped to its own sub-path: {pattern}/{agent}. The A2A protocol models a single server as a single agent identity; multiple agents cannot share the SAME .well-known/agent-card.json path. Each agent’s card is published at its own sub-path ({pattern}/{agent}/.well-known/agent-card.json).

Applies the SAME three-layer protection as MapAgentPrism — settings are inherited from there.

If an exposed agent carries a tool that requires approval the application STILL fails — but not synchronously from this method, rather through AgentPrism.A2AApprovalGuardFilter: the check waits in the background until the SQL schema is ready (so this method itself does not crash with “no such table” against an empty database, the same pattern), completes by the first request, and no request can get ahead of it.

app.MapAgentPrism();
app.MapAgentPrismA2A();

ArgumentNullException

endpoints is null.

ArgumentException

pattern is empty.

InvalidOperationException

UseA2A or MapAgentPrism has not been called first, or this is called while remote access is enabled.