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 moreAuto Trait Implementations§
impl Freeze for HandoffRequest
impl RefUnwindSafe for HandoffRequest
impl Send for HandoffRequest
impl Sync for HandoffRequest
impl Unpin for HandoffRequest
impl UnsafeUnpin for HandoffRequest
impl UnwindSafe for HandoffRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more