Saltar al contenido principal
Pasa un manejador de eventos a una ejecución o continuación para recibir un evento cuando empieza la ejecución, cuando empieza y termina cada turno del modelo, cuando se ejecuta cada herramienta, cuando la ejecución se pone en pausa y cuando termina. Úsalo para actualizar tu interfaz, escribir registros de auditoría o alimentar tu telemetría existente.

Dónde va el manejador y qué recibe

Eventos que emite el runtime

Las claves de detalle aparecen abajo en snake_case; TypeScript usa la forma camelCase. Rust 0.2 usa sus propios nombres para algunos eventos: Una ejecución que termina por una condición de parada envía run.stopped en TypeScript y ningún evento final en Python, Go, C#, PHP, Ruby ni Java; lee en su lugar el estado de la ejecución. En TypeScript, step.completed se envía después de guardar el punto de control del paso, así que los consumidores de persistencia y de telemetría pueden tratarlo como un límite estable.

Eventos del stream

Con streaming, los mismos eventos del ciclo de vida llegan junto a los eventos response.* del modelo. En TypeScript, Python, Go, C# y Java los recibe el manejador; en PHP y Ruby también aparecen en fullStream() / full_stream. Rust no tiene streaming. En Streaming se explican los consumidores del stream.

Mantén los manejadores rápidos

El runtime espera al manejador antes de continuar, así que devuelve el control rápido y pasa a una cola el trabajo lento de almacenamiento o de red. Oculta las entradas y salidas sensibles de las herramientas antes de que los eventos salgan de tu proceso.

Elige los eventos para la interfaz de un producto

Usa response.output_text.delta para el texto de la respuesta en directo, los eventos de herramientas para las tarjetas de llamadas a herramientas y los indicadores de progreso, run.waiting_for_human (Rust: run.paused) para mostrar los controles de aprobación o de entrada, y los eventos finales de la ejecución para cerrar los estados de carga. Para tener un registro local de ejecuciones completas durante el desarrollo, usa DevTools.
Última modificación el 5 de noviembre de 2026