pub struct HandoffRequest {
pub call_id: String,
pub child_agent_id: String,
pub reason: String,
pub max_carry: usize,
pub carried_context: Vec<Message>,
}Expand description
Parsed __handoff_to arguments, surfaced as
crate::TurnResult::handoff.
The control plane consumes this to:
- Slice the parent’s transcript per
HandoffRequest::carried_context(the agent crate has already done the slicing). - Sign-and-write a
Handoffevent to the parent’s eventlog partition. - Create the child
Conversationresource.
Fields§
§call_id: StringTool-call id the provider assigned to the __handoff_to call. Echoed
back to the provider on the parent’s next turn as the tool_result
id, so the function-calling loop on the parent’s resumed turn sees a
matched call → result pair (otherwise the provider rejects the turn
for a dangling call).
child_agent_id: StringThe model’s chosen child agent identifier.
reason: StringOptional free-form reason captured for operator visibility.
max_carry: usizeSliding-window cap on the carried transcript. The runtime applies it against the current turn’s transcript when packaging the handoff.
carried_context: Vec<Message>The pre-sliced carried transcript — the last max_carry messages of
the parent’s transcript at the moment of the handoff call. Stored as
llm messages; the control plane maps them to wire Messages on the
way into the Handoff event payload.
Trait Implementations§
Source§impl Clone for HandoffRequest
impl Clone for HandoffRequest
Source§fn clone(&self) -> HandoffRequest
fn clone(&self) -> HandoffRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more