muster release v5.34.14

Fixed

  • A backend tool call, and a muster agent call, returns once answered instead of up to 90 s late. muster serve’s streamable-http clients to backends, the transport probe and muster agent could hold a call that its server had answered until the pooled connection’s 90 s idle timeout, then fail with context deadline exceeded. mcp-go closes an SSE response body while its reader is still blocked in Read, and again when the call returns. When the stream ends inside Go’s post-close drain, the reader waits for the connection’s read loop while holding the body’s lock, the connection goes back to the pool, and the second close and the next response on that connection wait until it is reaped. These clients now never close an SSE body under a blocked reader: the close returns at once, a stream that ends within 100 ms ends cleanly and keeps its connection, and one that stays open is cancelled, which discards the connection and releases the reader. Tests drive the frame through each client; they fail before the change and pass under -race. (#1388)