diff --git a/src/a2a/client/base_client.py b/src/a2a/client/base_client.py index 53fd38cdb..763f23fb5 100644 --- a/src/a2a/client/base_client.py +++ b/src/a2a/client/base_client.py @@ -104,10 +104,10 @@ def _apply_client_config(self, request: SendMessageRequest) -> None: request.configuration.return_immediately |= self._config.polling if ( not request.configuration.HasField('task_push_notification_config') - and self._config.push_notification_configs + and self._config.push_notification_config ): request.configuration.task_push_notification_config.CopyFrom( - self._config.push_notification_configs[0] + self._config.push_notification_config ) if ( not request.configuration.accepted_output_modes diff --git a/src/a2a/client/client.py b/src/a2a/client/client.py index 1f94a4426..3fbf4f287 100644 --- a/src/a2a/client/client.py +++ b/src/a2a/client/client.py @@ -71,10 +71,8 @@ class ClientConfig: accepted_output_modes: list[str] = dataclasses.field(default_factory=list) """The set of accepted output modes for the client.""" - push_notification_configs: list[TaskPushNotificationConfig] = ( - dataclasses.field(default_factory=list) - ) - """Push notification configurations to use for every request.""" + push_notification_config: TaskPushNotificationConfig | None = None + """Push notification configuration to use for every request.""" class ClientCallContext(BaseModel): diff --git a/tests/e2e/push_notifications/test_default_push_notification_support.py b/tests/e2e/push_notifications/test_default_push_notification_support.py index 3d8d92481..35e4bbeb4 100644 --- a/tests/e2e/push_notifications/test_default_push_notification_support.py +++ b/tests/e2e/push_notifications/test_default_push_notification_support.py @@ -109,13 +109,11 @@ async def test_notification_triggering_with_in_message_config_e2e( a2a_client = ClientFactory( ClientConfig( supported_protocol_bindings=[TransportProtocol.HTTP_JSON], - push_notification_configs=[ - TaskPushNotificationConfig( - id='in-message-config', - url=f'{notifications_server}/notifications', - token=token, - ) - ], + push_notification_config=TaskPushNotificationConfig( + id='in-message-config', + url=f'{notifications_server}/notifications', + token=token, + ), ) ).create(minimal_agent_card(agent_server, [TransportProtocol.HTTP_JSON]))