fix(core): add explicit empty log guard in A2A pushMessage (#26198)

This commit is contained in:
Adam Weidman
2026-04-29 13:06:18 -04:00
committed by GitHub
parent 7ab932c8bf
commit 2cf0c75a04
2 changed files with 23 additions and 1 deletions
+22
View File
@@ -585,5 +585,27 @@ describe('a2aUtils', () => {
status: 'completed',
});
});
it('should correctly push the first message when messageLog is empty (Issue #24894)', () => {
const reassembler = new A2AResultReassembler();
const message: Message = {
kind: 'message',
role: 'agent',
messageId: 'm1',
parts: [{ kind: 'text', text: 'First message' }],
};
reassembler.update({
kind: 'status-update',
contextId: 'ctx1',
status: {
state: 'working',
message,
},
} as unknown as SendMessageResult);
expect(reassembler.toString()).toBe('First message');
});
});
});
+1 -1
View File
@@ -126,7 +126,7 @@ export class A2AResultReassembler {
if (!message) return;
if (message.role === 'user') return; // Skip user messages reflected by server
const text = extractPartsText(message.parts, '');
if (text && this.messageLog[this.messageLog.length - 1] !== text) {
if (text && this.messageLog.at(-1) !== text) {
this.messageLog.push(text);
}
}