{"record":{"id":"a176c28f54014917","repo":"BerriAI/litellm","slug":"invalid-message-send-params-e","errorCode":null,"errorMessage":"Invalid message/send params: {e}","messagePattern":"Invalid message/send params: (.+?)","errorType":"exception","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/proxy/agent_endpoints/a2a_endpoints.py","lineNumber":78,"sourceCode":"    \"GetExtendedAgentCard\": \"agent/getAuthenticatedExtendedCard\",\n}\n\n\ndef _build_message_send_params(params: dict[str, Any]) -> \"MessageSendParams\":\n    \"\"\"Build MessageSendParams from wire (0.3) or A2A 1.0 JSON-RPC params.\"\"\"\n    from a2a.compat.v0_3.types import MessageSendParams\n\n    try:\n        return MessageSendParams(**params)\n    except ValidationError:\n        from a2a.compat.v0_3.conversions import pb2_v10, to_compat_send_message_request\n        from google.protobuf.json_format import ParseDict, ParseError\n\n        pb: Final = pb2_v10.SendMessageRequest()\n        try:\n            ParseDict(params, pb, ignore_unknown_fields=True)\n        except ParseError as e:\n            raise ValueError(f\"Invalid message/send params: {e}\") from e\n        return to_compat_send_message_request(pb, \"\").params\n\n\ndef _served_version(agent: \"AgentResponse\", request: Request, original_method: str | None = None) -> A2AVersion:\n    \"\"\"Protocol version LiteLLM serves for this agent.\n\n    The agent's configured version governs. For agents that pin no version, fall back\n    to the client's signal: PascalCase JSON-RPC methods and an ``a2a-version: 1.x``\n    header both mark a 1.0 caller; otherwise default to 0.3.\n    \"\"\"\n    configured: Final = (agent.agent_card_params or {}).get(\"protocolVersion\")\n    if configured in (\"0.3\", \"1.0\"):\n        return configured\n    if original_method in _PASCAL_TO_WIRE:\n        return \"1.0\"\n    return \"1.0\" if request.headers.get(\"a2a-version\", \"\").startswith(\"1.\") else \"0.3\"\n\n","sourceCodeStart":60,"sourceCodeEnd":96,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/proxy/agent_endpoints/a2a_endpoints.py#L60-L96","documentation":"Building MessageSendParams failed wire-format validation; the compat conversion path (0.3 protobuf, then A2A 1.0) also failed, so the JSON-RPC params are malformed and the request is refused with the underlying validation error.","triggerScenarios":"Thrown at litellm/proxy/agent_endpoints/a2a_endpoints.py:78 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix message/send params to match the A2A schema; see the error detail."],"exampleFix":"Validate params against the A2A message schema.","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}