OptionalconversationDetailId: stringThe run's reply row. When set, every message carries it as
conversationDetailId, not only the completion, so a client that reconnects mid-run can
find its row. When omitted, messages are as before.
Latest run observed from a progress event, including steps that are not published.
AgentRunner's progress callback. Noise steps are kept for AgentRun and not published.
AgentRunner's streaming callback. Publishes nothing until a progress event has carried the run.
Completion for a failure that has no run result. executeAIAgent sends it when the run
throws (the agent could not start, the run failed, or its reply could not be saved), so a
fire-and-forget client learns the reason. A host uses it the same way: when the turn throws
instead of returning a result, call PublishFailure with the reply row's id
and the error. That completion is what tells the chat the reply finished.
The partial result, then the completion. conversationDetailId is the reply row the
chat should update. When omitted, the completion uses the run's own detail id.
OptionalconversationDetailId: stringOptionalresultJson: string
Session stamped on the message body. Defaults to the payload's session. The push itself is always addressed to
userPayload.sessionId, matching the resolver.