Muestra una línea de tiempo en streaming
Tipos de elemento de TypeScript
AgentItem<TOutput> es una unión discriminada, y TypeScript acota cada elemento a partir de su type:
Los elementos creados a partir de la salida del proveedor también conservan la carga original en
rawProviderItem, para el campo poco habitual que los tipos portables no incluyen. Basa la lógica del producto en los campos portables, porque rawProviderItem varía según el proveedor.
Tipos de evento en los demás lenguajes
Go, C#, PHP, Ruby y Java entregan los mismos tipos de evento. Elitem_stream() de Python produce los elementos del proveedor y del runtime como dicts con una clave type.
Dónde están los campos depende del lenguaje:
Ninguno de ellos es una unión tipada, así que valida los campos que usa tu interfaz, aísla el análisis específico de cada proveedor detrás de un único adaptador y mantén un caso por defecto para tipos desconocidos. En Go, C# y Java, los eventos del stream del modelo llevan el ID de ejecución
"stream"; usa los eventos del ciclo de vida para obtener el ID real de la ejecución. La lista completa de eventos del ciclo de vida está en Hooks del ciclo de vida.
Reconstruye una línea de tiempo después de la ejecución
El historial de eventos sigue siendo legible cuando termina la ejecución, así que un consumidor puede mostrar los eventos mientras otro los guarda, sin una segunda solicitud al modelo. Para tener una línea de tiempo duradera, guarda el resultado de la ejecución completada:- TypeScript
- Python
- Go
- C#
- PHP
- Ruby
- Java
- Rust
El resultado completado tiene en
items los mismos elementos ordenados que el stream: