Class AguiMvcController

java.lang.Object
io.agentscope.spring.boot.agui.mvc.AguiMvcController

public class AguiMvcController extends Object
MVC controller for AG-UI protocol requests.

This controller processes AG-UI run requests and returns Server-Sent Events (SSE) streams with AG-UI protocol events using Spring MVC's SseEmitter.

Agent ID Resolution Priority:

  1. URL path variable: /agui/run/{agentId}
  2. HTTP header: configurable via agentIdHeader (default: X-Agent-Id)
  3. forwardedProps.agentId in request body
  4. config.defaultAgentId
  5. "default"

Usage:


 AguiMvcController controller = AguiMvcController.builder()
     .agentRegistry(registry)
     .config(AguiAdapterConfig.defaultConfig())
     .agentIdHeader("X-Agent-Id")
     .build();
 
  • Method Details

    • handle

      public org.springframework.web.servlet.mvc.method.annotation.SseEmitter handle(io.agentscope.core.agui.model.RunAgentInput input, String headerAgentId)
      Handle an AG-UI run request.
      Parameters:
      input - The run agent input
      headerAgentId - The agent ID from HTTP header (may be null)
      Returns:
      An SseEmitter for streaming AG-UI events
    • handleWithAgentId

      public org.springframework.web.servlet.mvc.method.annotation.SseEmitter handleWithAgentId(io.agentscope.core.agui.model.RunAgentInput input, String headerAgentId, String pathAgentId)
      Handle an AG-UI run request with agent ID in the URL path.
      Parameters:
      input - The run agent input
      headerAgentId - The agent ID from HTTP header (may be null)
      pathAgentId - The agent ID from URL path variable
      Returns:
      An SseEmitter for streaming AG-UI events
    • getAgentIdHeader

      public String getAgentIdHeader()
      Get the agent ID header name.
      Returns:
      The header name
    • builder

      public static AguiMvcController.Builder builder()
      Creates a new builder for AguiMvcController.
      Returns:
      A new builder instance