Chat (sin streaming)
Envia un mensaje y espera la respuesta completa:Stream (tiempo real)
Envia un mensaje y recibe eventos conforme llegan:Tipos de evento
El SDK soporta 12 tipos de eventos SSE:| Tipo | Descripcion | Campos clave |
|---|---|---|
meta | Metadata inicial del stream | conversationId |
status | Mensaje de estado del agente | text |
content.delta | Fragmento de texto de la respuesta | delta |
tool.start | Inicio de ejecucion de una tool | tool |
tool.end | Fin de ejecucion de una tool | tool, success |
action | Accion HITL requerida | action: PendingAction |
handoff | Conversacion escalada a humano | message, agentName?, reason? |
response.completed | Respuesta completa con metadata | message, insights[], metadata |
message_stop | Generacion del modelo finalizada | model, usage |
rate_limit | Rate limit alcanzado | message, retryAfter |
error | Error durante el stream | message |
keepalive | Ping periodico (mantiene conexion) | ts |
Orden tipico de eventos
Resultado final
Despues de consumir el stream, puedes acceder al resultado completo usando uno de estos metodos:Insights
Las respuestas pueden incluir insights extraidos automaticamente del contexto de la conversacion:Estado del stream
El stream expone su estado actual:| Estado | Significado |
|---|---|
streaming | Recibiendo eventos |
completed | Stream finalizo correctamente |
awaiting_action | El agente requiere una accion HITL |
handoff | La conversacion fue escalada a un agente humano |
error | Ocurrio un error |
aborted | El stream fue cancelado |
Cancelar un stream
AbortSignal:
Conversaciones
Mantiene el contexto entre mensajes usandoconversationId:
Callback alternativo
Si prefieres callbacks en vez defor await, puedes usar onEvent:

