Eventos do ciclo de vida
Userun_with_events(...) ou continue_with_events(...) para receber eventos de forma síncrona:
run.startedmodel.request.startedmodel.response.completedtool.startedtool.completedrun.pausedrun.resumedrun.completedrun.stopped
Novas tentativas do modelo
max_retries conta as tentativas adicionais após a primeira solicitação. RunStep.model_attempts registra quantas tentativas foram necessárias para obter uma resposta válida do modelo.
Uso
RunResult.usage agrega:
input_tokensoutput_tokenscached_tokenstotal_tokenscost, quando o cliente do modelo o preencher
RunStep também contém seu próprio resumo de uso, ID da solicitação, provedor, modelo e motivo de encerramento.
O adaptador integrado do Gateway 0.1 não mapeia cost_nanos nem cost_cents do Gateway para UsageSummary.cost. Consulte a resposta do Gateway ou o registro da geração quando precisar do valor exato gasto.
Erros
Todas as falhas do runtime usamAgentError:
PhaseoError do Gateway são convertidos em AgentError. Se uma aplicação precisar do status e do corpo originais do Gateway, chame o cliente phaseo diretamente ou implemente um ModelClient personalizado que preserve esses campos no tratamento de erros.
Erros do executor de ferramentas local são retornados ao modelo como resultados de ferramenta, em vez de encerrar a execução imediatamente.
Limites de etapas
AgentDefinition::max_steps(...) define o limite padrão de turnos do modelo. Substitua-o em uma execução específica:
run.status será stopped e run.stop_reason será max_steps:<limit>.