pub mod audio_transcription;
pub mod bash;
pub mod calculator;
pub mod code_search;
pub mod echo;
pub mod file_extract;
pub mod file_read;
pub mod file_write;
pub mod generate_code;
pub mod graph;
pub mod grep;
pub mod prompt;
pub mod rg;
pub mod search;
pub mod shell;

#[cfg(feature = "api")]
pub mod web_search;

#[cfg(feature = "web-scraping")]
pub mod web_scraper;

#[cfg(feature = "api")]
pub mod mesh_communication;

#[cfg(feature = "api")]
pub mod collective;

pub use audio_transcription::AudioTranscriptionTool;
pub use bash::BashTool;
pub use calculator::MathTool;
pub use code_search::CodeSearchTool;
pub use echo::EchoTool;
pub use file_extract::FileExtractTool;
pub use file_read::FileReadTool;
pub use file_write::FileWriteTool;
pub use generate_code::GenerateCodeTool;
pub use graph::GraphTool;
pub use grep::GrepTool;
pub use prompt::PromptUserTool;
pub use rg::RgTool;
pub use search::SearchTool;
pub use shell::ShellTool;

#[cfg(feature = "api")]
pub use web_search::WebSearchTool;

#[cfg(feature = "web-scraping")]
pub use web_scraper::WebScraperTool;

#[cfg(feature = "api")]
pub use mesh_communication::{GetMessagesTool, QueryMeshTool, SendMessageTool};

#[cfg(feature = "api")]
pub use collective::{
    CastVoteTool, CreateWorkflowTool, DelegateTaskTool, QueryCapabilitiesTool,
    ReportStageResultTool, ShareCapabilitiesTool, ShareStrategyTool, SubmitProposalTool,
};
