pub mod cache;
pub mod core;
pub mod error;
pub mod executor;
pub mod llm;
#[cfg(feature = "rmcp-kits")]
pub mod rmcp_kits;
pub mod prelude {
pub use async_trait::async_trait;
pub use serde::{Deserialize, Serialize};
pub use crate::toolkits::cache::{CacheEntry, CacheKey, CacheStats, ToolCallCache};
pub use crate::toolkits::core::{DynTool, FunctionTool, 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,
};