google / google/adk-python

RemoteA2aAgent resets A2AClientFactory

Abierto
#3,158 2 comentarios 0 reacciones 1 asignado Asignado a @seanzhou1023 Ver en GitHub
a2a needs review
Lenguaje dominante
Python
Estrellas
21.5k
Forks
4k
Merge medio
1 d 14 h
PR fusionados (30 d)
37

Descripción

`class RemoteA2aAgent(BaseAgent):` takes in an `a2a_client_factory: Optional[A2AClientFactory] = None` but within:
```
async def _ensure_httpx_client(self) -> httpx.AsyncClient:
```
it overwrites it:
```python
self._a2a_client_factory = A2AClientFactory(
config=dataclasses.replace(
self._a2a_client_factory._config,
httpx_client=self._httpx_client,
)
)
```
which means I can't sub-class it. This is an issue because I need to override the `create` of `A2AClientFactory`.

**Describe the solution you'd like**
Allow the user to provide an `A2AClientFactory` that will be called to create the `A2AClient`.

**Describe alternatives you've considered**
For now I've resolved to monkey patching, which is far from ideal.

**Additional context**
This is needed in the context of the A2A <> x402 implementation, to get `RemoteA2aAgent` working with the `x402` spec over `A2A`.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.