multica/packages
Jiang Bohan 8d6a803739 fix(agent): filter heartbeat ACK messages from desktop event stream
The heartbeat runner uses agent.write() (normal write), so heartbeat
ACK responses like "HEARTBEAT_OK" were not suppressed by the internal
run filter and leaked into the desktop UI chat. The Gateway path was
already fixed (Hub has delayed-start + isHeartbeatAckEvent filtering),
but the local Desktop path through AsyncAgent had no such filtering.

Add createFilteredHandler() to AsyncAgent that buffers message_start
for assistant messages and checks subsequent events with
isHeartbeatAckEvent(). Pure heartbeat ACKs are suppressed end-to-end;
all other messages are forwarded normally.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 19:34:23 +08:00
..
core fix(agent): filter heartbeat ACK messages from desktop event stream 2026-02-11 19:34:23 +08:00
hooks refactor: restructure to monorepo architecture 2026-02-10 18:00:23 +08:00
sdk refactor: restructure to monorepo architecture 2026-02-10 18:00:23 +08:00
store refactor: restructure to monorepo architecture 2026-02-10 18:00:23 +08:00
types refactor: restructure to monorepo architecture 2026-02-10 18:00:23 +08:00
ui feat(ui): show task context for sessions_spawn in chat UI 2026-02-11 16:59:16 +08:00
utils refactor: restructure to monorepo architecture 2026-02-10 18:00:23 +08:00