/** * Streaming audio playback support for assistant DataBlocks. * * Omni-style models (e.g. qwen3.5-omni-plus) deliver speech as a stream of * DATA_BLOCK_DELTA events carrying base64 audio bytes for one logical * DataBlock. This module routes those chunks to two playback paths: * * 1. **Live chunked playback** — only for audio/wav. We parse the RIFF * header from the first chunk and schedule subsequent PCM bytes onto a * Web Audio timeline as they arrive, so the assistant starts speaking * the moment the first chunk arrives — without waiting for * DATA_BLOCK_END, which the agent only emits after the *entire* model * stream (including text) finishes. * * 2. **Buffered final playback** — for non-wav formats (mp3/opus/etc.) we * accumulate bytes and, on DATA_BLOCK_END, build a Blob URL that backs * autoplay + an ``