a2a

package
v0.0.0-...-a766d22 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 18, 2026 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtractText

func ExtractText(message *a2atype.Message) string

ExtractText extracts the text content from a message.

func NewA2AHttpMux

func NewA2AHttpMux(agentPathPrefix, sandboxPathPrefix string, authenticator auth.AuthProvider) *handlerMux

func NewStaticHeadersInterceptor

func NewStaticHeadersInterceptor(headers map[string]string) a2aclient.CallInterceptor

func NewUpstreamAuthInterceptor

func NewUpstreamAuthInterceptor(authProvider auth.AuthProvider, agentRef types.NamespacedName) a2aclient.CallInterceptor

Types

type A2AHandlerMux

type A2AHandlerMux interface {
	SetAgentHandler(
		agentRef string,
		client *a2aclient.Client,
		card a2atype.AgentCard,
		tracing middleware,
	) error
	RemoveAgentHandler(
		agentRef string,
	)
	http.Handler
}

A2AHandlerMux is an interface that defines methods for adding, getting, and removing agentic task handlers.

type A2ARegistrar

type A2ARegistrar struct {
	// contains filtered or unexported fields
}

func NewA2ARegistrar

func NewA2ARegistrar(
	cache crcache.Cache,
	mux A2AHandlerMux,
	clientRegistry *AgentClientRegistry,
	a2aBaseUrl string,
	sandboxA2ABaseURL string,
	ateneRouterURL string,
	authenticator auth.AuthProvider,
	agentObserver AgentObserver,
	substrateSandboxActorBackend *substrate.SandboxAgentActorBackend,
) (*A2ARegistrar, error)

func (*A2ARegistrar) NeedLeaderElection

func (a *A2ARegistrar) NeedLeaderElection() bool

func (*A2ARegistrar) Start

func (a *A2ARegistrar) Start(ctx context.Context) error

type AgentClientRegistry

type AgentClientRegistry struct {
	// contains filtered or unexported fields
}

AgentClientRegistry maps agent route keys to their A2A clients. The A2ARegistrar populates it; the MCP handler reads from it to invoke agents without an HTTP round trip through the controller's own A2A listener.

func NewAgentClientRegistry

func NewAgentClientRegistry() *AgentClientRegistry

func (*AgentClientRegistry) Register

func (r *AgentClientRegistry) Register(namespace, name string, c *a2aclient.Client)

Register adds or replaces the A2A client for the given agent.

func (*AgentClientRegistry) SendMessage

func (r *AgentClientRegistry) SendMessage(ctx context.Context, namespace, name string, req *a2atype.SendMessageRequest) (a2atype.SendMessageResult, error)

SendMessage invokes an agent directly via its cached A2A client.

type AgentObserver

type AgentObserver interface {
	NotifyAgentsChanged(ctx context.Context)
}

type PassthroughRequestHandler

type PassthroughRequestHandler struct {
	// contains filtered or unexported fields
}

func NewPassthroughRequestHandler

func NewPassthroughRequestHandler(client *a2aclient.Client, card *a2atype.AgentCard) *PassthroughRequestHandler

NewPassthroughRequestHandler returns a transport-level proxy for controller A2A endpoints. It delegates each request directly to the selected upstream agent client and intentionally bypasses a2asrv.NewHandler, which would create local task state and apply v1 task-processing invariants to legacy streams.

func (*PassthroughRequestHandler) CancelTask

func (*PassthroughRequestHandler) CreateTaskPushConfig

func (h *PassthroughRequestHandler) CreateTaskPushConfig(ctx context.Context, req *a2atype.PushConfig) (*a2atype.PushConfig, error)

func (*PassthroughRequestHandler) DeleteTaskPushConfig

func (*PassthroughRequestHandler) GetExtendedAgentCard

func (*PassthroughRequestHandler) GetTask

func (*PassthroughRequestHandler) GetTaskPushConfig

func (*PassthroughRequestHandler) ListTaskPushConfigs

func (*PassthroughRequestHandler) ListTasks

func (*PassthroughRequestHandler) SendMessage

func (*PassthroughRequestHandler) SendStreamingMessage

func (*PassthroughRequestHandler) SubscribeToTask

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL