pub struct AgentBuilder { /* private fields */ }Implementations§
Source§impl AgentBuilder
impl AgentBuilder
pub fn new(client: Arc<dyn StreamClient>) -> Self
pub fn event_bus_capacity(self, capacity: usize) -> Self
pub fn session_id_generator( self, generator: Arc<dyn SessionIdGenerator>, ) -> Self
Sourcepub fn convert_to_llm(self, cb: ConvertToLlmFn) -> Self
pub fn convert_to_llm(self, cb: ConvertToLlmFn) -> Self
Set a callback to transform messages before they are sent to the LLM.
The default behavior (when None) is to filter out
[ChatMessage::Custom] variants, which most providers don’t understand.
Override this to inject custom serialization logic for application-specific
message types.
pub fn system_prompt(self, system_prompt: impl Into<String>) -> Self
Sourcepub fn enable_thought(self, enable: bool) -> Self
pub fn enable_thought(self, enable: bool) -> Self
Set whether to include the reasoning content in LLM responses.
Controls whether the reasoning_content field from the LLM is forwarded
to consumers (i.e., “show the thinking process”).
See AgentConfig::enable_thought for the distinction from enable_thinking().
pub fn reasoning(self, config: ReasoningConfig) -> Self
Sourcepub fn enable_thinking(self, enable: bool) -> Self
pub fn enable_thinking(self, enable: bool) -> Self
Set whether to enable the model’s extended thinking / reasoning mode.
Controls whether the model performs deep reasoning (i.e., “enable thinking mode”).
See AgentConfig::enable_thought for the distinction from enable_thought().
pub fn thinking_budget(self, budget: u64) -> Self
pub fn tool_timeout(self, timeout_ms: u64) -> Self
pub fn max_tool_output_chars(self, max_chars: usize) -> Self
pub fn register_tool(self, tool: impl Tool + 'static) -> Self
pub fn register_tool_arc(self, tool: Arc<dyn Tool>) -> Self
pub fn approval_handler(self, handler: Arc<dyn ApprovalHandler>) -> Self
pub fn tool_policy(self, policy: Arc<dyn ToolPolicy>) -> Self
pub fn middleware(self, mw: impl Middleware + 'static) -> Self
pub fn context_window(self, max_tokens: usize) -> Self
pub fn context_window_manager(self, manager: ContextWindowManager) -> Self
pub fn response_format(self, format: ResponseFormat) -> Self
pub fn llm_retry(self, retry: RetryConfig) -> Self
pub fn session_store(self, store: Arc<dyn SessionStore>) -> Self
pub fn error_recovery(self, recovery: Arc<dyn ToolErrorRecovery>) -> Self
pub fn max_sessions(self, max: usize) -> Self
pub fn max_turns_per_session(self, max: usize) -> Self
Sourcepub fn execution_max_turns(self, max: u32) -> Self
pub fn execution_max_turns(self, max: u32) -> Self
Cap the number of react-loop iterations allowed for a single run (one user
input). Distinct from Self::max_turns_per_session, which caps turns across
the whole session. When unset, falls back to DEFAULT_MAX_TURNS (50).