#[macro_export]
macro_rules! attach_core_tools {
($builder:expr) => {{
use $crate::agents::debug_tool::DebugTool;
use $crate::agents::tools::{
CodeSearch, FileRead, GitChangedFiles, GitDiff, GitLog, GitStatus, ProjectDocs,
};
$builder
.tool(DebugTool::new(GitStatus))
.tool(DebugTool::new(GitDiff))
.tool(DebugTool::new(GitLog))
.tool(DebugTool::new(GitChangedFiles))
.tool(DebugTool::new(FileRead))
.tool(DebugTool::new(CodeSearch))
.tool(DebugTool::new(ProjectDocs))
}};
}
pub const CORE_TOOLS: &[&str] = &[
"git_status",
"git_diff",
"git_log",
"git_changed_files",
"file_read",
"code_search",
"project_docs",
];
pub use attach_core_tools;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn core_tools_count() {
assert_eq!(CORE_TOOLS.len(), 7);
}
}