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

[Bug]: [langgraph/typescript] Trailing content on finish_reason chunks is silently dropped

Open
#2,006 0 comments 0 reactions 0 assignees View on GitHub
bug Integration
Dominant language
Python
Stars
15.9k
Forks
1.4k
Avg merge
1d 17h
Merged PRs (30d)
163

Description

## Description

The TypeScript `OnChatModelStream` handler has an early return at the top of the case:

```ts
// integrations/langgraph/typescript/src/agent.ts
if (event.data.chunk.response_metadata.finish_reason) return;
```

Some providers (e.g. OpenAI, Ollama) set `finish_reason: "stop"` on the same chunk that also carries a final content delta or tool-arg delta. The early return silently drops that payload before it can be emitted.

`OnChatModelEnd` already handles final stream flushing, so this guard provides no value.

## Reproducer

```ts
// chunk: { content: "final words", response_metadata: { finish_reason: "stop" } }
// Actual: no events emitted
// Expected: TEXT_MESSAGE_START + TEXT_MESSAGE_CONTENT
```

## Affected component

`integrations/langgraph/typescript`

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.