ag-ui-protocol/ag-ui

prepareRegenerateStream missing context parameter in payload

Ouverte

#900 ouverte le 6 janv. 2026

 (2 commentaires) (1 réaction) (0 personne assignée)TypeScript (1 262 forks)auto 404
Integrationbuggood first issue

Métriques du dépôt

Stars
 (14 090 étoiles)
Métriques de merge PR
 (Merge moyen 9j 15h) (97 PRs mergées en 30 j)

Description

When regenerating/editing messages, the context parameter is not included in the LangGraph run payload, causing agent context to be undefined on the backend.

File

integrations/langgraph/typescript/src/agent.ts

Root Cause

prepareStream (line 344-354) includes context:

const payload = {
  ...restProps,
  command,
  streamMode,
  input: payloadInput,
  config: payloadConfig,
  context: {
    ...context,
    ...(payloadConfig?.configurable ?? {}),
  }
};

prepareRegenerateStream (line 216-226) does NOT include context:

const payload = {
  ...(input.forwardedProps ?? {}),
  input: this.langGraphDefaultMergeState(
    timeTravelCheckpoint.values,
    [messageCheckpoint],
    input,
  ),
  checkpointId: fork.checkpoint.checkpoint_id!,
  streamMode,
};

Expected Behavior

Both methods should pass context to LangGraph so agent context is available regardless of whether it's a new message or a regeneration.

Reproduction:

  1. Use useAgentContext to provide context (e.g., model settings)
  2. Send a new message → context works ✅
  3. Edit the message and resend → context is undefined ❌

Suggested Fix: Add context to the payload in prepareRegenerateStream:

const payload = {
  ...(input.forwardedProps ?? {}),
  input: this.langGraphDefaultMergeState(
    timeTravelCheckpoint.values,
    [messageCheckpoint],
    input,
  ),
  checkpointId: fork.checkpoint.checkpoint_id!,
  streamMode,
  context: input.context,  // Add this line
};

Guide contributeur