Core Types
The Agent User Interaction Protocol SDK is built on a set of core types that represent the fundamental structures used throughout the system. This page documents these types and their properties.RunAgentInput
Input parameters for running an agent. In the HTTP API, this is the body of thePOST request.
tools contains tools provided by the client for this run. Backend-defined
tools should remain in the backend agent or framework configuration, and may be
advertised separately through agent capabilities.
Message Types
The SDK includes several message types that represent different kinds of messages in the system.Role
Represents the possible roles a message sender can have.DeveloperMessage
Represents a message from a developer.SystemMessage
Represents a system message.AssistantMessage
Represents a message from an assistant.UserMessage
Represents a message from a user.InputContent
Union of supported multimodal fragments.InputContentSource
TextInputContent
ImageInputContent
AudioInputContent
VideoInputContent
DocumentInputContent
ToolMessage
Represents a message from a tool.ActivityMessage
Represents structured activity progress emitted between chat messages.ReasoningMessage
Represents a reasoning/thinking message from an agent’s internal thought process.Message
A union type representing any type of message in the system.ToolCall
Represents a tool call made by an agent.FunctionCall
Represents function name and arguments in a tool call.Context
Represents a piece of contextual information provided to an agent.Tool
Defines a tool that can be called by an agent.State
Represents the state of an agent during execution.AgentCapabilities
Typed capability declaration returned bygetCapabilities(). All fields are
optional — agents only declare what they support.
See Capabilities for the full category type
definitions and usage patterns.