mod cache;
pub mod core;
pub mod error;
pub mod executor;
pub mod llm;
pub use cache::CacheStats;
#[cfg(feature = "rmcp-kits")]
pub mod rmcp_kits;
pub mod prelude {
pub use async_trait::async_trait;
pub use serde::{Deserialize, Serialize};
#[cfg(feature = "mcp")]
pub use crate::mcp::*;
pub use crate::toolkits::CacheStats;
pub use crate::toolkits::core::{
DynTool, FunctionTool, ToolHandler, ToolMetadata, conversions,
};
pub use crate::toolkits::error::{ToolError, ToolResult, error_context};
pub use crate::toolkits::executor::{
ExecutionConfig, ExecutionResult, ExecutorBuilder, ToolExecutor,
};
pub use crate::toolkits::llm::{
LlmToolCall, parse_first_tool_call, parse_tool_calls, parse_tool_calls_from_message,
};
#[cfg(feature = "rmcp-kits")]
pub use crate::toolkits::rmcp_kits::{
McpToolCaller, call_mcp_tool, call_mcp_tools_collect, call_tool_result_to_json,
mcp_tool_to_function, mcp_tools_to_functions,
};
}
pub use crate::toolkits::{
core::{FunctionTool, ToolMetadata},
error::{ToolError, ToolResult},
executor::ToolExecutor,
};