AI SDK 7.0.102: WebRTC y runtime Live reescritos
Este patch suma WebRTC experimental para conversaciones Live y un provider unificado para OpenAI Live, pero el cambio de fondo es el runtime WebSocket de realtime, que rompe compatibilidad con lo anterior.
WebRTC directo desde el browser (experimental)
Además del WebSocket existente, podés usar WebRTC directo desde el cliente para sesiones Live delegadas, en modo experimental. El intercambio de SDP pasa por un endpoint tuyo (api.session), y los permisos del data-channel quedan del lado del servidor. La captura sigue el track del sender elegido, los tracks prestados siguen siendo del caller, y si falla la desconexión del sender de micrófono, se cierra el peer sin tocar esos tracks prestados. Todavía no hay soporte para actualizaciones de sesión Live ni para delegación de Responses.
Provider OpenAI Live unificado
Se agregó soporte experimental para OpenAI Live a través de openai.experimental_realtime, pensado para sesiones WebSocket de servidor con delegación de cliente. Tu aplicación mantiene el control de agentes y tools, y recibe eventos continuos de audio/transcript más metadata de delegación. El provider rutea automáticamente los IDs de modelos Live conocidos, permite un override de api para modelos de acceso anticipado, y conserva los defaults de Realtime legacy para IDs desconocidos. La delegación de Responses y las actualizaciones de sesión Live se rechazan antes de enviarse.
Runtime WebSocket reescrito, con breaking changes
El runtime WebSocket pasa a ser client-delegation-first, con ciclo de vida de sesión, duración final exacta, colas de eventos acotadas y tracking de acknowledgement de comandos. Se removieron el coordinador diferido de Responses, la opción autoContinueTools, el estado de uso en backend y los alias de resultado de tool para Live: si dependías de alguno de estos, tenés que migrar. sendTextMessage y addToolOutput ahora rechazan sesiones continuas explícitamente, y maxPlaybackBufferSeconds solo aplica a sesiones PCM continuas.
Fixes: tool calls denegados y cierres anormales
Se corrigió que los tool calls denegados automáticamente queden bien asentados (settled) en los UI streams, en vez de quedar colgados. También se empezaron a reportar los códigos y razones de cierre anormal del WebSocket de realtime a través del camino de error de sesión, lo que te da más información para diagnosticar cortes de conexión.
Qué te llevas
WebRTC directo y el provider OpenAI Live son experimentales: no son para meter en producción todavía.
El runtime WebSocket de realtime tiene cambios que rompen compatibilidad, especialmente si usabas autoContinueTools o los alias de resultado Live.
Si viste tool calls denegados que quedaban colgados en UI streams, este patch lo arregla.
Ahora tenés visibilidad real de por qué se cierra una sesión WebSocket de realtime de forma anormal.
¿Quieres una clase de esto?
Si varias personas lo piden, entra al programa. No hace falta dejar mail ni nombre.