pub struct ToolWorkflowIntegration { /* private fields */ }Expand description
Tool workflow integration for agents
This struct provides integration between MCP tools and agent workflows, enabling sequential and parallel tool execution.
Implementations§
Source§impl ToolWorkflowIntegration
impl ToolWorkflowIntegration
Sourcepub fn new(capabilities: Arc<AgentToolCapabilities>) -> Self
pub fn new(capabilities: Arc<AgentToolCapabilities>) -> Self
Creates a new tool workflow integration
Sourcepub async fn execute_tool(
&self,
context: &ToolExecutionContext,
tool_id: &str,
parameters: HashMap<String, Value>,
) -> Result<ToolExecutionResult>
pub async fn execute_tool( &self, context: &ToolExecutionContext, tool_id: &str, parameters: HashMap<String, Value>, ) -> Result<ToolExecutionResult>
Executes a single tool in the workflow
Sourcepub async fn execute_tools_sequential(
&self,
context: &ToolExecutionContext,
tools: Vec<(String, HashMap<String, Value>)>,
) -> Result<Vec<ToolExecutionResult>>
pub async fn execute_tools_sequential( &self, context: &ToolExecutionContext, tools: Vec<(String, HashMap<String, Value>)>, ) -> Result<Vec<ToolExecutionResult>>
Executes multiple tools sequentially
Sourcepub async fn execute_tools_parallel(
&self,
_context: &ToolExecutionContext,
tools: Vec<(String, HashMap<String, Value>)>,
) -> Result<Vec<ToolExecutionResult>>
pub async fn execute_tools_parallel( &self, _context: &ToolExecutionContext, tools: Vec<(String, HashMap<String, Value>)>, ) -> Result<Vec<ToolExecutionResult>>
Executes multiple tools in parallel
Sourcepub fn get_available_tools(&self) -> Vec<ToolMetadata>
pub fn get_available_tools(&self) -> Vec<ToolMetadata>
Gets available tools for the agent
Sourcepub fn get_tool_documentation(&self, tool_id: &str) -> Option<String>
pub fn get_tool_documentation(&self, tool_id: &str) -> Option<String>
Gets tool documentation
Auto Trait Implementations§
impl Freeze for ToolWorkflowIntegration
impl !RefUnwindSafe for ToolWorkflowIntegration
impl Send for ToolWorkflowIntegration
impl Sync for ToolWorkflowIntegration
impl Unpin for ToolWorkflowIntegration
impl !UnwindSafe for ToolWorkflowIntegration
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