WebChat TTS: add explicit routing/playback logs and user-visible delivery status
Problem
When TTS is triggered from WebChat, operators may see a tool-level success signal but still get no audible output and no downloadable media. Current logs do not clearly show where the WebChat TTS pipeline failed (generation vs routing vs delivery/playback).
Request
Please add explicit structured telemetry (and ideally UI status) for WebChat TTS pipeline stages:
tts.generate.started
tts.generate.succeeded (provider/model/audio metadata)
tts.route.selected (e.g., webchat inline playback, media attachment, local speaker)
tts.delivery.succeeded or tts.delivery.failed (with reason/error code)
- Correlation id linking tool invocation to channel delivery events
Why this helps
This makes it straightforward to distinguish:
- synthesis failures
- channel routing failures
- browser playback policy limitations
- attachment/media delivery failures
Acceptance criteria
- Each WebChat TTS trigger emits a clear route + outcome event in gateway logs.
- Failures include actionable reason codes/messages.
- (Optional but ideal) WebChat UI surfaces final TTS delivery status to the user.
Context
Related bug report with repro/environment details: #57296
WebChat TTS: add explicit routing/playback logs and user-visible delivery status
Problem
When TTS is triggered from WebChat, operators may see a tool-level success signal but still get no audible output and no downloadable media. Current logs do not clearly show where the WebChat TTS pipeline failed (generation vs routing vs delivery/playback).
Request
Please add explicit structured telemetry (and ideally UI status) for WebChat TTS pipeline stages:
tts.generate.startedtts.generate.succeeded(provider/model/audio metadata)tts.route.selected(e.g., webchat inline playback, media attachment, local speaker)tts.delivery.succeededortts.delivery.failed(with reason/error code)Why this helps
This makes it straightforward to distinguish:
Acceptance criteria
Context
Related bug report with repro/environment details: #57296