a2aproject / a2aproject/a2a-js

[Bug]: sendMessage persists follow-up history before the required-extension check

Open
#684 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?

`_createRequestContext` appends `incomingMessage` to history and `save()`s, then later throws `ExtensionSupportRequiredError` if a required extension is missing. Existing tests only cover new messages (`taskId: ""`), so the follow-up path is untested.

A client that forgets a required extension on a follow-up still permanently appends that message. Later getTask/listTasks/resubscribe show a message the server refused to execute.

**Repro**
1. Create a task.
2. Configure the agent card with a required extension.
3. sendMessage a follow-up with that taskId and no A2A-Extensions.

Observed: the call throws, but `taskStore.load(taskId).history` already contains the follow-up.
Expected: history unchanged.

### 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.