Skip to content

Commit be4c5ff

Browse files
authored
refactor(client)!: make ClientConfig.push_notification_config singular (#955)
Send message API only contains one and only the first was used.
1 parent 39e32e9 commit be4c5ff

3 files changed

Lines changed: 9 additions & 13 deletions

File tree

src/a2a/client/base_client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,10 @@ def _apply_client_config(self, request: SendMessageRequest) -> None:
104104
request.configuration.return_immediately |= self._config.polling
105105
if (
106106
not request.configuration.HasField('task_push_notification_config')
107-
and self._config.push_notification_configs
107+
and self._config.push_notification_config
108108
):
109109
request.configuration.task_push_notification_config.CopyFrom(
110-
self._config.push_notification_configs[0]
110+
self._config.push_notification_config
111111
)
112112
if (
113113
not request.configuration.accepted_output_modes

src/a2a/client/client.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,8 @@ class ClientConfig:
7171
accepted_output_modes: list[str] = dataclasses.field(default_factory=list)
7272
"""The set of accepted output modes for the client."""
7373

74-
push_notification_configs: list[TaskPushNotificationConfig] = (
75-
dataclasses.field(default_factory=list)
76-
)
77-
"""Push notification configurations to use for every request."""
74+
push_notification_config: TaskPushNotificationConfig | None = None
75+
"""Push notification configuration to use for every request."""
7876

7977

8078
class ClientCallContext(BaseModel):

tests/e2e/push_notifications/test_default_push_notification_support.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,11 @@ async def test_notification_triggering_with_in_message_config_e2e(
109109
a2a_client = ClientFactory(
110110
ClientConfig(
111111
supported_protocol_bindings=[TransportProtocol.HTTP_JSON],
112-
push_notification_configs=[
113-
TaskPushNotificationConfig(
114-
id='in-message-config',
115-
url=f'{notifications_server}/notifications',
116-
token=token,
117-
)
118-
],
112+
push_notification_config=TaskPushNotificationConfig(
113+
id='in-message-config',
114+
url=f'{notifications_server}/notifications',
115+
token=token,
116+
),
119117
)
120118
).create(minimal_agent_card(agent_server, [TransportProtocol.HTTP_JSON]))
121119

0 commit comments

Comments
 (0)