Skip to content

[Bug]: (langgraph) When resuming interrupts, langgraph ag-ui adapter should not send input and resume command to langgraph server at the same time #2173

Description

@lghinet

Describe the Bug

In langgraph typescript integration , https://github.com/ag-ui-protocol/ag-ui/blob/main/integrations/langgraph/typescript/src/agent.ts#L807

    const payload: Record<string, unknown> = {
      ...restProps,
      command: effectiveCommand,
      streamMode,
      input: payloadInput,
      config: configForPayload,
      ...(hasContext ? { context: mergedContext } : {}),
    };

when resuming interrupts langgraph ag-ui adapter should not send input and resume command to langgraph server at the same time

// POST /threads/{id}/runs/stream — what the adapter sends on resume
{
  "assistant_id": "",
  "input":   { "messages": [ /* the entire conversation, redundantly */ ] },
  "command": { "resume": { "parameters": [...], "filters": [...] } },
  "stream_mode": ["messages-tuple", "values", "custom", "updates"],
  ...
}

Semantically, input ("start a new run with this state") and command ("resume the paused run with this value") are contradictory instructions. Aegra rejects the pair with HTTP 422.

Steps to Reproduce

  1. useInterrupt in react with copilotkit,
  2. typescript copilotkit-runtime with LanggraphAgent
  3. Aegra langgraph server
  4. when resuming user get this Aegra error : "Value error, Cannot specify both 'input' and 'command' - they are mutually exclusive"}]

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions