pub struct AgentBuilder { /* private fields */ }Implementations§
Source§impl AgentBuilder
impl AgentBuilder
pub fn provider(self, p: impl Provider + 'static) -> Self
Sourcepub fn provider_boxed(self, p: Box<dyn Provider>) -> Self
pub fn provider_boxed(self, p: Box<dyn Provider>) -> Self
Accept a pre-boxed provider. Useful when the caller already has a
Box<dyn Provider> (e.g., the delegation primitive, which builds
child providers via a factory closure).
pub fn tool(self, t: impl Tool + 'static) -> Self
pub fn tools(self, ts: Vec<Box<dyn Tool>>) -> Self
pub fn system_prompt(self, s: impl Into<String>) -> Self
pub fn append_system_prompt(self, s: impl Into<String>) -> Self
pub fn model(self, m: impl Into<String>) -> Self
pub fn max_turns(self, n: u32) -> Self
pub fn max_tokens(self, n: u32) -> Self
pub fn temperature(self, t: f32) -> Self
pub fn thinking_budget(self, tokens: u32) -> Self
pub fn working_dir(self, p: impl Into<PathBuf>) -> Self
pub fn permission_policy(self, p: impl PermissionPolicy + 'static) -> Self
pub fn memory(self, m: impl Memory + 'static) -> Self
pub fn session_id(self, id: impl Into<String>) -> Self
pub fn hook(self, h: impl Hook + 'static) -> Self
pub fn mcp_server(self, config: McpServerConfig) -> Self
pub fn on_event(self, f: impl Fn(&AgentEvent) + Send + Sync + 'static) -> Self
pub fn enable_broadcast(self, capacity: usize) -> Self
pub fn reporter(self, r: impl Reporter + 'static) -> Self
pub fn event_filter( self, f: impl Fn(&AgentEvent) -> bool + Send + Sync + 'static, ) -> Self
pub fn cancel_token(self, token: CancellationToken) -> Self
pub fn auto_compact(self, enabled: bool) -> Self
pub fn compact_threshold(self, threshold: f64) -> Self
pub fn tool_result_budget(self, chars: usize) -> Self
Sourcepub fn turns_elapsed_cadence(self, n: u32) -> Self
pub fn turns_elapsed_cadence(self, n: u32) -> Self
Set the tool-output compression level (default Off). Compression is
applied to each tool result before the per-result cap and the overall
tool-result budget run.
How often HookEvent::TurnsElapsed fires (default 10). Set to 0 to
disable. Used by skill-nudge hooks for agent-curated skill review.
pub fn compression_level(self, level: CompressionLevel) -> Self
Sourcepub fn with_messages(self, msgs: Vec<Message>) -> Self
pub fn with_messages(self, msgs: Vec<Message>) -> Self
Pre-populate conversation history (for provider switching mid-session).
Sourcepub fn benchmark_mode(self, enabled: bool) -> Self
pub fn benchmark_mode(self, enabled: bool) -> Self
Enable benchmark mode (self-verification loop for terminal-bench).
pub fn build(self) -> Result<Agent>
Sourcepub async fn run_with(self, prompt: &str) -> Result<AgentOutput>
pub async fn run_with(self, prompt: &str) -> Result<AgentOutput>
Build + run in one shot.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AgentBuilder
impl !RefUnwindSafe for AgentBuilder
impl Send for AgentBuilder
impl Sync for AgentBuilder
impl Unpin for AgentBuilder
impl UnsafeUnpin for AgentBuilder
impl !UnwindSafe for AgentBuilder
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
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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>
Converts
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>
Converts
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