Onde fica o handler e o que ele recebe
Eventos que o runtime emite
As chaves de detalhes estão listadas abaixo em snake_case; o TypeScript usa a forma em camelCase.
O Rust
0.2 usa nomes próprios para alguns eventos:
Uma execução que termina por uma condição de parada envia
run.stopped no TypeScript e nenhum evento final no Python, Go, C#, PHP, Ruby ou Java; nesses casos, leia o status da execução. No TypeScript, step.completed é enviado depois que a etapa recebeu um checkpoint, então os consumidores de persistência e telemetria podem tratá-lo como uma fronteira estável.
Eventos de stream
Com streaming, os mesmos eventos do ciclo de vida chegam junto com os eventosresponse.* do modelo. No TypeScript, Python, Go, C# e Java o handler os recebe; no PHP e no Ruby eles também aparecem em fullStream() / full_stream. O Rust não tem streaming. Streaming cobre os consumidores de stream.
Mantenha os handlers rápidos
O runtime espera o handler antes de continuar, então retorne rápido e mova o trabalho lento de armazenamento ou de rede para uma fila. Oculte entradas e saídas sensíveis das ferramentas antes que os eventos saiam do seu processo.Escolha eventos para a interface de um produto
Useresponse.output_text.delta para o texto da resposta ao vivo, os eventos de ferramenta para cards de chamada de ferramenta e indicadores de progresso, run.waiting_for_human (Rust: run.paused) para mostrar controles de aprovação ou de entrada e os eventos finais da execução para encerrar os estados de carregamento. Para um registro local de execuções inteiras durante o desenvolvimento, use o DevTools.