#227

fix(ui): skip incomplete tool calls during replay

OpenEfeDurmaz16wants to merge intofrom

What

  • Ignore persisted input-streaming tool parts when rebuilding internal message history.
  • Cover static, dynamic, and legacy tool part shapes.

Why

If a request disconnects while tool arguments are still streaming, the frontend can submit that partial UI state on the next request. The inbound adapter currently converts the partial part into a ToolCallPart, so the agent treats it as a replayable trailing tool call and can execute it before the input is complete.

How

Skip only the input-streaming state before creating internal tool calls. Complete input, approval, result, and error states keep their existing behavior.

Verification

  • uv run --frozen pytest -q: 594 passed
  • Ruff format and lint passed
  • mypy passed
  • ty passed

Suggested release label: fix.

Activity

2
vercel[bot]3mo ago

@EfeDurmaz16 is attempting to deploy a commit to the Vercel Labs Team on Vercel.

A member of the Team first needs to authorize it.