-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Open
Labels
a2a[Component] This issue is related a2a support inside ADK.[Component] This issue is related a2a support inside ADK.needs review[Status] The PR/issue is awaiting review from the maintainer[Status] The PR/issue is awaiting review from the maintainer
Description
Describe the bug
Agents created via to_a2a() did not support A2A push notification configuration methods, despite these being part of the A2A protocol specification.
The to_a2a() function created a DefaultRequestHandler without providing a push_config_store parameter, causing all push notification RPC methods to raise UnsupportedOperationError:
SetTaskPushNotificationConfig: Could not set push notification configs for tasks
GetTaskPushNotificationConfig: Could not retrieve push notification configs
ListTaskPushNotificationConfig: Could not list push notification configs for tasks
DeleteTaskPushNotificationConfig: Could not delete push notification configs
Root Cause
The a2a-sdk's DefaultRequestHandler requires a PushNotificationConfigStore instance to enable push notification methods. Without this store, all push notification operations fail with UnsupportedOperationError.
Impact:
Users could not configure task-specific push notification settings.
Expected Behavior:
InMemoryPushNotificationConfigStore: Created automatically for each agent
Custom stores: Can be provided via push_config_store parameter
Full API support: Set, get, list, and delete push notification configs
Per-task configuration: Each task can have its own push notification settings
something like this:
from google.adk.a2a.utils.agent_to_a2a import to_a2a
from a2a.server.tasks import PushNotificationConfigStore
# Default (in-memory push notification config)
app = to_a2a(agent)
# Or with custom push config store
class MyPushStore(PushNotificationConfigStore):
# ... implement abstract methods ...
app = to_a2a(agent, push_config_store=MyPushStore())
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
a2a[Component] This issue is related a2a support inside ADK.[Component] This issue is related a2a support inside ADK.needs review[Status] The PR/issue is awaiting review from the maintainer[Status] The PR/issue is awaiting review from the maintainer