Route an incoming agent→user chat message to the panel.
Send text to the appropriate agent via io/chat.
text
io/chat
Opens the chat panel if it isn't already visible so the user immediately sees their message and the typing indicator.
Wire in a WSChatClient so send() can use direct WebSocket when available.
Route an incoming agent→user chat message to the panel.