Fix Redis transport refactoring with control message system

- Fix timing issue by awaiting startServerListeningToRedis
- Add request-id based response channel routing
- Implement control message system for proper server shutdown
- Add comprehensive integration tests
- Ensure response subscription is established before message sending
- Fix MCP server cleanup integration to prevent async hanging

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jerome 2025-07-04 17:23:54 +01:00
commit de8c4a4ed2
No known key found for this signature in database

View file

@ -44,7 +44,7 @@ export async function handleStreamableHTTP(req: Request, res: Response) {
const server = createMcpServer();
console.log('Created MCP server instance');
startServerListeningToRedis(server.server, sessionId)
await startServerListeningToRedis(server, sessionId)
console.log('Started server listening to Redis for session:', sessionId);
({ shttpTransport, cleanup } = await getFirstShttpTransport(sessionId));