pub struct ConfigurableAgentBuilder { /* private fields */ }
Expand description
Builder API to assemble a DeepAgent in a single fluent flow, mirroring the Python
create_configurable_agent
experience. Prefer this for ergonomic construction.
Implementations§
Source§impl ConfigurableAgentBuilder
impl ConfigurableAgentBuilder
pub fn new(instructions: impl Into<String>) -> ConfigurableAgentBuilder
Sourcepub fn with_model(
self,
model: Arc<dyn LanguageModel>,
) -> ConfigurableAgentBuilder
pub fn with_model( self, model: Arc<dyn LanguageModel>, ) -> ConfigurableAgentBuilder
Set the language model for the agent (mirrors Python’s model
parameter)
Sourcepub fn with_planner(
self,
planner: Arc<dyn PlannerHandle>,
) -> ConfigurableAgentBuilder
pub fn with_planner( self, planner: Arc<dyn PlannerHandle>, ) -> ConfigurableAgentBuilder
Low-level planner API (for advanced use cases)
Sourcepub fn with_openai_chat(
self,
config: OpenAiConfig,
) -> Result<ConfigurableAgentBuilder, Error>
pub fn with_openai_chat( self, config: OpenAiConfig, ) -> Result<ConfigurableAgentBuilder, Error>
Convenience method for OpenAI models (equivalent to model=OpenAiChatModel)
Sourcepub fn with_anthropic_messages(
self,
config: AnthropicConfig,
) -> Result<ConfigurableAgentBuilder, Error>
pub fn with_anthropic_messages( self, config: AnthropicConfig, ) -> Result<ConfigurableAgentBuilder, Error>
Convenience method for Anthropic models (equivalent to model=AnthropicMessagesModel)
Sourcepub fn with_gemini_chat(
self,
config: GeminiConfig,
) -> Result<ConfigurableAgentBuilder, Error>
pub fn with_gemini_chat( self, config: GeminiConfig, ) -> Result<ConfigurableAgentBuilder, Error>
Convenience method for Gemini models (equivalent to model=GeminiChatModel)
Sourcepub fn with_tool(self, tool: Arc<dyn Tool>) -> ConfigurableAgentBuilder
pub fn with_tool(self, tool: Arc<dyn Tool>) -> ConfigurableAgentBuilder
Add a tool to the agent
Sourcepub fn with_tools<I>(self, tools: I) -> ConfigurableAgentBuilder
pub fn with_tools<I>(self, tools: I) -> ConfigurableAgentBuilder
Add multiple tools
pub fn with_subagent_config<I>(self, cfgs: I) -> ConfigurableAgentBuilderwhere
I: IntoIterator<Item = SubAgentConfig>,
Sourcepub fn with_subagent_tools<I>(self, tools: I) -> ConfigurableAgentBuilder
pub fn with_subagent_tools<I>(self, tools: I) -> ConfigurableAgentBuilder
Convenience method: automatically create subagents from a list of tools. Each tool becomes a specialized subagent with that single tool.
pub fn with_summarization( self, config: SummarizationConfig, ) -> ConfigurableAgentBuilder
pub fn with_tool_interrupt( self, tool_name: impl Into<String>, policy: HitlPolicy, ) -> ConfigurableAgentBuilder
pub fn with_builtin_tools<I, S>(self, names: I) -> ConfigurableAgentBuilder
pub fn with_auto_general_purpose( self, enabled: bool, ) -> ConfigurableAgentBuilder
pub fn with_prompt_caching(self, enabled: bool) -> ConfigurableAgentBuilder
pub fn with_checkpointer( self, checkpointer: Arc<dyn Checkpointer>, ) -> ConfigurableAgentBuilder
pub fn build(self) -> Result<DeepAgent, Error>
Sourcepub fn build_async(self) -> Result<DeepAgent, Error>
pub fn build_async(self) -> Result<DeepAgent, Error>
Build an agent using the async constructor alias. This mirrors the Python async_create_deep_agent entry point, while reusing the same runtime internals.
Auto Trait Implementations§
impl Freeze for ConfigurableAgentBuilder
impl !RefUnwindSafe for ConfigurableAgentBuilder
impl Send for ConfigurableAgentBuilder
impl Sync for ConfigurableAgentBuilder
impl Unpin for ConfigurableAgentBuilder
impl !UnwindSafe for ConfigurableAgentBuilder
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<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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