Skip to content

AgentEngineConfig.agent_framework Literal rejects "a2a" — out of sync with _SUPPORTED_AGENT_FRAMEWORKS and the GA A2A template #7097

Description

@vincentventalon

Environment

  • google-cloud-aiplatform 1.159.0 → 1.165.1 (still present on main)
  • GenAI client path: vertexai.Client().agent_engines

Bug

A2A on Agent Engine is a supported framework: _SUPPORTED_AGENT_FRAMEWORKS includes "a2a", the A2aAgent template sets agent_framework = "a2a" (since 1.147.0), the A2A framework template is GA (CHANGELOG 1.150.0), and the backend API accepts spec.agent_framework = "a2a".

But the config type was never updated to match:

# vertexai/_genai/types/common.py
agent_framework: Optional[
    Literal["google-adk", "langchain", "langgraph", "ag2", "llama-index", "custom"]
]

"a2a" is missing from the Literal (in AgentEngineConfig, its Dict twin, and the update-config variants), so passing it raises a Pydantic validation error, while the same package accepts it internally:

# vertexai/_genai/_agent_engines_utils.py (~line 167)
_SUPPORTED_AGENT_FRAMEWORKS = frozenset(
    ["google-adk", "langchain", "langgraph", "ag2", "llama-index", "custom", "a2a"]
)

Steps to reproduce

import vertexai
client = vertexai.Client(project="...", location="us-central1")
client.agent_engines.create(
    agent=my_agent,
    config={"staging_bucket": "gs://...", "agent_framework": "a2a"},
)
# pydantic ValidationError: Input should be 'google-adk', 'langchain',
# 'langgraph', 'ag2', 'llama-index' or 'custom'

Expected behavior

agent_framework="a2a" accepted in the config, consistent with _SUPPORTED_AGENT_FRAMEWORKS, the A2aAgent template, and the backend API.

Workaround

Set the fields on the agent object instead of the config: use the A2aAgent template, or set my_agent.agent_framework = "a2a" before create()_get_agent_framework(agent) reads the attribute and bypasses the config Literal.

Related

#6267 (classic ReasoningEngine.create path missing agent_framework support) — this issue is about the GenAI client config type being out of sync.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    api: vertex-aiIssues related to the googleapis/python-aiplatform API.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions