a2aproject / a2aproject/a2a-python

Create push notification config returns no id on database-backed stores

Open
#1,237 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
2.1k
Forks
496
Avg merge
4d 17h
Merged PRs (30d)
12

Description

## What happens

Creating a push notification config against a database-backed server returns a config with no `id`. Reading it back with that id raises `InvalidParamsError`.

```
create returned id = ''
get FAILED -> InvalidParamsError: Validation failed
```

The same calls against the in-memory store return `id='task-123'` and the get succeeds.

## Why

`on_create_task_push_notification_config` returns the caller's request object rather than what the store persisted (`default_request_handler.py:556`, `default_request_handler_v2.py:394`).

Both stores default an empty `id` to the task id, on different objects:

- `inmemory_push_notification_config_store.py:51` sets it on the caller's object, so `return params` carries it.
- `database_push_notification_config_store.py:292` copies first and sets it on the copy, so `params` never gets it.

The store holds the right id either way; only the response differs.

## Version

main @ d55a3d3

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.