fix(mcp): settle run_task on socket close, not just done/error/timeout
A clean gateway WebSocket close after start but before a done/error message left run_task pending for the full 180s timeout. All terminal events (message, error, close, timeout) now go through a single guarded settle, so a lost connection is reported promptly and the result is never double-settled.
M
Michael Shimeles committed
5fc9a2855342e96a0b2241340b6fccceddb7bed8
Parent: 9cb2540