Skip to main content

AGUI.Abstractions

AGUI.Abstractions is the protocol-types package for the AG-UI .NET SDK. It defines the shared event, message, tool, context, capability, interrupt, and serialization types used by AG-UI clients and servers.
The package has no opinion about HTTP, ASP.NET Core, or a specific agent runtime. It is the .NET sibling of @ag-ui/core: stable wire types for the event stream and request payload.
AGUI.Abstractions targets net10.0, net9.0, net8.0, netstandard2.0, and net472. It is AOT-compatible: serializable protocol types are registered in the source-generated AGUIJsonSerializerContext.

SDK packages

The .NET SDK is split into small packages so protocol types, wire formats, client code, and server code can be adopted independently.

Wire formats and parity

JSON over Server-Sent Events is the full-fidelity event stream. AGUI.Formatting defines the event-stream formatter contract and SSE support. AGUI.Protobuf adds binary event-stream formatting for the protocol subset supported by the shared proto schema. Protocol parity starts in AGUI.Abstractions. When the TypeScript reference SDK adds or changes a wire type, the matching .NET event, message, tool, or capability type should update alongside AGUIJsonSerializerContext and the compatibility fixtures. Public API tracking files should update whenever a protocol change adds or changes .NET types.

Types

Core data structures that represent the building blocks of the protocol:

Types Reference

Complete documentation of the protocol types in AGUI.Abstractions

Multimodal Inputs

User message content parts for text, image, audio, video, document, and binary input

Events

Events power communication between agents and frontends:

Events Reference

Complete documentation of all event types in AGUI.Abstractions