pub struct HandoffBuilder { /* private fields */ }Expand description
Builder for a handoff workflow. Rust analogue of HandoffBuilder.
let workflow = HandoffBuilder::new()
.participant("triage", triage)
.participant("billing", billing)
.initial_agent("triage")
.add_handoff("triage").to(["billing"])
.autonomous()
.build()?;Implementations§
Source§impl HandoffBuilder
impl HandoffBuilder
Sourcepub fn new() -> HandoffBuilder
pub fn new() -> HandoffBuilder
Create an empty builder.
Sourcepub fn participant(
self,
name: impl Into<String>,
agent: Arc<dyn SupportsAgentRun>,
) -> HandoffBuilder
pub fn participant( self, name: impl Into<String>, agent: Arc<dyn SupportsAgentRun>, ) -> HandoffBuilder
Register a participant by name.
Sourcepub fn participants(
self,
participants: impl IntoIterator<Item = (String, Arc<dyn SupportsAgentRun>)>,
) -> HandoffBuilder
pub fn participants( self, participants: impl IntoIterator<Item = (String, Arc<dyn SupportsAgentRun>)>, ) -> HandoffBuilder
Register several participants as (name, agent) pairs.
Sourcepub fn initial_agent(self, name: impl Into<String>) -> HandoffBuilder
pub fn initial_agent(self, name: impl Into<String>) -> HandoffBuilder
Designate the entry-point agent that first receives user input.
Sourcepub fn coordinator(self, name: impl Into<String>) -> HandoffBuilder
pub fn coordinator(self, name: impl Into<String>) -> HandoffBuilder
Alias for HandoffBuilder::initial_agent (Python’s set_coordinator).
Sourcepub fn add_handoff(self, source: impl Into<String>) -> HandoffEdgeBuilder
pub fn add_handoff(self, source: impl Into<String>) -> HandoffEdgeBuilder
Begin a handoff edge from source; complete it with
HandoffEdgeBuilder::to.
Sourcepub fn interaction_mode(self, mode: HandoffInteractionMode) -> HandoffBuilder
pub fn interaction_mode(self, mode: HandoffInteractionMode) -> HandoffBuilder
Set the interaction mode.
Sourcepub fn autonomous(self) -> HandoffBuilder
pub fn autonomous(self) -> HandoffBuilder
Run autonomously (single-shot): complete on the first non-handoff answer.
Sourcepub fn with_user_input_request(self) -> HandoffBuilder
pub fn with_user_input_request(self) -> HandoffBuilder
Request fresh user input between turns (the default).
Sourcepub fn max_iterations(self, limit: usize) -> HandoffBuilder
pub fn max_iterations(self, limit: usize) -> HandoffBuilder
Cap the number of agent turns per user message (Python’s autonomous turn limit; default 50).
Sourcepub fn termination_condition<F>(self, condition: F) -> HandoffBuilder
pub fn termination_condition<F>(self, condition: F) -> HandoffBuilder
Set a termination condition evaluated against the conversation.
Sourcepub fn request_prompt(self, prompt: impl Into<String>) -> HandoffBuilder
pub fn request_prompt(self, prompt: impl Into<String>) -> HandoffBuilder
Set the prompt shown when requesting user input.
Sourcepub fn name(self, name: impl Into<String>) -> HandoffBuilder
pub fn name(self, name: impl Into<String>) -> HandoffBuilder
Set the workflow name.