let text = ''; let stalled; const resetStall = () => { clearTimeout(stalled); // A stream that simply stops emitting never "fails" on its own stalled = setTimeout(() => controller.abort(), 30_000); }; for await (const event of stream) { resetStall(); switch (event.type) { case 'content_block_delta': text += event.delta.text ?? ''; // APPEND, never assign break; case 'content_block_stop': render(text); // flush here, not per delta break; case 'error': // Text may already be on screen — say it is incomplete showPartialWarning(text, event.error); break; } } clearTimeout(stalled);