AI SDK SSE heartbeat vs Sume jobs_wait 55s slices

AI SDK 7.0.123 adds optional SSE heartbeats for idle UI streams. Sume's jobs_wait is capped at 55s per call, so you still repeat it with the same ids.

4 min readSume
All posts

The AI SDK heartbeat keeps your browser-facing UI message stream open while it is idle. It does not change how long one Sume jobs_wait call may block. Over remote MCP each call holds at most 55 seconds, so a long video needs several calls with the same job ids.

The release note is from the Vercel AI releases page (ai@7.0.123: "keep idle UI message streams open with optional SSE heartbeats"). Job behavior is from Sume's Jobs and results, read 2026-09-30. The release note gives no option names, so see the package docs for how to enable it.

Which connection does each one affect?

Two separate limits, from the sources read 2026-09-30
LimitWhere it livesWhat you do
Idle UI message streamBetween your server and the browserEnable the optional SSE heartbeat
jobs_wait sliceOne MCP call to Sume, max 55s (default 50)On wait_slice_expired, call again

What do I do when a slice expires?

Retry jobs_wait with the same ids. The docs say never to resubmit the paid create. Resubmitting is the costly mistake, because the first job is still running.

What if I wait on several jobs?

Use job_ids (1 to 20) in one batch wait. With wait_for: "any", the response still reports every id, and the remaining jobs continue and still bill. Related: closing the MCP client in onEnd.

Can a heartbeat make a wait longer?

Nothing in either source says so. The docs add that an HTTP request held for 600 seconds dies at the edge with a 502 or Transport send error before it can answer, which is why the server caps slices.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume