Overview
Server-side utilities for building agents and streaming events to clients.
Packages
com.agui.server— local agents and event helpersLocalAgent— implement server-side agents that emit eventsEventFactory— convenience methods to create eventsstreamer.AgentStreamer— bridge agents toEventStream
com.agui.server.spring— Spring Boot integrationAgUiService— run agents and streamSseEmitterAgUiParameters— HTTP payload mapped toRunAgentParameters- Auto-configuration for easy wiring
LocalAgent
Extend LocalAgent and implement run(RunAgentInput, AgentSubscriber) to emit events. Use emitEvent(event, subscriber) to dispatch to the correct subscriber method.
public class EchoAgent extends LocalAgent {
public EchoAgent() { super("echo", new State(), null, "You are echo."); }
@Override
protected void run(RunAgentInput input, AgentSubscriber sub) {
var runId = input.getRunId();
emitEvent(EventFactory.runStartedEvent(input.getThreadId(), runId), sub);
var messageId = UUID.randomUUID().toString();
emitEvent(EventFactory.textMessageStartEvent(messageId, "assistant"), sub);
emitEvent(EventFactory.textMessageContentEvent(messageId, "Hello"), sub);
emitEvent(EventFactory.textMessageEndEvent(messageId), sub);
emitEvent(EventFactory.runFinishedEvent(input.getThreadId(), runId), sub);
}
}