a2aproject / a2aproject/a2a-js

[Bug]: REST create push config ignores path taskId

Open
#680 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
613
Forks
169
Avg merge
1d 6h
Merged PRs (30d)
21

Description

### What happened?

`POST /tasks/:taskId/pushNotificationConfigs` parses only the JSON body (`TaskPushNotificationConfig.fromJSON(req.body)`). `req.params.taskId` is never copied onto the config. `fromJSON` defaults a missing taskId to `""`, and after #629 empty IDs are `RequestMalformedError`.

The proto HTTP mapping is `post: "/tasks/{task_id=*}/pushNotificationConfigs"` with `body: "*"`, so transcoding clients put task_id in the URL and may omit it from the body. Same-SDK RestTransport sends taskId in both places, which is why in-repo tests pass. The v0.3 Express handler has the same hole.

**Repro**
Create a task, then `POST /tasks//pushNotificationConfigs` with body `{ "url": "https://example.test/hook" }` and no taskId field.

Observed: 400 "Task ID is required".
Expected: 201 and a stored config whose taskId is the path id.

### Relevant log output

n/a.

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

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.