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

[Feature]: @ag-ui/mastra: option to surface reasoning-delta as assistant text when the model answers through reasoning

Abierto
#2,666 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
15.9k
Forks
1.4k
Merge medio
1 d 17 h
PR fusionados (30 d)
163

Descripción

### Problem or Motivation

`createChunkProcessor` maps every `reasoning-delta` chunk to `REASONING_MESSAGE_CONTENT`. Some models stream their visible answer as `reasoning-delta` and never emit a `text-delta` for it (seen with `openai/gpt-5.6-luna` through Mastra's model router). The answer then only exists inside `REASONING_MESSAGE_*` events and the client shows no assistant message for that turn.

### Proposed Solution

An opt-in on `MastraAgentConfig`, for example `reasoningAsText: boolean | ((chunk) => boolean)`, that emits `TEXT_MESSAGE_*` for `reasoning-delta` instead of `REASONING_MESSAGE_*`. A narrower variant: promote the buffered reasoning text to assistant text only when the step finishes without any `text-delta`.

### Alternatives Considered

Handling it on the client (render the reasoning block as the answer when no text arrives) works, but pushes a provider quirk into every frontend.

### Additional Context

Environment: @ag-ui/mastra 1.1.2, @mastra/core 1.63.2, Node 24. Found while moving a CopilotKit Angular app from a custom bridge to the stock adapter (related fixes: #2661, #2662, #2663, #2664). Happy to send a PR once the direction is clear.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.