4 views
-/https://github.com/berriai/litellm/issues/28577
GitHub · issue

#28577 [Bug]: OpenAI→A2A bridge breaks for spec-compliant A2A agents (fasta2a / Pydantic AI)

  • State: open
  • Author: @symbt5
  • Labels: bug, llm translation

### Check for existing issues

- [x] I have searched the existing issues and checked that my issue is not a duplicate.

### What happened?

# OpenAI→A2A bridge breaks for spec-compliant A2A agents (fasta2a / Pydantic AI)

**Affected version**: `litellm-database:main-stable` (sha as of 2026-05-22, latest release at the time of testing) **Component**: `litellm/llms/a2a/` — OpenAI-compatible proxy for A2A Agent Gateway agents **Severity**: High — makes the OpenAI-compat path unusable for any A2A agent that - emits structured outputs (Pydantic AI `output_type=...`), and/or - validates incoming requests strictly against the A2A spec (fasta2a does).

## TL;DR

Calling `POST /v1/chat/completions` with `model="a2a/<name>"` (where `<name>` is a registered A2A agent backed by a fasta2a server, e.g. Pydantic AI's `agent.to_a2a()`) fails in four independent ways:

1. **`message.kind` missing** → agent rejects with 422 / LiteLLM bubbles up 500. 2. **`kind: "data"` parts dropped** → 200 OK but `message.content == ""`. 3. **No polling of async A2A tasks** → response carries `state="submitted"`, never `"completed"`, so artifacts are never fetched. 4. **`stream=true` maps to `message/stream` whi…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (1 events)
#0 of 0 · 31d17h43m46s ago — entered · #import:https:::github.com:berriai:litellm post #3241
28577 requires coordinated protocol translation, async task lifecycle handling, streaming behavior, structured-content preservation, and broad compatibility testing across integrations; 33159 is comparatively localized permission/UI read-access work with limited regression scope.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search