ag-ui-protocol / ag-ui-protocol/ag-ui

Clarification: should messages in RunAgentInput contain full history or can it be a delta?

Open
#2,230 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
15.9k
Forks
1.4k
Avg merge
1d 17h
Merged PRs (30d)
163

Description

We're building an AG-UI backend where the **server owns message history** (stored in a database). On each request, the server loads the full conversation from DB and appends any new messages from the client.

Our frontend sends only the **delta** in `RunAgentInput.messages` — e.g. just the new user message, or just `ToolMessage`s (results from frontend-executed tool calls).

**Question:** Does the AG-UI protocol require `messages` to always contain the complete conversation history? Or is a delta-only approach valid when the server manages persistence?

We ask because some AG-UI adapter implementations (e.g. PydanticAI) merge `messages` with a server-side history parameter, which implies delta is supported. But other behavior (like requiring a `ToolMessage` to have a preceding `AssistantMessage` with matching `tool_calls` in the same list) only works with full history.

Related: #1386, #1160

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.